一、 Monkey命令格式
[adb shell] monkey [optiongs] <eventcount>
adb shell monkey -help>>D:help.txt
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
[-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
[--ignore-crashes] [--ignore-timeouts]
[--ignore-security-exceptions]
[--monitor-native-crashes] [--ignore-native-crashes]
[--kill-process-after-error] [--hprof]
[--pct-touch PERCENT] [--pct-motion PERCENT]
[--pct-trackball PERCENT] [--pct-syskeys PERCENT]
[--pct-nav PERCENT] [--pct-majornav PERCENT]
[--pct-appswitch PERCENT] [--pct-flip PERCENT]
[--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]
[--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
[--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
[--wait-dbg] [--dbg-no-events]
[--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
[--port port]
[-s SEED] [-v [-v] ...]
[--throttle MILLISEC] [--randomize-throttle]
[--profile-wait MILLISEC]
[--device-sleep-time MILLISEC]
[--randomize-script]
[--script-log]
[--bugreport]
[--periodic-bugreport]
COUNT
备注:monkey可以同时制定多个包,但是一个-p只能指定一个包,所有包都放在data/data下
二、 Monkey命令详解
Category | Option | Description |
常规 | --help | 打印简单的用法 |
-v | Level 0:启动提示+测试完成+最终结果 Level1:逐个发送到Activity的事件 Level2:测试中被选中或未选中的Activity | |
Events | -s <seed> | 使用相同的seed值,可生成想用的事件序列,有助于排查问题(bug) |
--throttle MILLISEC | 一般事件设置为300-500毫秒(做持续) | |
--pct-touch <percent> | 触摸事件(down-up) | |
--pct-motion <percent> | 动作事件(down-**-up) | |
--pct-trackball <percent> | 轨迹球事件(系统移动及点击) | |
--pct-nav <percent> | 上下左右基本导航事件 | |
--pct-majornav <percent> | 主要导航事件(中间键、回退按键、菜单键) | |
--pct-syskeys <percent> | 系统时间home,back,start/end call音量控制键) | |
--pct-appswitch <percent> | Activity启动事件 | |
--pct-flip | 键盘翻转事件 | |
--pct-pinchzoom | 缩放事件 | |
--pct-anyevent <percent> | 其他事件(不常用按键) | |
Constraints | -p <allowed-package-name> | 可以同时制定多个包,但是一个-p只能指定一个包,所有包都放在data/data下 |
-c <main-category> | 用此参数指定一个或者几个类别(多个-c可指定多个类别),只允许系统启动这些列别中的某些类列出的activity; C:\Users\Administrator>adb shell monkey -p com.luyankeji.beixun -c android.intent.category.LAUNCHER --throttle 1000 100 默认为 :IncludeCategory: android.intent.category.LAUNCHER :IncludeCategory: android.intent.category.MONKEY | |
Debugging | --dbg-no-events | 执行打开初始程序,不再进行下一步操作 --setup scriptfile -f scriptfile [-f scriptfile] ...:adb shell monkey -v -f /sdcard/monkey.script执行monkey脚本内容 |
--hprof | 在monkey事件之前和之后产生profiling文件,位于/data/misc/后生成大文件(// Generated profiling reports in /data/mis) | |
--ignore-crashes | 忽略程序崩溃或者异常,monkey继续向系统发送事件 | |
--ignore-timeouts | 忽略ANR(application not response) | |
--ignore-security-exceptions | 忽略证书或认证异常。设置此选项后 | |
--kill-process-after-error | 通知系统停止发生错误的进程 | |
--monitor-native-crashes | 监控并报告Android系统中本地代码崩溃事件 | |
--ignore-native-crashes | 忽略Android系统中本地代码崩溃事件 | |
--wait-dbg | 停止执行中的monkey直到有调试器与之相连接 | |
--pkg-blacklist-file PACKAGE_BLACKLIST_FILE | 屏蔽测试包含在黑名单中APK | |
--pkg-whitelist-file PACKAGE_WHITE_FILE | 只测试包含在白名单中APK | |
--port port | 为monkey开启专用端口,之后monkey不会执行,可手动操作,操作反馈会打印在cmd窗口中 C:\Users\Administrator>adb shell monkey --port 1113 // activityResuming(com.tencent.news) |
三、 Monkey日志
四、 杀死monkey进程的方式
1、 C:\Users\Administrator>adb shell ps
2、 找到monkey的进程PID号
3、 C:\Users\Administrator>adb shell kill 9 PID
五、 实例