首页 > 编程开发 > Android    日期:2026-07-14 / 浏览

前言: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

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章