Monkey介绍
Monkey是` ` Android的命令行工具,向系统发送伪随机用户事件流(点击、滑动、APP切换、横竖画面、APP结束),实现正在开发的APP应用程序的压力测试。 Monkey测试是测试软件稳定性的稳健快速有效的方法。 只能对活动进行测试,不能对服务进行测试。
质量要求
发行前Monkey的结果中,crash为0,final release前Monkey的总执行次数为25W,结果中不允许NullPointException。
命令参数
在adb shell命令模式下输入: monkey
usage : monkey [-p allowed _ package [-p allowed _ package ] . ]
[-cmain _ category [-cmain _ category ] . ]
[-- ignore-crashes ] [-- ignore-time outs ]
[--ignore-security-exceptions]
[--监视器- native-crashes ] [-- ignore-native-crashes ]
[-- kill-process-after-error ] [-- hprof ]
[-- pct-touch percent ] [-- pct-motion percent ]
[-- pct -跟踪球百分比] [-- pct-syskeys百分比]
[-- pct-nav percent ] [-- pct-majornavpercent ]
[-- pct-appswitchpercent ] [-- pct-flip percent ]
[-- pct-anyeventpercent ] [-- pct-pinchzoompercent ]
[--pct-permission PERCENT]
[-- pkg-black list-file package _ black list _ file ]
[-- pkg-whitelist-file package _ whitelist _ file ]
[--等待- dbg ] [-- dbg-no-events ]
[-- setup script file ] [-fscriptfile [-fscriptfile ] . ]
[--端口端口]
[-s SEED] [-v [-v] .]
[-- throttle millisec ] [-- randomize-throttle ]
[--配置文件等待millisec ]
[--设备- sleep-time millisec ]
[--randomize-script]
[--脚本- log ]
[--bugreport]
[--期间缓冲报告]
[--权限-目标-系统]
计数
参数含义:
--hprof :如果指定了项目,则在发送事件序列之前和之后将立即生成分析报告。 一般来说,建议指定项目
--ignore-crashes :忽略崩溃
--Ignore -时间输出:忽略超时
--ignore-security-exceptions :忽略安全异常
--kill-process-after-error :发生错误时直接杀死进程
--monitor-native-crashes :跟踪本地方法的崩溃问题
--wait-dbg :在调试器连接之前不运行Monkey测试
--dbg-no-events :初始化已启动的活动,但不发生任何事件。
--pct-touch PERCENT :指定触摸事件的百分比。 --pct-touch 5%
--pct-motion PERCENT :幻灯片事件
- -跟踪球事件
--pct-nav PERCENT :导航事件up/down/left/right
--pct-majornav PERCENT :主要导航事件back key、menu key
--pct-syskeys PERCENT :系统密钥事件Home、Back、startCall、endCall、volumeControl
--pct -应用程序交换机百分比:在活动之间切换
- -任何事件百分比:任何事件
最简单的命令
在ADB shell模式下运行。
monkey点击执行1000次
monkey 1000
-p参数
用于限制条件。 使用此参数指定一个或多个软件包。 指定包后,Monkey只能启动指定的App。 如果未指定软件包,Monkey将启动系统中的所有App。
monkey -p com.example.test 1000
-v参数
用于指定反馈的信息级别(日志详细级别)分为三个级别,级别越高,日志越详细。
monkey -p com.example.test -v 1000
monkey-pcom.example.test-v-v 1000
monkey-pcom.example.test-v-v-v 1000
-s参数
指定伪随机数生成器的seed值。 如果seed相同,则在两次Monkey测试中生成的事件序列也相同。
monkey-pcom.example.test-s30-v 1000
--throttle参数
确定每个事件结束后的间隔,减少系统压力。 单位为毫秒。
如果不指定系统,则尽快发送事件序列。
monkey --throttle 1000
导出测试日志
必须退出shell命令并在cmd或bash模式下运行。 shell命令相当于位于Linux的根下,您无权在wjdbmh中创建文件。
ADB shell monkey-v-v 1000 d :monkey _ logtest.txt
标准流和错误流是分开保存的
monkey [ option ]1/mnt/SD card/monkey.txt2/mnt/SD card/error.txt
monkey-v-v 10001 d :/normal.txt 2d :/error.txt
阻止Monkey
进入ADB外壳模式
ps | grep monkey
找到monkey的pid
基尔PID
防止Monkey单击状态栏,然后按虚拟键
必须使用开发人员选项打开USB调试(安全设置)
隐藏
adbshellsettingsputglobalpolicy _ control immersive.full=*
恢复过来
adbshellsettingsputglobalpolicy _ control null
样品
monkey-pcom.Android.contacts---throttle 300---- ignore-crashes---- ignore-time outs-----ignore-secouts