一.命令基本格式:adb shell monkey [-option] count
命令行输入adb shell monkey可查看所有参数:
二. 常用的参数解释:
1.-p 包名:指定应用程序。例如:adb shell monkey -p 包名 事件总数
2.-v:打印log级别,-v越多日志信息越详细,最多支持3个。例如:adb shell monkey -p 包名 -v -v -v 事件总数
3.-s:伪随机数生成器的 seed 值,排错时用,不加会自动生成一个。
4.-f:后接测试脚本名,例如:adb shell monkey -f 脚本名 事件总数
5.--throttle:指定用户操作时的时延,单位毫秒
6.--pct-事件类别 :按顺序罗列:
-
--pct-touch {+百分比}:0
翻译触摸,触摸事件泛指发生在某一位置的一个down-up事件,点击
--pct-motion {+百分比}:1
翻译动作,动作事件泛指从某一位置接下(即down事件)后经过一系列伪随机事件后弹出(即up事件)
--pct-pinchzoom {+百分比}:2
翻译二指缩放,智能机上的放大缩小手势操作事件
--pct-trackball {+百分比}: 3
翻译轨迹,轨迹事件包括一系列的随机移动,以及偶尔跟随在移动后面的点击事件
--pct-rotation {+百分比}:4
翻译屏幕旋转,横屏竖屏事件
--pct-nav {+百分比}:5
翻译基本导航,基本导航事件主要来自方向输入设备的上、下、左、右事件
--pct-majornav {+百分比}:6
翻译主要导航,主要导航事件通常指引发图形界面的一些动作,如键盘中间按键、返回按键、菜单按键等
--pct-syskeys {+百分比}:7
翻译系统按键,系统按键事件通常指仅供系统使用的保留按键,如HOME键、BACK键、拨号键、挂断键、音量键等
--pct-appswitch {+百分比}:8
翻译应用启动,应用启动事件(activity launches)即打开应用,通过调用startActivity()方法最大限度地开启该package下的所有应用
--pct-flip {+百分比}:9
翻译翻转,键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回
--pct-anyevent {+百分比}:10
翻译其他类型,其他类型事件指上文中未涉及的所有其他事件,如keypress、不常用的button等
百分比控制以及使用:adb shell monkey -v -p 包名 --pct-touch 100 100 --pct-touch事件百分比为100
7.--ignore-crashes:忽略崩溃,当应用程序崩溃或发生失控异常时,monkey将继续运行直到计数完成。如果不设置此项,monkey遇到上述崩溃或异常将停止运行。
8.--ignore-timeouts:忽略超时,当应用程序发生任何超时错误(如ANR,即Application Not Responding)时,monkey将继续运行直到计数完成。如果不设置此项,monkey 遇到此类超时将停止运行。
9.–ignore-security-exceptions: 指应用程序发生许可错误,monkey依然发送事件,直到事件数完成
三.命令使用
adb shell monkey -p com.hupu.games -v -v -v --throttle 300 -s 4 --ignore-crashes --ignore-timeouts --ignore-security-exceptions 100 > e:\monkeyLog.txt
将日志输入到文件monkeyLog.txt中
四.分析日志
输出的monkey日志是APP应用级别日志。主要查找"ANR ","Exception"类错误,系统层日志在运行monkey测试前开启记录到文件:adb logcat -v time >e:/logcat.txt,monkey测试完后终止写入。
详细参考https://testerhome.com/topics/12212
五.终止monkey测试:新建窗口,输入adb shell确定,再执行 ps | grep monkey 得到进程号,然后kill pid 进程号。