每天一个adb命令:monkey命令详解

来源:互联网 发布:对称轴画图软件手机 编辑:程序博客网 时间:2024/06/11 18:37

国际惯例,先用adb shell monkey 看看具体用法。

具体用法

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] ...]              [--sort-app-list]              [--throttle MILLISEC] [--randomize-throttle]              [--profile-wait MILLISEC]              [--device-sleep-time MILLISEC]              [--randomize-script]              [--script-log]              [--bugreport]              [--periodic-bugreport]              [--delay-appswitch MILLISEC]              [--launch-app-after-launcher              [--launch-app-after-app MILLISEC PACKAGE_NAME CLASS_NAME]              COUNT
-p 允许的包名列表,可同时指定多个包名,每个包都需要使用“-p”参数指定。指定多个包:adb shell monkey -p package_1  –p package_2  100--ignore-crashes 忽视应用 crash 报错,不指定该参数时,应用出现 crash,monkey 会自动停止发送事件,指定该参数后,monkey 会在 crash 后也一直发送事件,直到所有事件发送完成。--ignore-timeouts 忽视超时导致的错误,即ANR的错误-s 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的,方便用于重现 bug。如:adb shell monkey -p package_name –s 10 100-v 设定输出信息的详细级别,1-v 表示级别为12-v 表示级别为2Level 0  :  adb shell monkey -p package_name -v 100               // 缺省值,仅提供启动提示、测试完成和最终结果等少量信息   Level 1  :  adb shell monkey -p package_name -v  -v 100          // 提供较为详细的日志,包括每个发送到Activity的事件信息Level 2  :  adb shell monkey -p package_name -v  -v  -v 100     // 最详细的日志,包括了测试中选中/未选中的Activity信息--throttle 设定事件之间的延时,单位为毫秒,如:adb shell monkey -p package_name --throttle 3000 100延迟3s执行。

日志分析

正常情况,如果Monkey测试顺利执行完成,在log的最后会打印出当前执行事件的次数和所花费的时间;// Monkey finished 代表执行完成

异常情况:
查阅Monkey的输出日志
1. 程序无响应的问题: 在日志中搜索 “ANR”
2. 崩溃问题:在日志中搜索 “Exception”
3. 如果有空指针,搜索“NullPointerException”
4. 如果Monkey执行中断,在log最后也能看到当前执行次数

0 0
原创粉丝点击