monkey命令:用于向系统发送伪随机的用户事件流。通过monkey命令模拟用户的屏幕触摸,滑动,按键等操作进行稳定性测试,检测程序多久会发送异常。对app做稳定性测试
1.不指定包名,monkey随机启动app,并发送1000个随机事件流。
adb shell monkey -v 1000 //其中-v表示0级日志。可多次使用-v提高日志等级,如-v -v -v表示二级(最详细)日志。
2.指定包名,用-p参数。向浏览器app发送1000个随机事件流。
adb shell monkey -p com.android.browser -v 1000
3.指定多个包,多次使用-p参数。向浏览器和计算器发送1000个随机事件流。
adb shell monkey -p com.android.browser -p com.youdao.calculator -v 1000
4.向浏览器发送1000个随机事件流,输出最少量的日志信息(一个-v),并且日志文件输出到本地(> 重定向)。
adb shell monkey -p com.android.browser -v 1000 > e:\log\jk.log
5.回归测试,种子数(伪随机数) -s
adb shell monkey -p com.android.browser -s 123 -v 1000 > e:\log.txt
6.用户操作延迟 --throttle 毫秒为单位
adb shell monkey -p com.android.browser -v 1000 --throttle 100
7.app崩溃时,事件不停止 --ignore-crashes
adb shell monkey -p com.android.browser -v 1000 --ignore-crashes
8.忽略app超时无响应 --ignore-timesouts
9.安卓事件流(事件总和比,不能大于100)
--pct-touch 触摸事件
--pct-motion 手势事件
--pct-pinchzoom 缩放事件
--pct-trackball 轨迹球事件
--pct-rotation 屏幕旋转事件
--pct-nav 基本导航事件
--pct-flip 键盘事件
--pct-majornav 主要导航事件
--pct-syskeys 系统按键事件
adn shell monkey -p com.android.browser --pct-touch 77
10.monkey测试的局限性:
无法进行控件识别,不支持读取待测试界面的信息,来执行验证操作
无法自动解锁
不提供截屏功能
执行过程中,可能会误触wifi,影响测试效果。
11.如何分析monkey测试?
程序无响应时,搜索ANR关键字。
程序奔溃时,搜索crash,exception,error关键字
测试成功时,搜索关键字monkey finished