Google 开源 ARTEMIS:AI Agent 如何接管 Android 真机测试?

简介: Google开源AI测试框架ARTEMIS,支持自然语言驱动Android真机自动化:理解任务、识别界面、跨App操作、自动截图/日志采集并生成报告。原生集成MCP,可接入Antigravity等AI IDE,实现“描述目标→自主执行→分析结果”闭环。(239字)

image.png

摘要:

Google 最近开源了一个很值得测试开发关注的项目——ARTEMIS

它不是帮你简单生成几段 Appium 脚本,而是让 AI Agent 直接操作 Android 真机或模拟器:理解自然语言测试任务、识别页面、点击控件、跨 App 执行业务流程,还能自动获取截图、Logcat、执行轨迹,并生成测试结果。

更值得关注的是,ARTEMIS 原生支持 MCP,可以直接接入 Antigravity、Codex、Claude Code、Cursor、Windsurf 等 AI 编程环境。

这意味着移动端测试正在从:

人写脚本 → 脚本操作手机

逐渐走向:

人描述测试目标 → Agent 自己规划 → 操作真机 → 分析结果。


一、先看效果:AI 已经可以自己操作 Android 真机

ARTEMIS 官方演示了一个很典型的跨 App 场景。

AI 先在 Google Maps 中规划驾车路线、计算行程时间,然后再自动打开 YouTube,搜索并播放指定歌曲。

整个过程不是提前写死一套 XPath 或坐标脚本,而是 Agent 根据当前手机界面不断判断下一步应该做什么。

demo.gif

这其实已经和传统自动化测试有明显区别。

传统自动化更像:

测试人员
   ↓
编写脚本
   ↓
定位元素
   ↓
执行操作
   ↓
断言结果

而 ARTEMIS 更像:

测试人员给出目标
        ↓
AI 理解任务
        ↓
观察手机页面
        ↓
决定下一步操作
        ↓
执行
        ↓
检查结果
        ↓
继续执行 / 调整策略

换句话说,测试执行本身开始具备一定的自主决策能力。


二、ARTEMIS 到底是什么?

简单理解:

ARTEMIS 是一套面向 Android 真机自动化的 AI Agent 框架。

你可以直接给它自然语言任务,例如:

打开系统设置,
进入电池页面,
确认当前电量是否正常显示,
同时检查页面有没有异常弹窗。

然后 ARTEMIS 自己完成页面观察、元素定位、点击、滚动、输入以及结果检查。

官方目前重点强调了几个能力:

  • 自然语言驱动 Android 自动化
  • 跨 App 长流程任务
  • Accessibility + OCR + 视觉模型组合定位
  • 真机截图和 Logcat 采集
  • Flash / Pro 两种执行模式
  • MCP 接入 AI IDE
  • Bug 自动复现
  • 长时间探索性测试
  • Python SDK 和 CI/CD 集成

也就是说,它并不是单纯的“手机 Computer Use”。

它已经明显在往:

AI 驱动的移动端测试执行引擎

这个方向发展。


三、真正值得看的,是 Antigravity × ARTEMIS 工作流

如果只是让 AI 自动点击手机,其实并不是最有意思的地方。

ARTEMIS 官方专门展示了一套:

Antigravity × ARTEMIS 自主测试工作流

Antigravity 通过 MCP 调用 ARTEMIS,可以把一句自然语言测试需求,最终转化为:

测试需求
   ↓
测试计划
   ↓
真机执行
   ↓
数据采集
   ↓
问题诊断
   ↓
测试报告

完整闭环。

第一步:输入测试需求

首先,测试人员直接在 Antigravity 中描述测试场景以及关注的指标。

不需要先写自动化代码,而是先描述:

我要测什么。

image.png

比如你可以告诉 Agent:

测试这个 App 的启动性能。

完成冷启动、登录、首页加载,
记录关键页面加载时间,
同时观察 CPU、内存和异常日志,
最后输出一份测试报告。

这一步实际上对应的是:

Task Dispatch。

也就是任务下发。


第二步:自动生成测试计划

接下来 Antigravity 不会立即开始乱点。

它会先理解目标,然后把任务拆解成测试步骤和执行计划。

image.png

例如:

启动 App

↓

等待首页加载

↓

执行登录

↓

进入目标业务页面

↓

记录性能数据

↓

检查异常日志

↓

整理最终结果

这个变化其实非常重要。

因为传统 UI 自动化里面:

测试流程是人提前写进代码里的。

