综合 / Android · 2026-10-13 10:02 · 1 阅读 · 0 赞
谷歌开源 ARTEMIS:用自然语言驱动 AI 操作安卓真机,AndroidWorld 完成率 99%+
谷歌开源 Android 真机 AI 智能体 ARTEMIS,无需编写元素定位脚本,用自然语言即可驱动真机跨 App 执行测试,支持 MCP 接入主流 IDE,AndroidWorld 基准完成率 99%+。
做 Android UI 自动化测试的同学一定深有体会:Appium 环境配置繁琐、元素定位写不完 XPath、Flutter/Compose 自绘界面控件树直接空白,脚本维护成本极高,稍微改动页面就大面积失败。过去自动化测试,核心精力都耗在编写、调试、维护定位脚本上。
谷歌最新开源项目 ARTEMIS,彻底改变移动端自动化的范式:不需要编写元素定位代码,只用自然语言描述测试任务,AI 就能自主观察屏幕、规划步骤、驱动安卓真机完成跨 App 操作,自动采集截图、Logcat 日志,输出完整测试报告。


01 核心能力亮点
ARTEMIS 是谷歌基于 Apache-2.0 协议开源的 Android 真机 AI 智能体系统,原生支持 MCP 协议,Gemini、Claude、GPT-4o、通义千问 VL 等多模态模型均可接入,在 AndroidWorld 基准评测拿下 SOTA 99%+ 任务完成率。
- ✅ 跨 App 自动化:自然语言下达指令,自由跨多个应用执行测试流程、业务任务,不受 App 边界限制
- ✅ 多模态元素定位:优先读取无障碍服务元素索引;Canvas、Compose、Flutter 自绘界面自动降级坐标 + 视觉识别兜底,解决传统自动化最大痛点
- ✅ MCP 原生 IDE 诊断:接入 Antigravity、Claude Code、Windsurf、Cursor、VS Code、Cline/Roo、OpenClaw,在 IDE 内直接操控真机、抓取日志与截图
- ✅ 双执行模式按需选择
- Flash 模式:观察-执行循环 + 异步历史摘要,单步 3–5 秒,适合快速冒烟、简单确定性任务
- Pro 模式:多智能体编排,动作执行前校验目标,动作失败自动重试,支持上百步长流程稳定性探索测试
- ✅ AndroidWorld 权威评测:覆盖 20+ 应用、100+ 多步复杂任务,任务完成率 99%+,大幅领先传统 AI 自动化方案

02 全流程自主测试工作流

ARTEMIS 搭配 Antigravity,实现从测试需求输入到完整报告交付的全链路自动化,完整四步闭环:
- 输入测试提示词:在 Antigravity 中,使用自然语言描述测试需求、验收指标,无需编写任何脚本
- 自动生成测试方案:AI 拆解复杂任务,输出详细测试步骤、架构图,支持人工确认方案
- 自主真机执行测试:驱动安卓真机自动完成界面导航、操作交互,实时采集性能指标,遇到弹窗、页面延迟自动处理
- 输出结构化最终报告:自动生成测试报告,附带性能图表、结论、原始截图、日志数据

03 四种使用入口,覆盖不同开发场景

ARTEMIS 对外提供 4 套使用入口,网页可视化、IDE 联动、命令行、Python SDK,适配测试、开发、CI 流水线多种场景。
Web 可视化测试控制台
启动服务后浏览器访问 http://localhost:8000,具备真机实时投屏、Prompt 自然语言输入、任务回放、实时推理流查看、任务队列看板。
支持命令管理:
uv run artemis ui # 启动 Web 控制台
uv run artemis restart # 重启服务
uv run artemis stop # 停止服务
uv run artemis status # 查看服务状态
原生 MCP 协议(IDE 协同,杀手锏能力)
内置 MCP Server,接入 AI 编程 IDE。写完 Android 代码后,直接在 IDE 对话框下发指令,AI 自动打包 APK、安装真机、执行测试、抓取截图与日志、复现偶现 Bug。
示例指令:
请帮我把刚刚修改的代码编译成 APK 并安装到手机上,打开登录页面输入测试账号,验证登录后是否有异常弹窗,并把最终页面截图回传。
CLI 命令行
终端直接下发自然语言任务,快速验证功能,示例:
uv run artemis run "打开系统设置,进入电池页面,验证电量百分比正常展示,检查页面无崩溃弹窗" --profile flash
Python SDK,接入 pytest 与 CI/CD
提供轻量客户端,Pydantic 强类型返回结果,直接集成现有自动化测试流水线:
import asyncio
from artemis_client import ArtemisClient
async def main():
client = ArtemisClient(
"http://artemis-host:8000",
device_serial="emulator-5554",
default_profile="flash",
)
result = await client.run(
"打开系统设置,进入『电池』页面,验证是否正常显示电量百分比,确认页面无异常报错弹窗。",
)
assert result.succeeded, f"测试执行失败: {result.error or result.status}"
print(f"✅ 测试通过!设备: {result.device_serial} | Trace ID: {result.trace_id}")
if __name__ == "__main__":
asyncio.run(main())

