monkey命令
adb shell monkey -p com.xxxxx -s 500 -v 10000
但是,工作中为了保证测试数量的完整进行,我们一般不会在发生错误时立刻退出测试,monkey 测试命令如下
adb shell monkey -p com.xxxxx -s 1000 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 20000 >D:monkey_log.txt
monkey作用的包:com.xxxxx
产生时间序列的种子值:1000
忽略程序崩溃 、 忽略超时 、 监视本地程序崩溃 、 详细信息级别为2 , 产生 20000个事件
查看monkey_log.txt
1.搜索CRASH关键字
2.搜索ANR关键字
--------------------------------------------------------------------------------
二、monkey常用命令参数说明
基本参数 | 说明 |
---|---|
-p <allowed-package-name> | 指定一个或多个包 |
-s <seed> | 指定一个随机数生成器的seed值 |
--throttle <milliseconds> | 指定事件之间的固定延迟(ms) |
-v | 指定反馈信息级别(信息级别就是日志的详细程度) |
-c <main-category> | 指定一个或多个类别名 |
-f <scriptfile> | 运行指定的monkey脚本 |
事件参数 | 说明 |
---|---|
--pct-touch <percent> | 指定触摸事件百分比 |
--pct-motion <percent> | 指定动作事件百分比 |
--pct-trackball <percent> | 指定轨迹事件百分比 |
--pct-syskeys <percent> | 指定系统按键事件百分比 |
--pct-nav <percent> | 指定基本导航事件百分比 |
--pct-majornav <percent> | 指定主要导航事件百分比 |
--pct-appswitch <percent> | 指定应用启动事件百分比 |
--pct-flip <percent> | 指定flip(弹)事件的百分比 |
--pct-anyevent <percent> | 指定其他类型事件百分比 |
--pct-pinchzoom <percent> | 指定缩放(捏)事件百分比 |
--pct-permission <percent> | 指定 |
调试参数 | 说明 |
---|---|
--ignore-crashes | 忽略因崩溃或异常引起的停止运行 |
--ignore-timeouts | 忽略应用发生超时错误(ANR) |
--ignore-security-exceptions | 忽略应用发生任何权限错误 |
--monitor-native-crashes | 监视并报告monkey运行时native code的崩溃事件 |
--ignore-native-crashes | 忽略因native code的崩溃事件 |
--kill-process-after-error | 在应用出错后通知系统杀死发生错误的进程 |
--hprof | 在事件序列前后立即生成profilfing report |
--dbg-no-events | 监视应用程序所调用的包之间的转换 |
--wait-dbg | 暂停执行中的monkey,直到有调试器与它连接 |
三、对小米商城APP跑monkey及其说明
adb shell monkey -p com.xiaomi.sc -v -v -v --throttle 200 -s 1 --ignore-crashes --ignore-timeouts --ignore-native-crashes --pct-touch 30 100000 2>/Users/admin/Desktop/error.txt 1>/Users/admin/Desktop/info.txt
adb shell monkey -p com.xiaomi.sc -s 2333 --pct-touch 70 --pct-motion 30 --ignore-crashes --ignore-timeouts --monitor-native-crashes --throttle 200 -v -v 500000 >/Users/admin/Desktop/monkey0903.txt
--pct-touch 70 --pct-motion 30
这两个命令是后面增加的,一个代表点击,一个代表滑动,两个加起来是100,代表不会进行其他事件操作,如轨迹事件,导航事件等等,指定这两种操作后,就极大的降低了monkey点到被测app外面的概率(触发到音量键等系统按键)
在执行向下滑动的命令时,打开了通知栏,然后又开始了瞎点的操作。这时可在执行monkey命令之前,先执行禁用通知栏的命令
adb shell settings put global policy_control immersive.full=*
解禁命令:adb shell settings put global policy_control null
作者:我是龙俊
链接:https://www.jianshu.com/p/92604b6527d6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。