app 压力测试——Monkey
Posted CSR-kkk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了app 压力测试——Monkey相关的知识,希望对你有一定的参考价值。
Monkey
Monkey 是Google提供的用于稳定性与压力测试的命令行工具。
其运行在模拟器或真机中
它向系统发送伪随机的用户事件(触屏,滑动,按键,手势等),对软件进行稳定性与压力测试
Monkey 基本用法
- 查看设备连接
- 获取app 包名
- 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%
实战
- 确定测试app包名
- 执行 n小时
- 日志级别
- 确定 app中常用的操作类型和比例
- 确定 seed值
- 确定调试选项
- 重定向日志到文件中
"""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 日志分析
- 程序无响应,ANR:日志搜索 “ANR”
- 崩溃:日志搜索 “CRASH”
- 其他:日志搜索 “Exception”
以上是关于app 压力测试——Monkey的主要内容,如果未能解决你的问题,请参考以下文章