Monkey命令详解

前言:Monkey是 Android SDK 提供的一种压力测试工具,通过向系统发送伪随机用户事件(如点击、滑动、按键等)来模拟用户操作,测试 App 的稳定性和健壮性

基本语法

adb shell monkey [options] <event-count>
  • event-count: 指定要发送的随机事件总数
  • options: 控件事件类型, 频率,约束条件等参数

常用参数

2.1事件类型参数

--pct-touch <percent>        # 触摸事件百分比 (点击屏幕)
--pct-motion <percent>       # 手势事件百分比 (滑动操作)
--pct-trackball <percent>    # 轨迹球事件百分比 (模拟轨迹球输入)
--pct-nav <percent>          # 导航键事件百分比 (上下左右方向键)
--pct-majornav <percent>     # 主要导航事件百分比 (回退,菜单,Home键盘)
--pct-syskeys <percent>      # 	系统按键百分比 (电源,音量键)
--pct-appswitch <percent>    # 启动Activity事件百分比
--pct-flip <percent>         # 键盘翻转事件百分比

2.2 约束测试范围

-p  <package-name>  # 指定测试的app包名 (可重复使用多个-p)
-c <main-category>  # 指定测试的Activity类别 (如android.intent.category.LAUNCHER)

2.3 调试选项

-v                          # 详细级别(可重复使用多次,最多3次:-v -v -v)
--throttle <milliseconds>   # 事件间隔时间(毫秒)
--ignore-crashes            # 忽略崩溃继续测试
--ignore-timeouts           # 忽略超时继续测试
--ignore-security-exceptions # 忽略安全异常继续测试
--kill-process-after-error  # 发生错误后终止进程
--monitor-native-crashes    # 监控Native代码崩溃
--hprof                     # 测试后生成HPROF内存分析文件

2.4.1 示例命令

对单个App进行基础测试

adb shell monkey -p com.example.app -v 1000
  • 对com.example.app 应用发送1000个随机事件
  • -v 显示详细日志

2.4.2 控制事件类型分布

adb shell monkey -p com.example.app \
--pct-touch 60 \
--pct-motion 30 \
--pct-appswitch 10 \
-v -v 5000
  • 60%触摸事件,30%滑动事件,10%Activity切换事件
  • -v -v显示更详细的日志

2.4.3 设置事件间隔并忽略崩溃

adb shell monkey -p com.example.app \
--throttle 500 \
--ignore-crashes \
--ignore-timeouts \
10000
  • 每个事件间隔500毫秒
  • 忽略崩溃和超时错误,持续测试100000个事件

2.4.4 测试多个App

adb shell monkey -p com.example.app1 -p com.example.app2 -v 5000
  • 同时测试两个app,随机在它们之间切换

2.4.5 监控Native 崩溃并生成内存分析

adb shell monkey -p com.example.app \
--monitor-native-crashes \
--hprof \
-v -v -v 2000
  • 监控C/C++代码崩溃
  • 测试结束后生成HPROF内存分析文件

进阶用法

3.1 保存日志到文件

adb shell monkey -p com.example.app -v 10000 > monkey_log.txt 2>&1

3.2在特定Activity启动测试

adb shell monkey -p com.example.app \
-c android.intent.category.LAUNCHER \
1000

3.3 组合多个参数

adb shell monkey -p com.example.app \
--throttle 300 \
--pct-touch 70 \
--pct-majornav 15 \
--pct-appswitch 15 \
--ignore-crashes \
--monitor-native-crashes \
-v -v 20000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值