ADB 自动化总览:把弱网编进回归脚本
弱网测试做成回归,人手启停模板迟早成为瓶颈。QNET 从 2.0 起开放 adb 指令接口:启动弱网、动态改参数、停止退出,全部可以由脚本驱动——官方描述为「一个脚本,自动化驱动执行弱网,一步遍历弱网测试的所有用例」。
三个指令一句话版
| 指令 | 作用 | 关键组件/动作 |
|---|---|---|
| 启动 | 拉起 QNET 进程并按参数开启弱网 | am start + AdbStartActivity |
| 更新 | 不重启进程,动态改写弱网参数 | am broadcast + command=update |
| 停止 | 结束弱网并退出进程 | am broadcast + command=stop_service |
每条指令的完整写法与示例见后续三页:启动弱网、动态更新参数、结束弱网与退出。
使用前提
- Android 设备与电脑 USB 连接并开启 USB 调试,确认 adb devices 能看到设备,见下文截图与环境准备细节;
- 设备上已安装 QNET 并完成登录授权(首次建议手工跑一遍,见首次启动的三道授权);
- 理解参数是全量更新语义:更新指令里没出现的参数一律回到默认值,见动态更新参数。

自动化的整体工作流
- 脚本先跑业务前置(登录、进入被测页面);
- 调启动指令注入弱网档位 A,执行用例并断言;
- 调更新指令切换到档位 B,无需重启进程;
- 全部档位跑完,调停止指令恢复网络;
- 事后取报告/pcap 做证据,输出形态见测试报告。
真实终端运行效果(含逐条广播回执与被测 App 的延迟曲线)见adb 自动化实战。
什么时候值得上 adb
- 弱网回归集:同一批用例每次版本都要跑,脚本化一次到位;
- 极限遍历:延时/丢包梯度组合手工点不完,参数化循环跑;
- CI 联动:接进流水线,在真机上把弱网用例并入日常构建。
记住约束:进程常驻是弱网存在的前提,自动化会话中同样适用,见后台保活与进程保护。