Android 自动化测试的老大难:控件树变了,脚本就废;换一款机型,坐标就偏;App 改个版,测试同事就得重录一遍。
Google 开源的 ARTEMIS 换了个思路——不要写脚本,让 AI 像人一样看屏幕动手。
99% 这个数字怎么来的
在 Google Research 的 AndroidWorld 基准上,ARTEMIS 的任务完成率超过 99%。这个基准包含 100 多个多步任务,要求 Agent 完成的是"设置驾车路线并算出总时长,然后打开 YouTube 播放一首 Coldplay的歌"这种真实链路,而不是单点点一下按钮。
能跑通多步链路和能点对一个按钮,是两回事。
定位的三层回退
ARTEMIS 优先用元素索引定位元素,拿不到就退回坐标,再不行就靠视觉识别。这套回退机制是它能扛住真实 App 的关键——真机上很多界面根本没有稳定的元素标识。
执行上它是一个"观察—动作"反应式循环,异步汇总历史,单步通常 3 到 5 秒。还有一个 Pro Exploration 模式,会在每个动作前先探查目标,把被阻塞的动作交还给 Operator 去恢复,支持长时间运行的探索测试和稳定性测试。
IDE 直接驱动真机
通过 MCP 集成,Antigravity、Claude Code、Windsurf 可以直接驱动测试设备,顺便收集 Logcat 输出和截图。
一键启动脚本会自动装齐 ADB、scrcpy、FFmpeg 和 Python 依赖,还能把全局 MCP 配置和一份叫"Artemis Mobile Testing Mindset"的规则文件装进你的 AI IDE。
出海视角
如果你做的产品是移动 App,这条对你有直接价值。
一是它支持自然语言直接下测试指令,团队里没有自动化测试背景的人也能写出用例,这在人力紧张的小团队里比写 Playwright 脚本现实得多。二是拿真实设备跑测试这件事本身就有了对外说服力——给海外客户演示"我们的 App 经过了 99% 完成率的真实设备自动化验证",比任何 PPT 都有用。
中国移动端测试基本不外包,因为设备型号碎片化太严重,自己反而更可控。ARTEMIS 正是冲着这个痛点来的。
来源:GitHub