什么是Monkey?
Monkey是Android中自带的用来进行压力测试的一个命令行工具。
用Monkey进行App压力测试的结果有三种
- 正常
- Crash :程序崩溃
- ANR:程序无响应
Monkey简单测试步骤
1.手机与电脑进行USB连接,并在开发者选项中选中USB调试
2.确认手机与电脑连接:打开cmd命令行或者使用Android Studio的朋友可以打开Terminal视图,输入adb devices查看已连接的设备。
![img_11dd355dc2368b5aa76e38fc5c03ffb2.png](https://yqfile.alicdn.com/img_11dd355dc2368b5aa76e38fc5c03ffb2.png?x-oss-process=image/resize,w_1400/format,webp)
如果设备连接成功会显示
![img_c69fa9034959f3ee0ca58f71458c7475.png](https://yqfile.alicdn.com/img_c69fa9034959f3ee0ca58f71458c7475.png?x-oss-process=image/resize,w_1400/format,webp)
注意:如果输入命令显示adb 不是内部或外部命令,也不是可运行的程序或批处理文件的话,就需要配置环境变量。
3.安装Apk到手机上
adb install package.apk
4.执行Monkey指令:
monkey 500
![img_e3dafef99dfd08a9231eb26831543079.gif](https://yqfile.alicdn.com/img_e3dafef99dfd08a9231eb26831543079.gif)
![img_7e1b98a32ce274a25efce759ddbe3edf.png](https://yqfile.alicdn.com/img_7e1b98a32ce274a25efce759ddbe3edf.png?x-oss-process=image/resize,w_1400/format,webp)
结果我们发现这样执行的结果是对手机上的所有APP随机进行操作的并没有对特定的APP进行操作,那么下一步我们就以计算器APP来演示下如何对于特定的APP进行测试。
1)获取手机计算器的包名:需要在adb shell模式下输入logcat | grep START,会显示出当前启动的APP的信息
![img_26a14c119327b78d83aeb45761dfe892.png](https://yqfile.alicdn.com/img_26a14c119327b78d83aeb45761dfe892.png?x-oss-process=image/resize,w_1400/format,webp)
2)划到最底部,然后打开手机的计算器应用
![img_5ad0170e4218898df48cbea5983e34a2.gif](https://yqfile.alicdn.com/img_5ad0170e4218898df48cbea5983e34a2.gif)
![img_bb40c46b78d4f247fd8fbb1cbe4cc88d.png](https://yqfile.alicdn.com/img_bb40c46b78d4f247fd8fbb1cbe4cc88d.png?x-oss-process=image/resize,w_1400/format,webp)
在打印出的信息里我们可以查看到计算器的包名为com.android.calculator2
3)输入monkey -p com.android.calculator2 500(表示对计算器APP执行500次的随机事件)
![img_0e116f9b636efea8162cd807523391d3.gif](https://yqfile.alicdn.com/img_0e116f9b636efea8162cd807523391d3.gif)
我们会发现所有的操作都在计算器里执行的
补充
如果存在多个手机连接,输入adb shell会有如下提示。
![img_18c89fa7c8091d413e77c306e5e97804.png](https://yqfile.alicdn.com/img_18c89fa7c8091d413e77c306e5e97804.png?x-oss-process=image/resize,w_1400/format,webp)
如果想进入某一个设备需要执行adb -s 设备名 shell
![img_842fa515efc1c79fa8f7fc47870be383.png](https://yqfile.alicdn.com/img_842fa515efc1c79fa8f7fc47870be383.png?x-oss-process=image/resize,w_1400/format,webp)