app测试03_monkey进行稳定性测试
前言
monkey是Android系统自带的命令行工具,通过对系统发送伪随机的用户事件流,对系统进行压力测试。monkey测试是直接运行在真机设备或者模拟器上的,通过在一定时间内,对程序乱点乱按,监测程序的稳定性,发现程序的奔溃卡死问题。
环境配置
- 安装jdk
- 安装Android sdk
使用说明
1,monkey常用命令
基础参数
adb shell monkey -p com.tencent.test -v -s 50 1000
-v:指定日志级别,共三级:-v, -v -v, -v -v -v (v越多日志越详细)
-s:种子值,用来设置事件序列,通过设置相同的 seed,可以重复相同操作,用来复现操作
数字100:表示测试事件数为100
备注:获取包名方法如下
- 输入adb指令:adb shell am monitor
- 打开要测试的app
- 查看包名
- 输入quit退出
更多参数
--throttle <毫秒> # 设置用户事件间的时间间隔,单位毫秒 --ignore-crashes # 设置忽略程序奔溃,指:当应用程序发生奔溃时,继续运行monkey命令 --ignore-timeouts # 设置忽略程序无响应(ARN问题),指,当应用程序发成ARN问题时,继续运行monkey命令 --ignore-security-exception # 设置忽略程序许可错误,指,当应用程序启动时获取许可证书、网络许可等发生异常时,应用程序不停止运行,monkey继续运行 --kill-process-after-error # 设置发生错误时,应用程序停止运行 # 设置用户事件百分比 --pct-touch {+百分比} # 设置触摸事件(即点击事件)百分比 --pct-motion {+百分比} # 设置动作事件(即滑动事件)百分比 --pct-trackball {+百分比} # 设置轨迹球事件百分比 --pct-nav {+百分比} # 设置基本导航事件百分比 --pct-majornav {+百分比} # 设置主要导航事件百分比 --pct-syskeys {+百分比} # 设置系统按键事件百分比 --pct-appswitch {+百分比} # 设置启动activity的百分比 --pct-anyevent {+百分比} # 设置其他类型事件百分比
备注:
monkey命令启动后,断开usb连接,在终端设备上monkey仍会继续运行,直到用户事件计数完成。想要停止monkey运行,可通过杀掉monkey进程终止运行。
杀掉monkey进程:
adb shell ps # 查看所有进程 adb shell ps|grep <关键词> # 查看具体程序进程 adb shell kill <pid> # 杀掉进程
2,输出日志&分析日志
输出日志
# 日志命令 >D:/testlog.txt # >后跟日志文件地址,用在monkey命令最后 #输出日志的monkey命令 adb shell monkey -p com.tencent.test -v -s 50 1000 >D:/testlog.txt
日志分析
(1 常见问题
- 程序无响应:ARN
- 奔溃:Crash
- 其他异常:exceptipn
- 异常退出:force closed
(2 查找问题
- 日志中搜索问题关键词,查看是否出现问题
(3 定位问题
- 发现报错信息后,定位出现问题的activity
- 到出现问题的页面,尝试手动执行复现问题
- 无法复现问题时,可通过执行具有相同seed值的monkey命令,复现问题