1、monkey启动方式
在windows系统下打开cmd命令窗口
第一种:先连接设备,再使用monkey命令
第二种:直接使用monkey命令
运行某路径下的monkey脚本
C:\Users\vv>adb shell d:/android/monkey
2、monkey日志打印方式
第一种:打印到手机的/mnt/sdcard/目录下
C:\Users\vv>adb shell
starlte:/ $ monkey [options] <event-count> /mnt/sdcard/monkeylog.txt
第二种:打印到电脑的目录下
C:\Users\vv>adb shell monkey [options] <event-count> >d:\monkeylog.txt
第三种:标准流与错误流分开保存
C:\Users\vv>adb shell monkey [options] <event-count> 1>/mnt/sdcard/monkeylog.txt 2>/mnt/sdcard/monkeyErrorlog.txt
3、monkey的option操作命令
monkey 的 option 操作都是根据具体的需求设定的,主要分为五类,分别为: 常规类、事件类、约束类、调试类和官方隐藏类参数。
3.1 monkey 的常规类命令
-h: 显示 monkey 参数帮助信息 usage
-v: 打印出日志信息,每个 -v 将增加反馈信息的级别。命令格式为:
$ adb shell monkey -v <event-count>
-v 越多日志信息月详细,不过目前最多支持 3 个 -v,即:
- 0级: 除启动提示、测试完成和最终结果外提供较少信息
- 1级: 提供较详细测试信息,如逐个发送 Activity 的事件
- 2级: 提供更详细安装信息,如测试中被选中或为被选中的 Activity
3.2 monkey 的事件类命令
-f: 后接测试脚本名,表示要使用 monkey 运行指定的 monkey 脚本,命令示例:
$ adb shell monkey -f <scriptfile> <event-count>
$ abd shell monkey -f /mnt/sdcard/test 10
-s: 后接随机数生成器的 seed 值。如果使用相同的seed 值再次运行 monkey,将生成相同的事件序列,也就是说重复执行刚才的随机操作。
$ adb shell monkey -s <seed> <event-count>
--throttle: 后接时间,单位为 ms(),表示事件之间的固定延迟(即执行每一个指令间隔的时间),如果不接该选项,monkey 将不会延迟。
$ adb shell monkey --throttle <milliseconds>
--ptc-touch: 后接触摸事件百分比,
$ adb shell monkey --ptc-touch <percent>
--ptc-motion: 后接动作事件百分比。动作事件不单单指手势操作,它泛指从某一个位置按下(即Down事件)后经过一系列伪随机事件后弹起(即Up事件)。
--ptc-trackball: 后接轨迹球事件百分比。轨迹球事件包括一系列的随机移动,以及偶尔跟随在移动后面的点击事件。
--ptc-nav: 后接基本导航事件百分比。 基本导航事件主要指来自方向输入设备的上、下、左、右事件。
--ptc-majornav: 后接主要导航事件百分比。主要导航事件通常指引发图形界面的一些动作,如 5-way 键盘中间按键、返回按键、菜单按键等。
--ptc-syskeys: 后接系统按键事件百分比。系统按键事件通常指仅供系统使用的保留按键,比如 home键,back键,拨号键等。
--ptc-appswitch: 后接应用启动事件百分比。医用启动事件俗称 打开应用,通过调用startActivity() 方法最大限度地开启该 package 下的所有应用。
--ptc-anyevent: 后接其他类型事件百分比。除了上述提到的事件外全部都属于其他事件。
3.3 monkey 的约束类命令
-p: 后接一个或多个包名(),如果应用需要访问其他包里面的 Activity,那相关的包也需要在此同时指定。如果不指定任何包,monkey将允许系统启动全部包里的 Activity。 每一个 -p 对应一个包,指定多个包时每个包名前都需要加上 -p,如:
$ adb shell monkey -p <allowed-package-name> <event-count>
$ adb shell monkey -p com.csmijo.test 1000
-c: 后接一个或多个类别名(即 参数),monkey 将只允许系统启动这些类别中某个类别列出的 Activity。如果不指定任何类别,monkey 将选择Intent.CATEGORY_LAUNCH 和 Intent.CATEGORY_monkey里的 Activity。
3.4 monkey 调试类命令
--dbg-no-events: 在设置此选项后,monkey 将进入初始启动,进入到某个测试 Activity 中不会进一步生成事件。命令格式:
$ adb shell monkey --dbg-no-events <event-count>
--hprof: 在设置此项后,将在monkey事件序列前后立即生成 profiling report。 该选项将在 data/misc 中生成 5MB 大小的文件,慎用!
--ignore-crashes: 在设置此项后,当应用程序崩溃或者发生失控异常时, monkey 将继续运行直到计数完成。如果不设置此选项,monkey 遇到上述崩溃或者异常将停止运行。
--ignore-timeouts: 在设置此选项后,当应用程序发生任何超时错误(如ANR)时,monkey 将继续运行直到计数结束。如果不设置此选项,monkey 遇到此类超时对话框将停止运行。
--ignore-security-exceptions: 在设置此选项后,当应用程序发生任何权限错误(如启动一个需要某些权限的 Activity)时,monkey 将继续运行直到计数完成。如果不设置此选项,monkey 遇到此类权限错误将停止运行。
--kill-process-after-error: 在设置此选项后,当monkey 因为应用程序发生错误停止时,将会通知系统体质发生错误的进程。如果不设置此项,在monkey 停止时发生错误的应用程序将继续处于运行状态。
--monitor-nativie-crashes: 在设置此选项后,monkey 运行时 native code 的崩溃事件将被监视被报告。如果不设置则不会监视。
--wait-dbg: 在设置此选项后,将暂停执行中的 monkey,知道有调试器与它连接。
2.5 官方隐藏类参数
--pkg-blacklist-file: 限制 monkey 不测试指定黑名单文档中记录的包(package)。如果没有使用这个参数,monkey 会测试系统内所有的的包。如果使用了这个参数,可通过在黑名单文档中记录所有不需要测试的包名称,来相纸 monkey 的执行范围。 黑名单文档中每一行只能放一个包名
--pkg-whitelist-file: 限制monkey 只测试指定的白名单文档中记录的包。如果没有使用这个参数,monkey 会测试系统内所有的包。如果使用了这个参数,可通过在白名单文档内记录所有要测试的包,来限制monkey 的执行范围。白名单文档中每一行只能放一个包名。
注意:如果要测试的包与其他的包有关联,则必须一起指定这些包来执行这项参数。
https://www.jianshu.com/p/34da8424bf2f