Monkey测试原理:Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
测试重点:根据给定的指令先进行全模块的monkey测试,等测试结束,查看Stability_base_err.txt,搜索关键词(crash、anr、fatal等),找出问题所在。再打开Stability_base.txt 2记住此次出问题的seed值,等开发修复此问题,再以此seed值跑monkey验证是否修复。
参数解释:
balcklist/whitelist 黑名单:不测试的应用/白名单:只测试这部分应用
pkg-blacklist-file /data/local/tmp/blacklist.txt 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP
'--throttle 1000 用于指定用户操作(即事件)间的时延,单位是毫秒,1000ms
'--ignore-crashes 用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。
'--ignore-timeouts 用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。
'--ignore-security-exceptions 用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。
'--ignore-native-crashes 忽略本地代码导致的崩溃。设置忽略后,Monkey将执行完所有的事件,不会因此停止
'--monitor-native-crashe 用于指定是否监视并报告应用程序发生崩溃的本地代码。
'-v-v-v 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别(3个v为最高日志级别)。
360000 360000为monkey测试点击次数
'-s 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。
>> /mnt/sdcard/Stability_base.txt 2>> /mnt/sdcard/Stability_base_err.txt 这两个是两份不同日志所存放的位置的路径
MONKEY专项测试
测试前提:
1) 手机初始化;
2) 连接wifi;
3) 进入设置-亮度和字体,关闭自动调节开关,自动锁屏选择不休眠;
4) (版本已默认打开,不用再打开)进入设置-辅助功能-开发人员工具,开启USB调试;
5) 开启log:
a) 移动端拨号盘输入:*#*#3646633#*#*,进入mtklog项,家庭端在wifi框内输入*#1006#,进入原生设置,进入关于平板电脑,点按5次版本号进入开发者模式,再点3次内核版本进入mtklog项;
b)点击右上角按钮进入页面,只开启MobileLog,关闭剩余项;
c)点击MobileLog进入MobileLog 页面,将Limit current Log Size和Limit Total Log Size分别 设置为4096MB、8192MB;
d)开启mtklog;
7)blacklist.txt仅为参考,可以创建whitelist.txt进行替代。
测试要求:测试机10台,根据项目要求设置执行的时间
测试内容
测试项:全模块测试
测试步骤:
1).黑名单blacklist.txt拷入手机 adb push 黑名单路径 /data/local/tmp/
2)进入cmd,打开adb 执行adb shell
3)设置免关机 setprop ro.monkey true
4)执行命令:monkey --pkg-blacklist-file /data/local/tmp/blacklist.txt --throttle 1000 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 360000 1 >> /mnt/sdcard/Stability_base.txt 2>> /mnt/sdcard/Stability_base_err.txt
5)标配充电器充电
预期结果:
1.手机是否有出现死机、异常关机(排除无电自动关机)、异常重启
2.查看Stability_base_err.txt,搜索关键词(crash、anr、fatal等,并确认问题非第三方包问题),若无,则验证通过。若有,则截取出问题下日志和相关log附在bug上。再查看Stability_base.txt,记下seed值,等下次验证问题的时候使用。
测试项:单个模块测试
测试步骤:
1)进入cmd,打开adb 执行adb shell
2)设置免关机 setprop ro.monkey true
3)执行命令:monkey --p -单个包名 --throttle 1000 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 360000 1 >> /mnt/sdcard/Stability_base.txt 2>> /mnt/sdcard/Stability_base_err.txt
5)标配充电器充电
预期结果:
1.手机是否有出现死机、异常关机(排除无电自动关机)、异常重启
2.查看Stability_base_err.txt,搜索关键词(crash、anr、fatal等,并确认问题非第三方包问题),若无,则验证通过。若有,则截取出问题下日志和相关log附在bug上。再查看Stability_base.txt,记下seed值,等下次验证问题的时候使用。
测试项:验证问题测试
测试步骤:
1).黑名单blacklist.txt拷入手机
adb push 黑名单路径 /data/local/tmp/
2)进入cmd,打开adb 执行adb shell
3)设置免关机 setprop ro.monkey true
4)执行命令:monkey --pkg-blacklist-file /data/local/tmp/blacklist.txt --throttle 1000 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -s 上次出现问题的seed值 -v -v -v 360000 1 >> /mnt/sdcard/Stability_base.txt 2>> /mnt/sdcard/Stability_base_err.txt
5)标配充电器充电
预期结果:
1.手机是否有出现死机、异常关机(排除无电自动关机)、异常重启
2.查看Stability_base_err.txt,搜索关键词(crash、anr、fatal等,并确认问题非第三方包问题),若无,则验证通过。若有,则截取出问题下日志和相关log附在bug上。