app 压力测试——Monkey

Posted CSR-kkk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-appswitchactivity之间的切换
–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”

以上是关于app 压力测试——Monkey的主要内容,如果未能解决你的问题,请参考以下文章

Android App压力测试之Monkey

使用 monkey 对 App 进行压力测试

app 压力测试——Monkey

App测试:Monke压力测试

App测试:Monke压力测试

android app压力测试---monkey介绍及基本使用