智测 OpenQA

行业与实践工具与框架

一句话驱动真机:Google 开源的 Android 自动化项目 ARTEMIS

智测团队智测 OpenQA阅读约 3 分钟

ARTEMIS 把自然语言收成 Android 真机上的操作,并能通过 MCP 接到常见 AI IDE。本文按公开介绍改写它的能力边界、启动方式和手机会多出的辅助服务。

它解决什么问题

移动端自动化常常卡在两处:步骤必须事先写死,自绘界面又不好定位。ARTEMIS 换了一条路。你用自然语言说出要完成的事,它在 Android 真机或模拟器上把这句话变成实际操作。AI 助手和已有测试套件因此可以真正“动手”,而不是只生成一段还没跑过的脚本。

ARTEMIS 操作演示
ARTEMIS 操作演示

值得记住的能力

  • 跨应用执行:一条指令可以串起多个 App 里的测试步骤或日常操作。
  • 定位有退路:能用元素索引就用索引;自定义绘制的界面则退到坐标和视觉定位。
  • 在 IDE 里看现场:通过 MCP,Antigravity、Claude Code、Windsurf 可以操作测试设备,并收回 Logcat 与截图。
  • Flash:观察一次、执行一次,历史用异步摘要带走。项目给出的单步时间大约 3 到 5 秒。
  • Pro:每个动作先核对是不是当前目标,被拦住的动作交回 Operator,更适合长时间游走和稳定性摸底。
  • AndroidWorld:项目称,在 Google Research 的 AndroidWorld 基准里,100 多个多步任务的完成率超过 99%。这是介绍材料中的自述,不是本站复测。

接到 Antigravity 时的四步

Antigravity 通过 MCP 调用 ARTEMIS,把一句测试需求走成计划、真机动作和诊断报告。

  1. 用自然语言写清测什么、看哪些指标。
输入测试提示
  1. 自动拆步骤,给出方案和结构图,先给人确认。
生成测试方案
  1. 在真机上导航、操作,并同时看性能数字。
自主执行测试
  1. 交出结构化报告,里面有图表、结论和原始数据。
交付测试报告

启动

电脑需要连上一台已打开 USB 调试的 Android 手机,或一台 Android 模拟器。仓库里的一键脚本会检查并安装 ADB、scrcpy、FFmpeg,以及 Python(uv)和项目依赖。它还会尝试把全局 MCP,以及一份移动端测试准则 rules.md,挂到当前使用的 AI IDE。材料里提到的环境有 Antigravity、Cursor、Claude Code、Codex、Windsurf、VS Code、Cline/Roo 和 OpenClaw。

macOS 与 Linux:

git clone https://github.com/google/artemis.git && cd artemis
./start.sh

Windows 的 PowerShell 默认不从当前目录找可执行文件,所以要写 .\start.bat,行尾不要再加反斜杠。若用的是传统命令提示符,直接运行 start.bat。

启动后,默认浏览器会打开 Web 控制台 http://localhost:8000,里面有设备连接、实时画面、任务演练和状态回放。也可以不进网页,直接在终端跑:

uv run artemis run "打开系统设置,找到电池选项并告诉我当前电量" --profile flash

控制台,以及其他三种用法

Web 控制台

控制台上主要是五块:主页与工作区切换、Flash/Pro 和录像回放、实时推理(看见了什么、点在哪里、结构化小结)、提示词输入,以及任务队列。

  • 网页:uv run artemis ui。服务可以用 uv run artemis restart、uv run artemis stop、uv run artemis status 重启、停止或查看状态。
  • MCP:作为标准 MCP 服务器接进 IDE,在编辑器里驱动真机做自动化和缺陷复现。
  • 命令行:uv run artemis run,用于直接跑用例、做探索式巡检,或跑 AndroidWorld,输出是结构化的。
  • Python SDK:嵌进 pytest 或 CI。结果是 Pydantic 模型,方便写断言。

手机上会多一个辅助服务

某台设备第一次执行任务时,ARTEMIS 会安装 Artemis Accessibility Helper。这是一个用来读取屏幕布局的小型无障碍服务,不占用 UiAutomation 连接。如果你的其他工具要使用 UiAutomation,需要启用 FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES,否则该服务可能被暂停。

安装之后,通知栏会出现一条可折叠的 “Artemis test helper is running”,系统设置的无障碍列表里也会多一项。按项目说明,它只监听手机本机的回环地址,不向外发送数据。

  • 想避开第一次任务多出来的大约 3 秒,可以预先执行:uv run artemis helper install
  • 查看状态:uv run artemis helper status,或 uv run artemis doctor
  • 移除:uv run artemis helper uninstall
  • 改用 UIAutomator2:在 .env 中设置 ARTEMIS_HIERARCHY_BACKEND=uiautomator
  • 禁止自动安装:在 .env 中设置 ARTEMIS_HELPER_AUTO_INSTALL=false

任务中途如果 helper 失效,ARTEMIS 会退回 UIAutomator2,并在任务时间线、mobile_manage_task 的状态和最终报告里写明。

来源

代码与说明以仓库为准:<https://github.com/google/artemis>

本文根据公开介绍改写,命令、模式名称和 AndroidWorld 完成率均转述自该介绍,不是本站实测。配图保留原图。

觉得有用,转给同事

微信扫码

用微信扫一扫,在手机上打开后即可转发。

用 RSS 订阅

提交勘误