1、Monkey环境:
搭建和appium一样
2、就是操作adb命令不一致
3、介绍monkey
Monkey 就是SDK中附带的一个工具。Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法
4、Monkey运行原理
Monkey测试是Android平台自动化测试的一种手段,通过Moneky程序模拟用户触摸屏幕、滑动Traceball、按键等操作来对设备上的程序进行压力测试,检验程序多久会发生异常。
5、monkey命令使用介绍
adb shell monkey help
6、monkey命令使用介绍
6.1 安装好一个apk包
比如百度阅读:
6.2具体操作命令
- Monkey实战:
adb shell monkey help:monkey命令介绍
adb shell monkey 100:对模拟器或真机做100次随机操作
adb shell pm list package -3:显示第三方的app包的名称
adb shell monkey –p app包名 100:对指定的app做100随机操作 - Monkey稳定性实战:
adb shell monkey –p app包名 –throttle 1000 100:
对指定的app每隔1秒做1次操作 做100次
adb shell monkey –p app包名 –throttle 1000 36000:
每隔1秒对app随机做1次操作持续10小时(实际工作测app稳定性时使用)
7、日志分析
3. Monkey日志命令:
-v:leve0 除启动提示、测试完成和最终结果之外、提供较少信息
-v -v:leve1 提供较为详细的日志,包括每个发送到Activity的事件信息
-v –v –v:leve2 最详细的日志,包括了测试中选中,未选中的Activity信息
4. Monkey日志分析:
adb shell monkey –p app包名 --throttle 1000 –v-v-v 100:
每隔1秒对app做1次随机操作,执行100次,并输出详细日志
adb shell monkey –p app包名 --throttle 1000 –v-v-v 100
C:\Users\Desktop\applog.txt:输出日志文件到本地路径
- Monkey日志分析:
正常情况:
如果Monkey测试顺利执行完成,在log的最后会打印出当前执行事件的次数
和所花费的时间;// Monkey finished 代表执行完成
异常情况:
查阅Monkey的输出日志: - 程序无响应的问题: 在日志中搜索 “ANR”
- 崩溃问题:在日志中搜索 “Exception”
- 如果有空指针,搜索“NullPointerException”
- 如果Monkey执行中断,在log最后也能看到当前执行次数
. Monkey日志分析:
重现异常以及回归验证:
-s:在命令中加上seed值 确保两次执行的序列号一样
如果第一次稳定性测试时出现了bug,那测试人员就需要重现bug和验证bug
所以需要重复两次操作一样,seed值相同就能确保monkey两次测试所触发的事件
一致
adb shell monkey –p app包名 –s 1001 --throttle 1000 –v-v-v 100
C:\Users\Desktop\applog.txt:输出日志文件到本地路径
adb shell monkey –p app包名 –s 1001 --throttle 1000 –v-v-v 100
C:\Users\Desktop\applog1.txt:输出日志文件到本地路径
7-1、Monkey调试:
- Monkey调试:
在Monkey运行的过程中,我们可以通过结束进程的方式来终止Monkey的运
行,当然在运行的过程中遇到异常、奔溃、等情况Monkey也会停止。为了保证执行
的事件数执行完整我们可以通过调试选项的设置来防止在运行过程中Monkey命令提
前结束
–ignore-crashes 忽略在应用程序出现crash(崩溃)时monkey停止
–ignore-timeouts 忽略在应用程序出现ANR(无响应)时monkey停止
–ignore-security-exceptions 忽略在应用程序出现许可时monkey停止
例如:同时忽略以上三种错误
adb shell monkey -p app包名 -s 1001 --throttle 1000 --ignore-crashes
–ignore-timeouts --ignore-security-exceptions -v-v-v 10