测试组接了六十台安卓机做兼容性回归,一开始靠人手动装包、点按钮,两个人一天只能过二十台。后来上了聚合群控,一台主机把六十台一起跑。
聚合群控是主机加一堆设备
不是把手机画面投到一个屏上就叫群控。聚合指一台控制端同时管理多台设备,统一分发任务、统一收结果。硬件常见两种:USB 集线器堆叠,或者群控主板,一块板载多个 USB 通道,供电更稳。前者便宜,超过二十台易掉设备;后者贵,adb 掉线率低。
连接层就看 adb
adb devices 能稳定列出六十个序列号,才算起步。设备一多会遇到三件事:USB 带宽不够,传截图卡;供电不足,边充边跑掉电;序列号重复,山寨板子常见。对应办法是分批截图、换带独立供电的 hub、按物理端口重写 serial。
画面和控制怎么传
截图走 minicap,或者用 scrcpy 拿 H.264 流;控制走 adb shell input。纯截图方案每秒一两帧,点按钮够用;要看动画就得上视频流,一台设备约 2 到 4 Mbps,六十台两百多兆,交换机得千兆起步。
任务编排才是难点
连上不难,难在六十台同时跑还不互相踩。任务队列按设备分组,单步超时设硬上限,失败重试两次就踢出队列。日志按设备号落文件,出问题能回放到具体那一步。包只推一次,走本地中转,别让每台自己去下载。同一台设备连跑三十轮之后会发热降频,长任务要留散热和充电的间隙,否则后半段全在超时上浪费时间。
合规这条线别踩
群控这个词在灰色产业里出现得多,做测试要留证据:设备资产登记、操作日志、只跑自家应用。拿群控去批量注册、刷量,违反平台规则,账号和出口 IP 段都会被封,公司网络也会被牵连。
掉线怎么自愈
跑一整晚,早上总有两三台 adb 掉线。写个巡检脚本,每三十秒执行一次 adb devices,数量对不上就重启 adb 服务再连,连续失败三次把设备标红,人工去看线。比人盯着屏幕强。
六十台以内,USB hub 加开源方案够用;上百台再考虑群控主板和自研调度。先算清人力成本,别为了省两个人搭一套维护更贵的系统。