04 快速上手部署教程

前置准备
电脑连接安卓真机/模拟器;手机开启 USB 调试;小米等机型需开启允许模拟点击。要求 Python 3.12+。
项目一键脚本自动安装 ADB、scrcpy、FFmpeg、uv 及全部项目依赖。
macOS / Linux:
# 克隆仓库并进入目录
git clone https://github.com/google/artemis.git && cd artemis
# 一键启动
./start.sh
Windows PowerShell:
git clone https://github.com/google/artemis.git
cd artemis
.\start.bat
PowerShell 必须使用 .\start.bat,末尾不要加 ``;CMD 环境直接运行 start.bat。
启动成功自动打开浏览器 Web 控制台 http://localhost:8000
MCP 一键挂载到 AI IDE
# 全部支持 IDE 一键安装 MCP 服务 + rules 测试规则
uv run artemis mcp --install all
支持手动生成 TOML/JSON 配置,适配 Codex、Antigravity、Claude Desktop 等 MCP 客户端。强烈推荐挂载 rules.md 测试准则,让 AI 具备专业移动端测试思维,减少无效操作。

05 手机端安装组件说明
首次执行任务,ARTEMIS 自动安装 Artemis Accessibility Helper,是轻量无障碍服务,用于读取屏幕布局,不会抢占 UiAutomation 连接。
- 手机状态栏出现折叠通知「Artemis test helper is running」,在系统无障碍设置内可看到该服务
- 仅访问本机回环地址,不会向外上传任何用户数据
- 相关管理命令
uv run artemis helper install # 预先安装助手,省去首次任务等待 3 秒
uv run artemis helper status # 查看助手状态
uv run artemis doctor # 环境诊断
uv run artemis helper uninstall # 卸载无障碍助手
可在 .env 配置文件修改参数:
ARTEMIS_HIERARCHY_BACKEND=uiautomator切换底层为 UIAutomator2ARTEMIS_HELPER_AUTO_INSTALL=false关闭自动安装助手
如果无障碍助手中途失效,ARTEMIS 会自动回退 UIAutomator2 执行,并在任务报告中标注异常。

06 两种模式详细对比

| 模式 | 单步耗时 | 核心机制 | 适用场景 | 限制说明 |
|---|---|---|---|---|
| Flash | 3–5 秒 | 响应式观察执行循环,历史摘要压缩,无任务预编排 | 冒烟测试、简单跨 App 操作、快速巡检 | 无前置校验、不生成完整终审报告,不能执行 ADB 命令 |
| Pro | 15–40 秒 | Planner 任务规划 + Operator 执行 + Checker 终审校验,动作执行前安全校验 | 长流程端到端测试、探索性稳定性测试、复杂业务场景 | 模型推理开销更大,耗时更长,支持 ADB 诊断、循环持续监控 |
Flash 模式会压缩历史截图与步骤记录,避免上下文 Token 无限膨胀,长任务不会直接中断;针对 Toast、临时悬浮按钮这类瞬态控件,支持快速动作序列,在控件消失前完成点击。
Pro 模式每一步动作下发前校验 UI 元素,动作失败会记录执行事故,自动尝试恢复,跑完任务后对照原始需求做终审校验。

07 不是替代,而是互补
很多测试同学会问:ARTEMIS 会取代 Appium 吗?结论:短期两者是互补关系,定位完全不同。
- Appium:传统自动化执行框架。需要人工编写脚本、XPath 元素定位、等待策略,适合大批量稳定回归用例,执行成本低,结果判定严格非黑即白。页面一旦改动,脚本大量维护。
- ARTEMIS:AI Agent 自主测试系统。只需要自然语言描述目标,AI 自主找元素、规划路径,Flutter/Compose 自绘界面可识别。擅长探索测试、冒烟验证、偶现 Bug 复现。缺点是每次动作需要调用多模态模型,有 Token 开销,结果判定带有模型概率属性。
✅ 推荐组合方案:大批量稳定回归脚本继续使用 Appium;探索性测试、新功能冒烟、用户反馈 Bug 复现交给 ARTEMIS。

08 适用人群与选型建议
👉 Android 开发/测试工程师:新功能快速冒烟、复现线上反馈 Bug,省去大量手工重复点击
👉 测试平台开发者:基于 MCP、Python SDK,封装成平台真机节点,接收自然语言测试用例
👉 AI Agent 开发者:给 AI Agent 增加一台安卓真机“实体操作手”,完成移动端任务
👉 极客爱好者:闲置安卓手机做个人移动端自动化、跨 App 数据采集
选型方案
- 快速验证简单流程,追求速度:Flash 模式
- 长链路复杂业务、稳定性探索、需要完整测试报告:Pro 模式
- 大批量固定回归用例:Appium + ARTEMIS 混合使用