Monkey命令基本参数
一、Monkey简介
Monkey测试是Android自动化测试的一种手段。用于进行压力测试,模拟用户的按键输入,触屏输入,手势输入等,查看设备多久出现异常。
Monkey测试的特点:随机性,不掺杂主观性
二、Monkey路径:
monkey是安卓系统自带的,其启动脚本位于Android系统的/system/bin目录的monkey文件,其jar包是位于Android系统的/system/framework目录的monkey.jar文件。
三、如何启动monkey
主要通过adb命令启动monkey
monkey在运行时,会根据命令行参数的配置,生成伪随机的事件流,并在Android设备上执行对应的测试时间
同时,monkey还会对测试系统进行监视
四、Monkey命令
1、Monkey命令标准
adb shell monkey [options]
options:☞monkey可传入的参数,是可选项(如果不指定options,monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包)
eventcount:随机发送事件数。如输入100就是发送100个伪随机事件,必选项
eg:adb shell monkey 500
2、monkey命令基本参数
options类型:常用选项,事件选项,约束选项,调试选项
1)、常用选项
-v:用于指定反馈信息级别,日志详细程度
-v:仅提供启动提示,测试完成和最终结果等少量信息
-v -v:提供较为详细的日志,包括每个发送到Activity的事件信息
-v -v -v:最详细的日志,包括了测试中选中和未选中的Activity信息
2)、事件选项
-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列
如果加上-s,monkey会执行和上一次一样的操作,方便查找错误,问题复现
eg:adb shell monkey -v -s 800 200
–throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快发送事件序列,如-throttle 100)
–throttle:毫秒(1000hs=1s)
指定用户操作时间间的时延,单位时毫秒
–pct-touch:指定触摸事件的百分比(默认每次操作事件的比例是一样的,可以根据APP的不同设置不同的比例,eg:adb shell monkey -v --pct-touch 30 200,设置触摸的比例为30%),如:–pct-touch 5% , 相关的还有以下option:
–pct-motion (滑动事件)、
–pct-trackball (轨迹球事件) 、
–pct-nav (导航事件 up/down/left/right)、
–pct-majornav (主要导航事件 back key 、 menu key)、
–pct-syskeys (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)、
–pct-appswitch (activity之间的切换)、
–pct-anyevent (任意事件)
3)、约束选项
-p:包名列表
指定一个或多个包,指定后,monkey只允许系统启动指定的app;如果不指定,monkey将允许系统启动设备中的所有app
指定一个包:adb shell monkey -p 包名
指定多个包:adb shell monkey -p 包名 -p 包名
4)、调试选项
–dbg-no-events:初始化启动的activity,但是不产生任何事件。
–hprof:指定该项后在事件序列发送前后会立即生成分析报告 —— 一般建议指定该项。
–ignore-crashes:忽略崩溃
–ignore-timeouts:忽略超时
–ignore-security-exceptions:忽略安全异常
–kill-process-after-error:发生错误后直接杀掉进程
–monitor-native-crashes:跟踪本地方法的崩溃问题
–wait-dbg:知道连接了调试器才执行monkey测试。
参数: --monitor-native-crashes
用于指定是否监视并报告应用程序发生崩溃的本地代码。
五、monkey的压力测试
1)
adb shell monkey -p com.basic.security --throttle 100 -s 10000 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 3000000 >D:\monkeylog\2018110800.txt
2)
如何查看APP的包名:
adb shell
logcat | grep START
查看日志的最后一行
接下来,不论打开哪个APK,cmd命令会自动显示出包名和activity的名字
3)
停止测试的命令:
1)adb shell ps
查找出com.android.commands.monkey的进程PID
2)杀掉进程
adb shell kill pid
六、卸载app
adb shell pm uninstall com.basic.security