而 Agent 测试里面:

流程可以在运行前由 Agent 根据目标动态生成。


第三步:自主操作真机完成测试

测试计划确定后,ARTEMIS 开始真正操作 Android 设备。

image.png

Agent 会:

观察当前页面;

识别目标控件;

点击、输入、滑动;

判断页面有没有变化;

遇到异常重新选择操作策略;

同时采集执行信息。

如果是性能测试场景,还可以结合设备数据进行分析。

所以这一阶段对应的是:

Autonomous Test Execution。

这也是 ARTEMIS 和“AI 生成自动化脚本”最大的区别之一。

它不是:

AI → 写代码 → 人运行

而是:

AI
 ↓
直接驱动测试设备
 ↓
执行测试

第四步:生成诊断报告

测试完成以后,Agent 并不是只告诉你:

测试结束。

而是可以继续整理执行过程中的:

  • 测试步骤
  • 执行结果
  • 指标数据
  • 截图
  • Logcat
  • 异常信息
  • 原始数据

最终输出结构化测试报告。

image.png

这意味着:

测试计划、测试执行、证据采集和测试报告开始被串进同一个 Agent 工作流里。

而不是每一个环节分别使用一套工具。


四、MCP 为什么是这里面很关键的一环?

ARTEMIS 原生提供 MCP Server。

它可以直接接入:

  • Antigravity
  • Codex
  • Claude Code / Claude Desktop
  • Cursor
  • Windsurf
  • VS Code
  • Cline / Roo
  • OpenClaw

等 AI 开发环境。

这件事情对测试开发影响其实很大。

因为过去我们的研发测试流程一般是:

研发修改代码
      ↓
编译
      ↓
测试人员执行
      ↓
发现 Bug
      ↓
截图
      ↓
导出日志
      ↓
提交 Bug
      ↓
研发重新定位

接入 MCP 以后,有可能逐渐变成:

Coding Agent 修改代码
        ↓
构建 APK
        ↓
安装到 Android 真机
        ↓
ARTEMIS 执行测试
        ↓
复现业务流程
        ↓
获取截图 + Logcat
        ↓
Agent 分析问题
        ↓
修改代码
        ↓
再次验证

于是:

Coding Agent 和 Testing Agent 真正开始连起来了。

这才是我觉得 ARTEMIS 最值得测试开发关注的地方。


五、传统 XPath 不稳定,它是怎么解决的?

做过移动端自动化的人应该都有体验。

真正让人头疼的,经常不是写第一版自动化脚本。

而是维护。

页面改版以后:

XPath 变了。

Resource ID 变了。

控件层级调整了。

分辨率变了。

脚本就可能开始大量报错。

ARTEMIS 的做法并不是彻底抛弃传统 UI 信息,而是组合使用:

Accessibility
      +
OCR
      +
视觉模型

普通 Android 控件优先使用结构化信息定位。

如果遇到 Flutter、Compose、Canvas 等自绘 UI,则可以继续借助视觉模型进行定位。

所以它的设计思路其实比较工程化:

可以确定性定位
       ↓
优先使用元素信息

定位不到
       ↓
再使用视觉理解

仍然存在特殊情况
       ↓
坐标等方式兜底

而不是所有页面都截图扔给大模型。

这对速度、Token 成本和稳定性都会更友好。


六、ARTEMIS 还有两种执行模式

ARTEMIS 设计了两套不同的执行模式:

Flash 和 Pro。

它们解决的其实是两类完全不同的测试任务。

Flash:适合高频快速执行

Flash 是比较轻量的:

Observe
   ↓
Think
   ↓
Act

循环。

模型观察当前页面,决定下一步,然后马上执行。

官方给出的典型执行速度约为:

3~5 秒一步。

比较适合:

  • 快速 UI 验证
  • 固定流程
  • 高频回归
  • 简单操作任务

Flash 默认不限制执行步数,而是通过历史压缩控制上下文规模。


Pro:适合复杂测试任务

Pro 则更像真正的 Testing Agent。

内部会出现:

Planner
   ↓
Operator
   ↓
Checker

Planner 负责维护测试计划;

Operator 负责具体操作;

Checker 负责检查关键节点和最终结果。

并且每个重要操作之前还会经过 Safety Net。

如果某一步操作失败,Operator 可以根据当前页面继续恢复,而不是整条测试直接失败。

官方给出的典型单步耗时大约为:

15~40 秒。

