monkey简介
android端压力测试工具,主要验证app是否会崩溃
monkey缺点
无法获得crash的具体复现步骤
前期准备
安装android sdk,并配置环境变量
参考链接:https://blog.csdn.net/zha6476003/article/details/79372684
- 安装JDK
- 下载Android SDK
真机测试
手机链接电脑,进入DOS环境,快捷键WIN+R,cmd
adb devices
List of devices attached
4c59385a4d573398 unauthorized
如何手机未授权
C:\Users\****>adb shell
error: device unauthorized. Please check the confirmation dialog on your device.
手机授权
C:\Users\renawu>adb shell
starqltechn:/ $
查报名命令
127|starqltechn:/ $ pm list package -f
pm list package -f
package:/system/app/BeamService/BeamService.apk=com.mobeam.barcodeService
package:/system/app/FilterProvider/FilterProvider.apk=com.samsung.android.provider.filterprovider
.......
#显示所有apk包名包括系统,前面进了shell,就可以省略adb shell
开始压测
命令:monkey -p com.taobao.taobao --throttle 500 -s 1566425613305 -v -v -v 5000 >D:\monkey_log.txt
分析:
- -p 指定一个或多个报名
- -s 指定一个随机序列,方便bug的回归验证
- -v -v -v 日志的深度
- –throttle 500,响应时间500ms
- D:\monkey_log.txt,将日志存在指定路径下
日志分析
主要查看无响应和崩溃的问题
无问题
## Network stats: elapsed time=637209ms (0ms mobile, 0ms wifi, 637209ms not connected) // Monkey finished
有问题
- ANR;无响应问题
- CRASH;有崩溃
- GC;内存泄漏问题
- NUllPointerException;出现空指针需要重视
执行中忽略一些问题
1、–ignore-crashes --ignore-timeouts 表示忽略测试过程中遇到的crashe和timeout,防止Monkey中途测试终止
2、–ignore-native-crashes --monitor-native-crashes忽略/监控本地代码发生的崩溃
停止monkey的方法
adb shell
ps|grep monkey #查找出id,供下面使用
kill 进程ID