monkey一般用于压力测试,用户模拟用户事件
monkey 基本用法
adb shell monkey [参数] [随机事件数]
monkey常用命令
-v:用于指定反馈信息级别,总共分三个等级-v -v -vadb shell mokey -v -v -v 100
-s:用于指定伪随机数生成器的种子 seed 值,如果两次seed值相同,则两次事件顺序也是相同的 adb shell monkey -s 123 100
–throttle <毫秒值>:每个事件结束的间隔时间 adb shell monkey --throttle 500 100
-p:用于约束限制,指定一个或多个包 adb shell monkey -p com.android browser 100
–ignore-crashes:忽略崩溃
–ignore-timeouts:忽略超时
–ignore-security-exceptions:忽略安全异常
–ignore-native-crashes:忽略本地代码导致的异常
–monitor-native-crashes:跟踪本地方法的崩溃问题
monkey 事件选项
–pct-touch <百分比>:触摸事件的百分比
–pct-motion <百分比>:滑动事件的百分比
–pct-appswitch <百分比>:activity 之间切换的百分比
–pct-pinchzoom <百分比>:缩放事件的百分比
–pct-rotation <百分比>:屏幕旋转事件的百分比
–pct-flip <百分比>:键盘事件的百分比
-pct-anyevent <百分比>:任意事件的百分比
注意:以上所有类型事件比例加起来不能超过 100
monkey测试示例
1、确定我们要测试的包名,如果已知包名,可以跳过这一步
手机打开我们要测试的app,然后dos窗口中输入
adb shell "dumpsys window | grep mCurrentFocus"
查看app包名和app当前打开的页面名称
2、确定要测的时间,根据总时长计算出点击的次数
需要跑的时间/命令之间的时间间隔=要执行的次数 86060*1000/300 = 96000
3、日志级别:3 个 v,一般一个v就可以了
4、确定常用的操作类型和比例:滑动、触摸、键盘、系统按键、activity 切换
5、确定 seed 值:-s 12345
6、确定调试选项:
–ignore-crashes --ignore-timeouts --ignore-security-exceptions
最终得到的指令为
adb shell monkey -p com.demo.test --pct-touch 30 --pct-motion 30 --pct-syskeys 10 --pct-appswitch 20 --pct-flip 5 --pct-anyevent 5 -s 12345 --throttle 300 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 96000
简单指令
adb shell monkey -p com.demo.test -v 1000
停止正在运行的monkey
1、首先打开Dos窗口
2、输入adb shell
3、然后输入ps | grep monkey 查看pid
4、最后输入kill pid [pid值]
例如第三步查询到的pid为3967,输入 kill pid 3967,即可停止monkey