它更适合:

  • 复杂业务流程
  • 探索性测试
  • 长时间稳定性测试
  • Bug 复现
  • ADB / 视频 / 日志诊断
  • 需要严格断言的测试场景

甚至支持 100+ 步的长流程任务。([GitHub][2])


七、怎么安装 ARTEMIS?

官方已经把安装过程做得比较简单。

首先准备:

一台开启 USB 调试的 Android 真机,或者 Android 模拟器。

启动脚本会自动检查和安装包括:

  • ADB
  • scrcpy
  • FFmpeg
  • Python uv
  • Python 项目依赖

等环境,同时还会询问你是否安装 MCP 和 ARTEMIS 的测试 Rules。([GitHub][2])


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

Windows 用户这里注意一下。

PowerShell 默认不会直接从当前目录寻找可执行脚本,所以要写:

.\start.bat

而不是:

start.bat

如果使用的是 CMD,则可以直接运行:

start.bat

官方启动脚本目前也会调用 PowerShell bootstrap 完成后续初始化。([GitHub][4])


八、第一次启动,还需要配置模型

第一次启动时,程序会自动初始化:

.env

配置文件。

至少需要配置一个 LLM Provider。

目前 .env.example 中已经预留了:

GEMINI_API_KEY=

GOOGLE_API_KEY=

OPENAI_API_KEY=

ANTHROPIC_API_KEY=

OPEN_ROUTER_API_KEY=

XAI_API_KEY=

也就是说,你不一定只能使用 Gemini。

选择自己已有的模型 API Key 即可。

Google Cloud Vision OCR 则是可选配置。([GitHub][5])


九、启动以后还有一个 Web 控制台

启动成功以后,ARTEMIS 默认会打开:

http://localhost:8000

Web 控制台。

里面可以看到:

  • Android 设备连接
  • 手机实时投屏
  • 自然语言测试任务
  • Agent 实时执行过程
  • Flash / Pro 模式
  • 历史任务
  • 执行轨迹
  • 截图
  • Replay 回放

也就是说,即使暂时不接 Antigravity 或 Codex,也可以先通过 Web UI 直接体验。([GitHub][2])

还可以直接通过 CLI 测一下:

uv run artemis run \
"Open Settings, find Battery and tell me current level" \
--profile flash

中文任务同样可以尝试,例如:

uv run artemis run \
"打开系统设置,进入电池页面,告诉我当前电量" \
--profile flash

十、怎么接入 Antigravity、Codex 或 Claude Code?

这一步其实更简单。

如果只安装 Antigravity:

uv run artemis mcp --install antigravity

如果希望把支持的 AI IDE 全部配置好:

uv run artemis mcp --install all

安装器不仅会配置 MCP Server,还会同步 ARTEMIS 提供的:

rules.md

测试行为规范。([GitHub][3])

这份 Rules 很值得注意。

它不是单纯告诉 AI:

你可以调用 ARTEMIS。

而是在约束 Agent 怎么进行移动端测试,包括:

  • 先探索真实 App,再写自动化代码
  • 不允许凭空猜测 UI 状态
  • 什么情况使用 Flash
  • 什么情况使用 Pro
  • 如何处理模型延迟
  • 优先动态元素定位
  • 坐标作为兜底
  • 环境异常优先执行诊断

也就是说:

MCP 提供工具能力,Rules 提供测试方法。

这两个结合起来以后,AI IDE 才更像一个真正的移动端测试 Agent。


十一、然后你就可以直接在 IDE 里让 AI 测 App

官方给了一个非常有代表性的 Prompt:

Build the latest changes into an APK,
install it on the connected device,
open the login screen with a test account,
verify if there are any unexpected popups after login,
and return screenshots of the final page.

翻成中文大概就是:

把刚刚修改的代码编译成 APK,

安装到连接的 Android 手机,

打开登录页面,

使用测试账号登录,

检查登录以后有没有异常弹窗,

最后把页面截图返回给我。

你会发现,这已经不是传统意义上的:

生成一个 Appium 测试脚本

而是直接告诉 AI:

把刚才写好的 App,自己测一遍。

这就是两种模式最核心的区别。([GitHub][2])


十二、那 Appium 会不会被 ARTEMIS 替代?

我觉得暂时没必要这么理解。

对于大量:

  • 固定回归用例
  • 确定性流程
  • 高频 CI
  • 强断言
  • 大规模重复运行

传统 Appium、UIAutomator 依然有明显优势。

因为代码执行仍然更加:

快、确定、可控。

