android monkey

 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

 
对上面命令的描述.png

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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文地址:https://www.cnblogs.com/wenjing2019/p/12072769.html