app 压力测试——Monkey

Monkey

Monkey 是Google提供的用于稳定性与压力测试的命令行工具。

其运行在模拟器或真机中

它向系统发送伪随机的用户事件(触屏,滑动,按键,手势等),对软件进行稳定性与压力测试


Monkey 基本用法

  1. 查看设备连接
  2. 获取app 包名
  3. adb shell monkey [参数]
参数 说明
-v 指定反馈信息级别,共3个级别 -v -v -v
-s 指定伪随机数生成器的seed(种子)值
-p 约束限制,指定一个或多个包
–throttle 每个事件结束后的间隔时间
–ignore-crashes 忽略崩溃
–ignore-timeouts 忽略超时
–ignore-security-exceptions 忽略安全异常
–ignore-native-crashes 忽略本地代码导致的崩溃异常
–monitor-native-crashes 跟踪本地方法的崩溃问题
事件选项
–pct-touch 触摸事件
–pct-motion 滑动事件
–pct-appswitch activity之间的切换
–pct-pinchzoom 缩放事件
–pct-rotation 屏幕旋转事件
–pct-flip 键盘事件
–pct-anyevent 任意事件

所有事件最终占比100%



实战

  1. 确定测试app包名
  2. 执行 n小时
  3. 日志级别
  4. 确定 app中常用的操作类型和比例
  5. 确定 seed值
  6. 确定调试选项
  7. 重定向日志到文件中
"""adb shell monkey -p <包名>-------------|---间隔时间----|操作数"""             
   adb shell monkey -p com.xueqiu.android --throttle 300 100


"""adb shell monkey -p <包名> | 事件参数(最终占比100)| -s <seed_name>| 间隔时间 | 日志级别 | 操作数 """
   adb shell monkey -p com.xueqiu.android --pct-touch 30 --pct-motion 30 --pct-appswitch 10 --pct-syskeys 10 --pct-flip 10 --pct-anyevent 10 -s 123456 --throttle 300 -v -v -v 100


"""adb shell monkey -p <包名> | 事件参数(最终占比100)| -s <seed_name>| 间隔时间 | 日志级别 | 忽略项参数 | 操作数 |重定向文件 """
   adb shell monkey -p com.xueqiu.android --pct-touch 30 --pct-motion 30 --pct-appswitch 10 --pct-syskeys 10 --pct-flip 10 --pct-anyevent 10 -s 123456 --throttle 300 -v -v -v --ignore-crashes --ignore-timeouts --ignore-security-exceptions 100 > momkey_log.txt

"""除操作数与重定向,中间参数可调换位置"""

Monkey 日志分析

  1. 程序无响应,ANR:日志搜索 “ANR”
  2. 崩溃:日志搜索 “CRASH”
  3. 其他:日志搜索 “Exception”
上一篇:MySQL主从复制_复制过滤


下一篇:Mariadb 10.5 安装及实现双主