Agent 更适合补充传统自动化成本比较高的地方,例如:

探索性测试

复杂长流程

页面变化频繁

跨 App 操作

Bug 自动复现

异常诊断

临时验证任务

所以未来比较现实的测试架构,很可能不是:

Agent
替代
Appium

而是:

        Testing Agent
             ↓
 ┌───────────┼───────────┐
 ↓           ↓           ↓
Appium    UIAutomator    MCP
 ↓           ↓           ↓
确定执行    系统能力     外部工具
             ↓
       Vision / OCR
             ↓
        Android Device

AI 做理解、规划和决策。

传统自动化工具继续负责稳定执行。

两者最终组合起来。


十三、99%+ AndroidWorld 成绩应该怎么看?

ARTEMIS 官方 README 还公布了一个非常亮眼的数据:

AndroidWorld Benchmark 任务完成率超过 99%。

AndroidWorld 是 Google Research 发布的 Android Agent Benchmark,主要用于测试 Agent 在 Android 环境中执行复杂多步骤任务的能力。([GitHub][2])

不过这里需要注意:

这个 99%+ 是 ARTEMIS 项目 README 中公布的 benchmark 成绩。

它并不意味着:

企业里的任意 App 都有 99% 的自动化成功率。

真实业务里面还会存在:

  • 验证码
  • 登录态
  • 网络波动
  • 动态页面
  • 风控策略
  • 权限弹窗
  • 第三方 SDK
  • 自绘 UI
  • 异步请求
  • 复杂业务状态

Benchmark 能证明的是 Agent 的能力上限正在快速提升。

但真正进入企业环境,仍然需要测试工程、数据治理和稳定性机制。


十四、测试开发真正应该关注什么?

过去两年,我们谈 AI 测试时,最常见的其实是:

AI 生成测试用例

AI 生成接口脚本

AI 生成 UI 自动化代码

AI 分析测试报告

这些事情的共同特点是:

AI 主要负责生成内容。

但 ARTEMIS 这种项目开始进入另外一个阶段:

AI 理解测试任务

↓

AI 生成测试计划

↓

AI 操作真实设备

↓

AI 观察执行状态

↓

AI 判断测试结果

↓

AI 获取日志和截图

↓

AI 输出测试报告

也就是说:

AI 开始真正参与测试执行。

这时候需要掌握的东西,也就不只是 Prompt Engineering 了。

测试开发以后越来越需要理解:

  • Agent
  • MCP
  • Tool Calling
  • Computer Use
  • Android 自动化
  • Accessibility
  • OCR
  • VLM
  • Context Engineering
  • 测试规划
  • Agent 评测
  • 可观测性
  • 异常恢复
  • CI/CD 集成

因为真正有价值的 AI 测试,并不是:

让大模型帮我们多写几段测试代码。

而是:

怎么把模型真正接进软件研发和质量保障流程。

从:

AI 帮测试人员写测试

逐渐走向:

AI Agent 参与完成测试。

ARTEMIS,就是目前非常值得测试开发工程师研究的一个案例。


