app测试03_monkey进行稳定性测试

前言

  monkey是Android系统自带的命令行工具,通过对系统发送伪随机的用户事件流,对系统进行压力测试。monkey测试是直接运行在真机设备或者模拟器上的,通过在一定时间内,对程序乱点乱按,监测程序的稳定性,发现程序的奔溃卡死问题。

环境配置

  • 安装jdk
  • 安装Android sdk

使用说明

 1,monkey常用命令

  基础参数

adb shell monkey  -p  com.tencent.test  -v  -s 50 1000
 -p:表示测试的程序(后跟安装包名字)
 -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命令,复现问题 

原文地址:https://www.cnblogs.com/mini-monkey/p/14180944.html