1、Monkey命令格式说明
adb shell monkey [参数] <次数>
例子:adb shell monkey –p cn.com.pconline.android.browser -v 1000 > d:\log_20170424.txt
说明:一个完整的monkey的命令是由adb shell monkey 加上对应的参数组成,上述例子指的是对 太平洋电脑网 这个app进行1000个随机事件测试,并输出对应等级的日志至本地txt文件中。2、Monkey 的选项大致分为四大类:基本配置选项、事件类型选项、运行约束选项、调试选项
2、Monkey选项说明
类别 | 选项 | 说明 |
常规 | -help | 列表基本配置选项 |
| -v | -v level 0(缺省值)除启动、测试完成和最终的结果之外,提供较少的信息。 -v –v Level 1 提供较为详细的测试信息,如逐个发送到的Activity的事件 -v –v –v level 3 提供极为详细的测试信息,如测试中被选中的或者未被选中的Activity |
事件 | -s <seed> | 伪随机数生成器seed值,如果使用相同的seed值,会产生相同的事件序列 |
| --throttle <milliseconds> | 在事件之间插入延迟,通过这个选项可以减缓Monkey的执行速 |
| --randomize-throttle | 在事件之间插入随机延迟,通过这个选项可以减缓Monkey的执行速 |
| --pct-touch <percent> | 调整触摸事件的百分比(一个触摸事件是由一个down事件和一个up事件组合完成) |
| --pct-rotation | 调整旋转事件的百分比 |
| --pct-pinchzoom | 调整缩放事件的百分比 |
| --pct-motion <percent> | 调整动作事件百分比,动作事件是有屏幕上某处的一个down事件,一系列的伪随机事件和一个up事件组成。 |
| --pct-trackball <percent> | 调整轨迹球事件的百分比,轨迹事件是由一个或几个随机的移动组成,有时还伴随着点击事件 |
| --pct-nav <percent> | 调整基本导航事件的百分比,导航事件由安卓手机本身的up、down、left、right事件组成 |
| --pct-majornav <precent> | 调整主要航事件百分比,如键盘的中间键,回退按键、菜单按键 |
| --pct-syskeys <precent> | 调整按键事件的百分比,这些按键通常被保留,由 系统使用,如Home、Back、Start Call、End Call及音量控制键 |
| --pct-appswitch <precent> | 调整Activity启动的百分比。(在随机的时间间隔中,Monkey将执行一个startActivity()调用,作为最大程度覆盖被测包中全部Activity的一种方法) |
| --pct-anyevent <precent> | 调整其他事件的百分比。(这包含所有其他事件,如按键、其他在设备上不常用的按钮等) |
约束条件 | -p <allowed-package-name> | 如果你指定一个或多个包,Monkey将只允许访问这些包中的Activity。如果你的应用程序需要访问这些包(如选择联系人)以外的Activity,你需要指定这些包。如果你不指定任何包,Monkey将允许系统启动所有包的Activity。指定多个包,使用多个-p,一个-p后面接一个包名。 |
| --pkg-blacklist-file <存放包名的txt文件路径> | 设置黑名单,即不执行的apk应用 |
| --pkg-whitelist-file <存放包名的txt文件路径> | 设置白名单,即只执行的apk应用,作用和-p一样,注意,黑白名单只能设置其中一种,即不能同时既设置黑名单,又设置白名单 |
| -c <main-category> | 如果你指定一个或多个类别,Monkey将只允许系统启动这些指定类别中列出的Activity。如果你不指定任何类别,Monkey将选择谢列类别中列出的Activity,Intent.CATEGORY_LAUNCHER和Intent.CATEGORY_MONKEY。指定多个类别使用多个-c,每个-c指定一个类别。 |
| --port | 为monkey开启专用端口。此时只monkey不会帮你乱点击,而此时你自己就是一只monkey了,在你乱点的时候,monkey会输出你点击后回馈的信息。如果你打完命令之后模拟器上没有启动你所要启动的包,你需要自己启动,但是你只能启动你-p中指定的那几个包。ctrl+c中断 |
| --step [-f scriptfile] | 指定运行scriptfile的一些monkey事件,可以实现部分简单有序的功能 |
调试 | --dbg-no-events | 设置此选项,Monkey将执行初始启动,进入一个测试Activity,并不会在进一步生成事件。为了得到最佳结果,结合参数-v,一个或多个包的约束,以及一个保持Monkey运行30秒或更长时间的非零值,从而提供了一个可以监视应用程序所调用的包之间转换的环境。 |
| --hprof | 设置此选项,将在Monkey事件序列之前和之后立即生成profiling报告。 这将会在data/misc中生成大文件(~5Mb) |
| --ignore-crashes | 通常,当应用程序崩溃或发生任何失控异常时,Monkey将停止运行。如果设置此选项,Monkey将 继续向系统发送事件,直到计数完成。 |
| --ignore-timeouts | 通常,当应用程序发生任何超时错误(如“Application Not Responding”对 话框)时,Monkey将停止运行。如果设置此选项,Monkey将继 续向系统发送事件,直到计数完成 |
| --ignore-security-exceptions | 通常,当应用程序发生许可错误(如启动一个需要某些许可的Activity)时,Monkey将 停止运行。如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成。 |
| --kill-process-after-error | 通常,当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。当设置了此选项时,将会通知系 统停止发生错误的进程。注意,正常的(成功的)结束,并没有停止启动的进程,设备只是在结束事件之 后,简单地保持在最后的状态。 |
| --monitor-native-crashes | 监视并报告Android系统中本地代码的崩溃事件。如果设置了--kill-process-after-error, 系统将停止运行。 |
| --wait-dbg | 停止执行中的Monkey,直到有调试器和它相连接 |