一、Monkey是什么
Monkey是Android自带的一个自动化测试工具,我们可以通过命令行向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),对应用程序进行压力和稳定性测试。
二、Monkey基本参数&调试参数
如果要使用monkey,可以采用以下两种方式启动Monkey(首先得确定电脑已经连接设备):
1.直接运行该命令
adb shell monkey [options] <count>
2.进入设备命令行,再执行monkey命令
adb shell
monkey [options] <count>
那么monkey具体的参数怎么使用呢,先让我们来认识它们:
事件参数:--randomize -throttle 代表在事件之间插入随机延迟,必须和--throttle参数一起用
事件参数:除了上述表格中的八种外,另还有三个隐藏事件参数,总共11种事件可用
约定限制参数:注意如果有些app不想在桌面显示图标,在AndroidManifest.xml会把启动Activity的name注释掉
//<category android:name="android.intent.category.LAUNCHER" />
这样用-p命令是无法启动Monkey的,解决方法是把这一行修改为
<category android:name="android.intent.category.MONKEY" />
调试参数:如果需要在monkey测试过程中监控crash和anr,则可以使用 --ignore crashes 和 --ignore timeouts,运行完成后统计具体的次数和分析原因。
例子:
monkey -p 包名 --randomize -throttle --throttle 500 --ignore-crashes --monitor-native-crashes --ignore-timeouts --ignore-native-crashes --pct-touch 20 --pct-trackball 20 --pct-motion 20 --pct-flip 20 --pct-appswitch 15 --pct-anyevent 5 -v -v 50
三、Monkey黑白名单使用
Monkey还可以加一些特定的参数,指定只运行哪些包或指定不运行哪些包,这就是所谓的白名单和黑名单
①白名单:指定只运行哪些包
在本地编辑好whitelist.txt文件,文件里写入要运行的包名,格式如下:
com.android.browser
com.android.deskclock
...
...
在本地编辑好blacklist.txt文件,文件里写入要运行的包名,格式如下:
com.android.browser
com.android.deskclock
...
...