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

posted @ 2017-03-27 09:42  lxszero  阅读(313)  评论(0编辑  收藏  举报