相关文章
|
12天前
|
人工智能 自然语言处理 安全
阿里云千问办公 QwenWork详细介绍:产品核心能力、典型场景、价格及常见问题解答
千问办公是阿里云推出的一站式AI办公平台,主打"不止于对话,更注重交付",依托通义千问旗舰大模型,用户一句话即可完成数据分析、PPT生成、视频剪辑等复杂任务,直接输出可用成果。产品深度打通钉钉生态与企业OA,覆盖桌面端、网页端,提供企业标准版198元/人/月等多档订阅方案,新用户注册即赠2000积分,适配工程师、HR、财务等多职业办公场景,成为能动手干活的"全能AI同事"。
|
12天前
|
人工智能
千问办公官网入口:阿里AI办公QwenWork产品页和免费网页端链接
千问办公官网含两大入口:一是网页端(qwenwork.cn),即开即用,支持浏览器直接访问;二是阿里云产品页 https://t.aliyun.com/U/JNKJuO 提供免费/付费版详情、功能介绍及使用指南。
|
18天前
|
网络协议 Linux iOS开发
【2026实测】Wireshark下载+安装+汉化+使用教程(图文版,巨详细)
Wireshark 是一款免费开源的网络协议分析工具,可实时捕获、解析并可视化数据包,助你诊断网络故障、分析通信协议(如HTTP、DNS、TCP等)。支持Windows/macOS/Linux,含中文界面,新手入门便捷。(239字)
|
11天前
|
IDE 开发工具
Qoder 上线 Sonus 模型,Computer Use 能力全面增强
Qoder国际版上线全新内置大模型Sonus(/ˈsoʊnəs/),全球领先,专精超长任务执行与电脑操作(Computer Use)。配合Qoder桌面端0.2.3版本,可自主完成编程、金融建模、科研及表格制作等复杂工作。现全面支持Qoder全系产品,效率提升3.2倍。
1371 8
Qoder 上线 Sonus 模型,Computer Use 能力全面增强
|
13天前
|
缓存 人工智能 自然语言处理
阿里云qwen3.8-flash大模型介绍:模型能力、模型价格、免费额度与最新活动
本文是阿里云百炼平台Qwen3.8-Flash大模型的选型接入指南,作为兼顾性能与响应速度的高性价比多模态模型,它支持百万级上下文窗口、全场景多模态输入与完整智能体能力矩阵,适配编程辅助、智能体协作等核心场景。文中同步梳理了最新下调的阶梯定价、夜间4折等优惠活动,搭配OpenAI兼容流式调用示例,帮助开发者低成本快速落地高并发AI应用。
阿里云qwen3.8-flash大模型介绍:模型能力、模型价格、免费额度与最新活动
|
13天前
|
人工智能 API 内存技术
刚刚 DeepSeek V4.1 Flash 开启内测,1 分钟教你用上!
刚刚 DeepSeek 内测群发布了 DeepSeek V4.1 Flash 中间版本内测的消息,这次的模型采用了新的结构,原生支持多模态、能力更强、速度更快、且成本更低。
1983 15
|
17天前
|
人工智能 运维 BI
阿里云千问办公QwenWork深度解析:基于Qwen3.8,六大核心能力重构企业全自动化工作流与计费选型指南
传统AI办公工具大多停留在对话问答、文档摘要、简单文案生成层面,只能完成单点碎片化任务,无法自主拆解复杂业务流程,很难串联多工具、多文档、外部业务系统完成端到端完整工作交付。很多企业在落地AI办公的时候,需要组合多款不同工具,来回切换界面,手动复制粘贴中间结果,智能化改造落地门槛居高不下。千问办公QwenWork是整合多款智能体产品能力打造的一体化企业办公智能体平台,底层基座依托Qwen3.8大模型,打通桌面端Agent、云端Agent、企业协同Agent三种运行形态,不再局限简单问答,接收业务目标之后自主拆解任务步骤,调用各类工具,处理文档、表格、浏览器自动化、数据查询,直接输出可交付的办公
1686 4
|
19天前
|
缓存 数据可视化 开发工具
DeepSeek Harness 怎么更新?dsh 更新完整指南:更新本体(npx、npm、源码)与更新插件两种方式
DeepSeek Harness 的更新分两层:本体更新(npx 自动最新、npm update -g、源码 git pull)与插件更新(插件市场点更新、命令行覆盖安装)。本文按「准备 → 更新本体 → 更新插件 → 更新后检查」四步走,覆盖新手常见疑问。
2051 1
DeepSeek Harness 怎么更新?dsh 更新完整指南:更新本体(npx、npm、源码)与更新插件两种方式
|
13天前
|
缓存 JSON API
阿里云千问Qwen3.8‑Max深度解析:核心能力、订阅计费规则、API接入配置与生产落地完整教程
Qwen3.8‑Max作为千问系列新一代MoE架构旗舰基座,总参数量达到2.4万亿,激活参数950亿,是面向复杂专业任务、长周期智能体、工程级代码开发、多模态深度解析的高阶大模型,原生支持文本、图像、视频多模态输入,最大上下文窗口达到百万Token,最大输出Token支持131072,内置深度思考推理链路,在编程、科研、法律金融专业分析、长视频文档解析、自主Agent任务等场景能力表现突出。很多开发者在项目前期直接接入该旗舰模型,却对模型能力边界、多种计费模式、订阅套餐权益、API参数配置、上下文缓存优化缺乏完整认知,出现成本失控、接口报错、长文本信息丢失、深度思考模式额外消耗大量Token等
908 3
|
7天前
|
缓存 IDE Java
【保姆级】Android Studio下载、安装和汉化教程(2026最新)
Android Studio 是 Google 官方推出的免费 Android 应用开发集成环境,基于 IntelliJ IDEA,内置模拟器、调试器、性能分析及 Compose 界面工具,功能全面,文档丰富,是安卓开发首选工具。(239字)