Monkey高级参数的应用
throttle参数
adb shell monkey --throttle <milliseconds>
指定事件之间的间隔
举个栗子:adb shell monkey --throttle 5000 1000
monkey随机产生1000条事件,每个事件间隔5s
seed参数
adb shell monkey -s <seed> <event-count>
指定随机生成数的seed值
举个栗子:adb shell monkey -p me.peace.ka -s 100 50
monkey同个seed值执行的操作内容是相同,栗子中的seed值是1000,事件数为50
触摸事件
adb shell monkey --pct-touch <percent>
设定触摸事件的百分比
举个栗子:adb shell monkey -v -p me.peace.ka --pct-touch 100 1000
-v 参数会展示所有事件参数
--pct-touch 指定事件为触摸事件
100 事件百分比为100%
1000 事件数
cmd窗口回显
Event Percentages 事件完成百分比
动作事件
adb shell monkey --pct-motion <percent>
设定动作事件的百分比
举个栗子:adb shell monkey -v -p me.peace.ka --pct-motion 100 1000
-v 参数会展示所有事件参数
--pct-motion 指定事件为动作事件
100 事件百分比为100%
1000 事件数
组合使用,触摸事件为30%、动作事件为50%
adb shell monkey -v -p me.peace.ka --pct-touch 30 --pct-motion 50 100
其他事件
轨迹球事件
adb shell monkey --pct-trackball <percent>
设定轨迹球事件百分比
基本导航事件
adb shell monkey --pct-nav <percent>
设定基本导航事件百分比,输入设备的上、下、左、右
主要导航事件
adb shell monkey --pct-majornav <percent>
设定主要导航事件百分比,兼容中间键、返回键、菜单按键
系统导航事件
adb shell monkey --pct-syskeys <percent>
设定系统导航事件百分比,HOME、BACK、拨号及音量键
启动Activity事件
adb shell monkey --pct-appswitch <percent>
设定启动Activity的事件百分比
不常用事件
adb shell monkey --pct-anyevent <percent>
设定不常用事件的百分比
崩溃事件
adb shell monkey --ignore-crashes <event-count>
忽略崩溃和异常
ANR超时事件
adb shell monkey --ignore-timeouts <event-count>
忽略超时事件
CRASH结果析取
举个栗子预先的手机中装入一个有crash的apk(包名为me.peace.fly)
输入如下monkey命令
adb shell monkey -p me.peace.fly -v 1000
![](https://img.haomeiwen.com/i1858781/975267df717930e7.png)
图上NullPointerException红框部分,即monkey测试中产生crash时异常的打印信息,这段内容可拷贝至文本文件中提供给开发分析修复crash。
Events injected:373,表示monkey命令中的1000个事件,执行第373个事件,就产生crash
using seed 1577869486128 ,这个表示当前使用seed进行的随机monkey,记录该次seed可再次复现crash,待开发修复crash,也可使用验证,即使用如下的命令
adb shell monkey -p me.peace.fly -s 1577869486128 1000
使用如下的命令,monkey过程中产生crash也不会停止,直到定义的事件数达成为止
adb shell monkey -p me.peace.fly --ignore-crashes 1000
如果期间发生crash,程序会重启继续执行,但每次crash的日志都会被记录下来,如下图,这些内容均可以拷贝出来给到开发作分析
![](https://img.haomeiwen.com/i1858781/b972e2662371cc9e.png)
ANR结果析取
举个栗子预先的手机中装入一个能产生ANR的apk(包名为me.peace.fly)
输入如下monkey命令
adb shell monkey -p me.peace.fly -v 1000
![](https://img.haomeiwen.com/i1858781/19898b64a32671e8.png)
如果产生ANR,则会有图中类似的日志信息,可拷贝给开发分析处理
使用如下的命令可在monkey过程中避免crash和anr产生
adb shell monkey -p me.peace.fly --ignore-crashes --ignore-timeouts -v 1000
网友评论