“我们买了 120 部真机做自动化,结果 30% 在半年后电池鼓包、屏幕老化,CI 机柜像‘手机坟场’。”——某上市互联网公司 QA 总监在 2024 春季测试大会上的吐槽,引来台下一片苦笑。
真机农场的高损耗、高人力、高延迟,已经成为移动端持续交付的“最后一公里”堵点。如何把 48 小时的回归压缩到 1 个工作日之内?答案不是再买一堆手机,而是让“手机”直接长在云端。
痛点:真机农场=成本黑洞
- 硬成本:按市面均价 1500 元/台计算,100 台 Android 真机一次性投入 15 万,还不包括充电柜、散热、UPS。
- 软成本:设备掉线、系统升级、USB 口松动、电池健康度下降,每月至少 2 人/天专职运维。
- 时间成本:为了跑一遍 monkey 压力测试,排队等空闲设备平均 6 小时,修复后再回归又要 2 天,版本迭代节奏被迫放缓。
当“降本增效”成为 CTO 的 OKR,QA 团队急需一条“零代码、零硬件、零等待”的新路径。
方案:ADB over IP 直连星界云手机
星界云手机把 Android 实例跑在云端 GPU 服务器上,天然 7×24 在线,无需 USB 线,对外暴露 ADB 端口。只要将公司构建机的出口 IP 加入白名单,本地 adb connect ip:port 即可像真机一样操作。
核心优势:
- 免 ROOT,官方系统,兼容 Google CTS,跑 monkey 不会触发“su”异常。
- IP 白名单 + 双向 TLS,杜绝公网扫描隐患;支持 VPC 专属网络,内部隔离更彻底。
- 一台构建机可同时并行连接 200+ 云机,Jenkins、GitLab CI、Drone 等只需把 parallel 指令改成 IP 列表即可,无需改造脚本。
- 按小时/按月灵活计费,跑完即释放,成本曲线与发版节奏同步。
实践:100 台云机 8 小时跑完 50 万次事件
以某社交类 App 为例,版本 7.3.0 引入 IM 数据库升级,QA 担心低机型兼容问题,决定在发版前触发一次“100 路并行 monkey”。
1. Jenkins Pipeline 片段(Groovy)
def ips = []
(1..100).each { ips.add("xcloud-${it}.chinac.internal") }
parallel ips.collectEntries { ip ->
["Monkey_${ip}" : {
sh """
adb connect ${ip}:5555
adb -s ${ip}:5555 shell monkey -p com.xxx.app \\
--throttle 100 --pct-touch 50 --pct-motion 30 \\
-v 5000 --ignore-crashes --ignore-timeouts \\
2>&1 | tee ${ip}.log
"""
}]
}
2. 异常采集
每条流水线同时启动 adb shell screenrecord,Monkey 结束自动 pull 到 Jenkins 归档目录;结合 logcat-crash-watcher 插件,一旦检测到 FATAL EXCEPTION 即刻截断录屏并打标签。
3. 输出物
- 崩溃率报表:50 万次事件共触发 3 次 Native Crash、7 次 OOM,崩溃率 0.002%,低于基准线 0.01%。
- 异常录屏:10 段 30 秒 mp4,直接定位到会话列表滑动导致的数据库死锁,研发 30 分钟完成修复。
4. 时间对比
过去用 40 台真机跑完同等事件量需要 2 天,现在 100 台云机并行仅需 8 小时,CI/CD 整体提速 3 倍,发版窗口提前 1 个工作日,产品运营得以抢占周末流量高峰。
结果:测试周期由 2 天缩至 8 小时
- 硬件投入:0 元,不再需要采购、维修、仓储。
- 人力投入:0.2 人/月,只需维护 Jenkinsfile 与 IP 白名单。
- 资金成本:100 台畅玩版云机跑 8 小时,按小时计费合计 110 元,对比真机电费、折旧、人力,单次回归节省 92% 以上。
更重要的是,研发与 QA 终于站在同一条“敏捷节奏”上:上午提交代码,中午打包,下午测试报告即可输出,晚上就能灰度。星界云手机让“持续集成”不再是一句口号,而是可量化、可复制的日常动作。
如何开始
- 打开官网 https://www.chinac.com/Cloud/pro_cloudMoblie.html 注册账号。
- 新建云手机时选择“畅玩版”及以上配置,系统版本与目标用户 TOP 机型保持一致。
- 在控制台“ADB 白名单”里填入 Jenkins 构建机公网 IP,保存后即时生效。
- 把文中的 Pipeline 片段复制到现有 Job,即可零代码开启云端并行测试。
现在联系在线客服或提交工单,可申请 1 天免费试用,跑通脚本后再按月批量采购,让下一版发版不再被“设备排队”拖后腿。
零代码、零硬件、零等待——星界云手机用 ADB 白名单把 100 台 Android 装进一条命令行,CI/CD 提速 3 倍,只为让工程师把更多时间花在创造,而不是“拔插 USB”。
