qnet 中文文档 下载 App

adb 结束弱网:stop_service 与测试收尾

弱网用例跑完必须显式收尾:停止指令会关闭弱网并让 QNET 进程退出。自动化脚本里「没有停止语句」是新手最常见的疏漏——设备会一直泡在弱网里,影响后续所有用例。

指令结构

adb shell am broadcast -a "qnet.boradcast.drive" --include-stopped-packages --es "command" "stop_service" com.tencent.qnet

与更新指令共用同一 action,差别只在 command 的取值:update 是改参数,stop_service 是结束进程。官方定义里 command 字符串支持 update 与 stop_service 两个取值,完整说明见adb 参数速查表。

执行后的状态变化

自动化脚本的收尾断言

健壮的弱网用例框架在 stop_service 之后建议追加三条检查:

  1. 网络恢复:脚本侧探测设备可正常出网(比如 ping 一台稳定地址);
  2. 进程退出:adb shell pidof com.tencent.qnet 应无输出;
  3. 文件就位:按会话配置检查缓存目录里 pcap/报告文件是否生成。

任何一条不满足都说明收尾异常,标记该轮结果无效,避免脏数据混进报告。

异常场景的兜底

情况处理
广播无回执(进程已死)直接进入文件检查;弱网早已随进程消失
设备失联(USB 断开)重连后先确认设备网络状态再继续
脚本中途崩溃用例框架的 teardown 里兜底发 stop_service,防止弱网残留

崩溃兜底这类纪律与人工测试的保活要求是同一件事的两面,见后台保活与进程保护。

停止之后,一个完整弱网会话就闭环了;把三步指令串成脚本的实际效果见adb 自动化实战。