Monkey,猴子。就是像一只猴子,什么都不知道,随意进行操作。它是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
一、安装
1.下载SDK for Windows ; SDK不用安装,直接解压:android-sdk-
windows 到如d:盘根目录
- 设置sdk下面tools的环境变量
右击“计算机”-》属性-》高级系统设置-》环境变量-》
点击Path,将“D:\android-sdk-windows\platform-tools”添加到变量值中,与之前的变量值用“;”隔开。- 下载安装JDK ,下载完成之后点击安装,默认安装就可以了。
- platforms存在就不用看了(如果SDK无法自动下载platforms,手工下载 android sdk 2.1,将android-2.1_r01-windows.zip文件解压之后放到android-sdk-windows\platforms)
5.电脑USB连接手机
开始->运行(win+R键),输入cmd,在命令行录入adb shell 接下来可以运行Monkey Test的命令
二、monkey语法
adb shell monkey -p your.package.name 5000
以上命令的意思为:指定包名的应用程序,执行5000次伪随机事件
常用的参数:
- p :指定的包名 例:
adb shell monkey -p com.sankuai.meituan
- p :指定的包名 例:
- s : 随机数种子。配置此参数,则事件顺序一致。例:
adb shell monkey -p com.sankuai.meituan –s 100
adb shell monkey -p com.sankuai.meituan –s 100
- s : 随机数种子。配置此参数,则事件顺序一致。例:
- -v :日志的详细程度。有三个级别。等级越高,日志越详细。例:
adb shell monkey -p com.sankuai.meituan 100 -v
adb shell monkey -p com.sankuai.meituan 100 -v -v
adb shell monkey -p com.sankuai.meituan 100 -v -v -v
- -v :日志的详细程度。有三个级别。等级越高,日志越详细。例:
4.--throttle :操作之间的间隔毫秒数 例:
adb shell monkey -p com.sankuai.meituan --throttle 3000 1005.--ignore-crashes:忽略奔溃日志。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。例:
adb shell monkey -p com.sankuai.meituan 100 -v --ignore-crashes6.--ignore-timeouts:用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。例:
adb shell monkey -p com.sankuai.meituan 100 -v --ignore-timeouts6.>:app运行日志存放位置。用来把运行的日志,放在指定的文件中。例:
adb shell monkey -p com.sankuai.meituan 100 >d:\monkey.txt
三、实例
- 1.手机连接电脑,打开开发者模式,安装美团app
- 2.获取app包名(获取包名,参考)
- 命令行工具,输入monkey指令.对美团 app进行性能测试
adb shell monkey -p com.sankuai.meituan --throttle 100 -v -v 1000 --ignore-crashes >d:\monkey.txt
对美团app 进行1000伪事件,每次事件间隔100毫秒,遇到错误,不结束事件,日志保存到d:\monkey.txt
- 命令行工具,输入monkey指令.对美团 app进行性能测试
三、日志分析
做日志文件中搜索"ANR", “Exception”。发现此类信息,则是有错误