Monkey使用流程:
1.下载安装Android SDK并配置环境。
2.打开CMD 直接输入monkey的命令使用就好
Monkey 命令:
一、基础参数
1.adb shell monkey -help : 获取帮助
2.-p
指定要进行monkey测试的包,如果不使用参数,则会随机选择应用进行测试。
monkey测试1:adb shell monkey -p com.ceshi.ceshi.ceshi1000
monkey测试2:adb shell monkey -p com.ceshi.ceshi.ceshi-p com.tao.bao 1000
3.-s
伪随机数生成器的种子值,如果用相同的种子值再次运行monkey,将生成相同的事件序列。(该种子值对于Bug复现至关重要)
注:如果不指定种子值,系统会随机生成一个种子值,在出现Bug时该种子值会和Bug信息一起被输出,这也是为了便于复现该Bug
monkey测试1:adb shell monkey -p com.ceshi.ceshi–s 10 100
monkey测试2:adb shell monkey -p com.ceshi.ceshi–s 10 100
4.--throttle
在事件之间插入特定的延时时间(单位毫秒),这样做可以延缓monkey执行事件的速度,默认没有延时,monkey会以最快速度将指定的事件个数执行完。
注:很多博主说经验值是300模拟人的操作速度,我觉得100也不错,总不能一点压力没有吧
monkey测试1:adb shell monkey -p com.ceshi.ceshi --throttle 100 -v -v 1000
二、事件类型
5.--pct-touch
指定touch(触摸)事件的百分比,touch事件是由一个DOWN和一个UP组成,按下并抬起即是一个touch事件
注:若不指定任何事件的百分比,系统将随机分配各种事件的百分比
monkey测试1:adb shell monkey -p com.ceshi.ceshi --pct-touch 50 -v -v 1000
6.--pct-motion
指定motion(手势)事件百分比,motion事件是由屏幕上某处一个down事件、一系列伪随机的移动事件和一个up事件组成
注:移动事件是直线移动
monkey测试1: abd shell monkey -p com.ceshi.ceshi --pct-motion 50 -v -v 1000
7.--pct-trackball
作用:指定trackball(轨迹球)事件的百分比,滚动球事件由一个或多个随机的移动事件组成,有时会伴随着点击事件
注:移动事件可以是曲线移动,不常使用参数,但滚动球事件中包含曲线滑动事件,在被测程序需要曲线滑动时可以选用此参数。
monkey测试1: adb shell monkey -p com.ceshi.ceshi --pct-trackball 20 -v -v 1000
8. --pct-nav
作用:指定基本的导航事件百分比。导航事件由方向输入设备的上下左右按键所触发的事件组成,即四个方向键
monkey测试1: adb shell monkey -p com.ceshi.ceshi --pct-nav 20 -v -v 1000
9. --pct-majornav
作用:指定主导航事件百分比。这些导航事件通常会导致UI界面发生变化,如5-way键盘的中间键,返回按键、菜单按键
monkey测试1: adb shell monkey -p com.ceshi.ceshi --pct-majornav 20 -v -v 1000
10. --pct-syskeys
作用:指定系统事件百分比。这些按键通常由系统保留使用,如Home、Back、Start Call、End Call、音量调节
monkey测试1: adb shell monkey -p com.ceshi.ceshi --pct-syskeys 20 -v -v 1000
11. --pct-appswitch
作用:指定Activity启动的百分比。在随机的时间间隔中,monkey执行startActivity()方法,最大程度地覆盖应用中全部的Activity
monkey测试1: adb shell monkey -p com.ceshi.ceshi --pct-appswitch 20 -v -v 1000
12. --pct-anyevent
作用:指定其他事件的百分比。包含所有其他事件,如按键、其他在设备上不常用的按钮等
monkey测试1: adb shell monkey -p com.ceshi.ceshi --pct-anyevent 20 -v -v 1000
13. --pct-rotation
作用:旋转屏幕
monkey测试1: adb shell monkey -p com.ceshi.ceshi --pct-rotation 20 -v -v 1000
13. --pct-rotation作用:旋转屏幕
monkey测试1: adb shell monkey -p com.ceshi.ceshi --pct-rotation 20 -v -v 1000
14. --pct-flip
作用:键盘翻转
monkey测试1: adb shell monkey -p com.ceshi.ceshi --pct-rotation 20 -v -v 1000
三、调试参数解析
15.--ignore-crashes
作用:忽略crashes,测试过程中发生crashes继续进行测试直到执行完指定的事件数,如果不忽略遇到crashesmonkey测试会停止
monkey测试1: adb shell monkey -p com.ceshi.ceshi --ignore-crashes -v -v 1000
16.--ignore-timeouts
作用:忽略ANR,测试过程中发生ANR继续进行直到执行完指定的事件数,如果不忽略遇到ANR测试也会终止
monkey测试1: adb shell monkey -p com.ceshi.ceshi --ignore-timeouts -v -v 1000
17.--ignore-native-crashes
作用:如果使用此参数,则忽略native层代码的崩溃
monkey测试1: adb shell monkey -p com.ceshi.ceshi --ignore-native-crashes -v -v 1000
18.--ignore-security-exceptions
作用:用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成
monkey测试1: adb shell monkey -p com.ceshi.ceshi --ignore-security-exceptions -v -v 1000
19.--ignore-native-crashes
作用:用于指定是否监视并报告native层发送的崩溃代码
monkey测试1: adb shell monkey -p com.ceshi.ceshi --ignore-native-crashes -v -v 1000
20.--ignore-security-exceptions
作用:用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成
monkey测试1: adb shell monkey -p com.ceshi.ceshi --ignore-security-exceptions -v -v 1000
21.--monitor-native-crashes
作用:用于指定是否监视并报告native层发送的崩溃代码。
monkey测试1: adb shell monkey -p com.ceshi.ceshi --monitor-native-crashes -v -v 1000
22.--kill-procress-after-error
作用:用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)
monkey测试1: adb shell monkey -p com.ceshi.ceshi --kill-procress-after-error -v -v 1000
23.--hprof
作用:该选项设置后,将会在monkey事件序列前后立刻生成report,大小为大于5MB,存储在/data/misc
monkey测试1: adb shell monkey -p com.ceshi.ceshi --hprof -v -v 1000
例子(将monkey日志输出到文件):
adb shell monkey –p com.ceshi.ceshi–-throttle100–-pct-touch50–-pct-motion50 –v –v1000 >c:\monkey.txt
参考:
Android Monkey 压力测试 介绍 - 小坦克 - 博客园 小白
monkey android 教程,Android Monkey使用详解_Zhao Zachary的博客-CSDN博客 最全
Android monkey 命令详解_github_2011的博客-CSDN博客_android monkey 最细(含报告分析)
三、adb monkey(详细分析) - 沁霖 - 博客园 报告分析
10. --pct-syskeys
作用:指定系统事件百分比。这些按键通常由系统保留使用,如Home、Back、Start Call、End Call、音量调节
monkey测试1: adb shell monkey -p com.ceshi.ceshi --pct-syskeys 20 -v -v 1000