Monkey工具及其常用命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Monkey工具及其常用命令相关的知识,希望对你有一定的参考价值。
●Monkey工具简介
Monkey:是android系统自带的一个黑盒自动化测试工具,通过随机触发界面事件发送事件流,来确定应用是否发生异常。多用于Android应用的稳定性、压力测试。
注:Monkey的随机事件流是伪随机事件流,因为每一次的Monkey测试有一个seed(种子值),通过seed值可以复现一次次事件流的序列,这在出现问题的时候来复现问题、回访测试过程非常有帮助。
●Monkey命令格式
adb shell monkey [options] <event-count>
注:Monkey是运行在adb shell中,运行在设备端
?Monkey支持的参数:
通用 参数 |
--help |
列出Monkey支持的参数 |
-v |
指定了Monkey输出的日志级别,从level0-level2,每一个-v代表一个级别,如果不加-v就是level0 |
事件相关的参数 |
-s |
指定seed值,复现事件序列发送过程,重现测试过程 |
--throttle |
每一次时间发送的间隔会有一个延时,如果不指定这个参数,默认不产生延时 |
|
--pct-touch |
触摸时间占比 eventid=0 |
|
--pct-motion |
移动时间占比 eventid=2 |
|
--pct-trackball |
轨迹球事件占比 |
|
--pct-nav |
导航事件占比 eventid=5 |
|
--pct-majornav |
主要导航事件占比 |
|
--pct-syskeys |
物理按键事件占比 |
|
--pct-appswitch |
startActivity()调用事件占比 |
|
--pct-anyevent |
除了其他时间以外的事件占比 |
约束 参数 |
-p +包名 |
指定测试应用的包名,不指定这个参数Monkey会默认随机触发界面应用执行 |
-c |
约束类别,不指定默认的是CATEGORY_LAUNCHER或者CATEGORY_MONKEY |
调试 参数 |
--dbg-no-events |
指定这个参数Monkey会初始化启动测试的Activity,并且不会进一步生成事件 |
--hprof |
在测试前后会生成一个hprof文件,便于详细记录系统信息 |
|
--ignore-crashes |
Monkey测试时如果应用出现crash,Monkey会终止。指定了这个参数Monkey会把当前指定的序列全部执行完,不会终止在crash发生的地方。 |
|
--ignore-timeouts
|
忽略应用超时的错误 |
|
--ignore-security-exceptions
|
应用如果出现许可、安全认证的错误时,可以通过此参数忽略这些错误 |
|
--kill-process-after-error
|
应用出现异常error的时候应用本身其实还在运行,通过此参数可以在发生这种错误时候把进程停止掉 |
|
--monitor-native-crashes
|
把本地出现crash的情况上报给android系统 |
|
--wait-dbg |
停止monkey的运行直到有调试器连接上 |
这些都是adb shell monkey --help所有的指令:
●monkey测试举例:
adb shell monkey -p com.houbank.houbankfinance -s 1485959489592 --pct-trackball 10 --pct-nav 10 --pct-majornav 10 --pct-flip 10 --pct-appswitch 10 --pct-motion 10 --pct-touch 10 --ignore-crashes --ignore-timeouts --throttle 300 -v -v 1000000 >D:\\C.log
以上是关于Monkey工具及其常用命令的主要内容,如果未能解决你的问题,请参考以下文章