monkey参数介绍

monkey执行方式:

在adb里执行monkey(adb shell monkey.......)

在安卓里执行monkey(先adb shell进入安卓,然后再执行monkey......)退出:exit

adb获取包名的方法:

法一:运行APP,然后输入命令即可。

  cmd状态下:adb shell dumpsys window | findstr mCurrentFocus

  shell状态下:先adb shell,然后dumpsys window | findstr mCurrentFocus

基本参数

1、-p参数:指定要测试的包名

例:adb shell monkey -p cn.mopon.file 2000

  -p:执行包名,可以多个包名 -p xxx -p xxx 2000

  cn.mopon.file:包名。获取方法:运行APP,然后cmd状态下:adb shell dumpsys window | findstr mCurrentFocus

  2000:操作次数

adb shell monkey 2000:不指定包名

2、-v:指定日志输出级别,monkey输出日志有3个级别,通过-v参数来指定

  -v 第一级别;-v -v 第二级别;-v -v -v 第三级别

  日志第一级别:可缺省,仅提供启动提示、测试完成和最终结果等少量信息

  adb shell monkey -p cn.mopon.film -v 2000 >E:monkey.log

  

  日志第二级别:提供较为详细的日志,包括每个发送到Activity的信息

  adb shell monkey -p cn.mopon.film -v -v 2000 >E:monkey.log

  日志第三级别:提供更详细的日志,包括了测试中选中/未选中的Activity信息

  adb shell monkey -p cn.mopon.film -v -v -v  2000 >E:monkey.log

3、-s:用于指定伪随机数生成器的值,如果send值相同,则两次Monkey测试所产生的事件序列也相同,用于复现问题

  测试1:adb shell monkey -p cn.mopon.film  -s 10  2000

  测试2:adb shell monkey -p cn.mopon.film  -s 10  2000

4、--throttle:不同事件之间的间隔时间,单位ms

  adb shell monkey -p cn.mopon.film -v -v -v --throttle 500 2000 >E:monkey.log

发送的事件类型参数  

Monkey的事件类型共11种:触摸(Touch)、手势(motion),二指缩放(pinchzoom)、轨迹(trackball)、旋转(rotation),基本导航(nav)、主要导航事件(majornav)、系统按键(syskeys)、启动activity(appswitch)、键盘事件(flip)和其他类型事件(anyevent),在日志中分别用0-10来表示

https://www.cnblogs.com/gongxr/p/10650799.html

adb shell monkey -p cn.mopon.film -v -v -v --throttle 500 --pct-touch 20 --pct-pinchzoom 30  2000 >E:monkey.log  设置触摸20%,二指缩放30%

调试选项参数

--ignore-crashes:指即使应用程序崩溃(Force&Close错误),Monkey依然会发送事件,直到事件计数达到指定的次数为止。

adb shell monkey -p cn.mopon.film --ignore-crashes 2000  即使应用程序崩溃,Monkey依然会发送事件,直到事件计数达到2000次

--ignore-timeouts:指app在发生ANR(Application No Responding超时)错误时,Monkey是否停止运行。如果使用--ignore-timeouts参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成

adb shell monkey -p cn.mopon.film --ignore-timeouts 2000

--ignore-security-exceptions:指app发生许可证书错误时,Monkey依然继续发送事件,直到事件数目达到目标值为止

adb shell monkey -p cn.mopon.film --ignore-security-exceptions 2000

--kill-process-after-error:指app发生错误时,应用程序停止运行并保持在当前状态,系统不会结束该应用程序的进程

adb shell monkey -p cn.mopon.film --kill-process-after-error 2000

--ignore-native-crashes:忽略本地代码导致的崩溃。设置忽略后,Monkey将执行完所有的事件,不会因此停止

--monitor-native-crashes:监视系统中本地代码发生的崩溃

综合性运用示例:

adb shell monkey -p cn.mopon.film(替换要测试的包名) --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000000 > g:monkeyLog.log

monkey测试,一次执行多久:一次执行8-10小时,伪随机事件在35万-26万次左右

原文地址:https://www.cnblogs.com/guang2508/p/12795355.html