“基于车载车机 ADB 的安卓自动化测试”以及“类似智谱 AutoGLM 的 AI 安卓自动化项目”的整理和选型建议。
本文系统梳理了安卓自动化测试两大路线。传统ADB框架中,**Appium**适用于企业级测试,**AndroidViewClient**和**Airtest**适合脚本化与图像识别场景。AI驱动的方案里,**智谱Open-AutoGLM**擅长中文场景的视觉理解与操作,**DroidRun**支持多模型与跨平台,而**Android-MCP**则适合将安卓能力作为工具集成到现有AI平台。选型需根据
目录
AndroidViewClient / Culebra(纯 Python + ADB,适合脚本党)
Airtest(图像识别 + ADB,适合游戏和 GUI 复杂场景)
UiAutomator2 / Espresso / Selendroid / Playwright(Android Web)
三、面向 AI / Agent 的安卓自动化开源项目(含“会用手机的 AI”)
智谱 Open-AutoGLM / Phone Agent(强烈相关)
DroidRun(LLM 中立、Android+iOS 的智能 Agent)
Android-MCP(把 Android 变成 LLM 可用的“工具箱”)
以下均基于目前(2026-02)信息:
一、基于 ADB 的成熟安卓自动化方式概览
从实现路径上,大致可以分三类:
-
传统 UI 自动化框架:以 Appium、Espresso、UiAutomator2 等为代表,多数底层仍依赖 ADB 驱动设备
-
轻量/脚本化 ADB 封装框架:AndroidViewClient、Nico、Airtest 等,直接或间接封装 ADB 命令
-
面向 AI Agent / MCP 的新一代 ADB 网关:Android-MCP、AndroidViewClient MCP 版等,为 LLM/Agent 提供“会用手机”的能力
下面分层展开。
二、传统(工程实践成熟)的自动化测试框架
-
Appium(主流首选,强依赖 ADB)
-
定位:跨平台 UI 自动化框架,支持 Android / iOS / 桌面,基于 W3C WebDriver 协议。[1]
-
Android 底层:通过 UiAutomator2 驱动 Android 设备,本质上是在 ADB+UiAutomator2 基础上的一层服务。[2]
-
特点:
-
支持原生 / 混合 / WebView 应用测试
-
客户端语言丰富:Java / Python / JS / C# 等
-
生态完善:云真机平台、报告、CI 集成都有成熟方案
-
-
典型适用场景:
-
企业级 E2E 自动化回归
-
需要同时支持 Android + iOS 的团队
-
-
与 ADB 的关系:
-
ADB 不直接出现在脚本代码里,但设备连接、安装、日志、截图等都依赖 ADB 侧服务
-
-
什么时候优先选 Appium:
-
你是传统 QA 团队,希望“少折腾底层 ADB,多用现成生态”
-
需要稳定的跨平台方案,AI 仅作为辅助,而非主角
-
-
AndroidViewClient / Culebra(纯 Python + ADB,适合脚本党)
-
定位:基于 ViewServer 和 ADB 的纯 Python UI 自动化库与工具,曾作为 monkeyrunner 的增强版发展而来。[3]
-
主要能力:[3]
-
通过 ADB 获取 View 层级,做“设备无关”的视图级交互
-
自动导航、脚本录制与回放
-
多设备并发控制
-
-
新趋势:
-
提供 MCP 服务器 模式,可让 LLM 通过自然语言操控 Android(“Launch the Calculator app”, “Tap button with text Submit” 这类指令)。
-
-
适用场景:
-
Python 技术栈,期望直控 ADB、做一些自定义工具 / CI 脚本
-
想给 LLM 接一个轻量的“手机控制工具箱”
-
-
Airtest(图像识别 + ADB,适合游戏和 GUI 复杂场景)
-
定位:网易开源的“跨平台 UI 自动化框架”,对游戏和图像驱动场景很友好。[4]
-
关键特性:
-
图像识别驱动:通过截图+模板匹配定位 UI 元素,不依赖控件树
-
Poco 组件:可以访问 UI 结构(适配各大游戏引擎和 App)
-
自带 AirtestIDE,可录制脚本、运行、生成 HTML 报告
-
-
与 ADB 的关系:
-
Android 连接和操作(安装、启动、触控、键盘等)依赖 ADB
-
-
适用场景:
-
游戏 UI / 非标准控件(OpenGL 渲染)自动化
-
需要“所见即所得”录制、图像断言的项目
-
-
Nico(基于 ADB 命令的跨平台自动化框架)
-
定位:基于 ADB(Android)与 IDB(iOS)构建的跨平台移动自动化框架,Python 实现。[5]
-
特点:
-
直接封装 ADB 命令,提供
NicoAndroid对象进行元素查找和操作 -
支持
text/resource_id/class_name/xpath等多种定位方式 -
内置 UI Inspector,方便调试元素树
-
-
适用场景:
-
不想折腾 Appium,全 Python,希望通过更轻量的方式用 ADB 控制设备
-
需要同时兼顾 Android+iOS,但允许后端使用两种不同机制(ADB+IDB)
-
-
UiAutomator2 / Espresso / Selendroid / Playwright(Android Web)
这几个不是直接“做 ADB 的库”,但在实际工程中常被与 ADB 组合使用:
-
UiAutomator2:Google 原生 UI 自动化框架,常作为 Appium 的 Android driver。[2]
-
Espresso:白盒 UI 测试框架,在 app 进程内执行,适合快速单 App UI 测试。[6]
-
Selendroid:早期“Android 的 Selenium”,面向老版本 Android 和 WebView 场景,现在更多用于维护历史项目。[7]
-
Playwright:对移动端主要用于 移动 Web 自动化,对 Android 原生 App 支持还是“实验性”。[8]
如果你的关注点是“纯基于 ADB 的黑盒/UI 级控制”,上面这些原生框架更多是作为参考或被上层工具(如 Appium)封装使用。
三、面向 AI / Agent 的安卓自动化开源项目(含“会用手机的 AI”)
“类似智谱 AutoGLM 的基于 AI 的安卓自动化项目”。整体看下来,大致有两种代表路线:
-
视觉语言模型(VLM)+ ADB 的“Phone Agent”路线
-
LLM + MCP/工具调用 的“通用 Agent 控制手机”路线
-
智谱 Open-AutoGLM / Phone Agent(强烈相关)
-
核心概念:[9]
-
Phone Agent:基于 AutoGLM 的手机端智能助手框架
-
多模态理解手机屏幕(视觉+文字),结合自然语言指令规划点击/滑动/输入
-
通过 ADB(Android)或 HDC(HarmonyOS)执行操作
-
-
架构:[9]
-
Agent 代码(PC 端):负责调用模型、解析动作、通过 ADB 控制手机
-
Vision Model Service:可远程 API,也可本地 vLLM/SGlang 部署
-
流程:
-
ADB 截图
-
送入视觉语言模型 → 得到界面理解 & 下一步操作
-
通过 ADB 执行(Tap / Swipe / Type 等)
-
循环直到任务完成
-
-
-
能力:
-
直接支持“自然语言 → 手机完整操作链路”(例如“打开微信给张三发消息”)
-
支持敏感操作人工确认 / 接管(登录、验证码场景)
-
支持远程 ADB 连接(WiFi / 网络)
-
已适配 50+ 高频中文 App 场景
-
-
与传统自动化的关系:
-
可以完全不用写测试脚本,把测试步骤交给 Agent 自己规划
-
也可以作为一个“强大的自动化执行器”,由你的测试平台生成高层自然语言指令
-
-
如果你想“直接用智谱方案做 AI 安卓自动化”:
-
可以直接基于 GitHub 的
zai-org/Open-AutoGLM项目,按 README 步骤部署 -
模型可使用 AutoGLM-Phone-9B / -Multilingual,通过 API 或本地部署
-
-
DroidRun(LLM 中立、Android+iOS 的智能 Agent)
-
定位:通过 LLM Agent 控制 Android / iOS 设备,使用自然语言自动化各种操作。[10]
-
特点:
-
LLM 无关:支持 OpenAI / Anthropic / Gemini / Ollama / DeepSeek 等
-
同样采用“截图分析 + UI 结构抽取”方式理解屏幕
-
有 CLI 和 Python API,可集成到 CI、测试平台或你自己的 Agent 系统
-
集成执行追踪(Arize Phoenix),适合调试长链路任务
-
-
适用场景:
-
国际化或多模型环境,不希望绑定某一家模型供应商
-
想要一个“手机 Agent”框架,但更习惯用 GPT/Claude 等大模型
-
-
Android-MCP(把 Android 变成 LLM 可用的“工具箱”)
-
定位:一个轻量的 MCP 服务器,把 Android 设备能力以标准工具形式暴露给 LLM。[11]
-
技术路线:
-
底层通过 ADB + Android Accessibility API 操作设备(点击、滑动、输入、读取视图树、执行 shell 等)
-
上层是标准的 Model Context Protocol(MCP)接口,和任何支持 MCP 的 Agent/IDE/助手兼容
-
-
特征:
-
“Bring Your Own LLM/VLM”:任何支持 MCP 的大模型都能调用这套工具
-
提供丰富工具集:Click / LongClick / Type / Swipe / Drag / Press / Wait / Notification / Shell 等
-
延迟在 2–4 秒每轮交互,对交互式自动化足够
-
-
适用场景:
-
你已经有一个自研 AI Agent 平台(或用现成 Agent 框架),只需要一个“安卓能力插件”
-
希望统一所有外部工具接入方式(数据库 / HTTP / Android / 云服务等都用 MCP)
-
-
AndroidViewClient 的 MCP 集成
-
在 AndroidViewClient 的最新版本中,作者提供了一个 CulebraTester2 MCP Server:[3][12]
-
特点:
-
使用 AndroidViewClient + CulebraTester2 采集 UI 信息
-
通过 MCP 方式提供“基于文本/资源ID查找元素并点击、长按、输入、截屏等 20 多种工具”
-
-
这基本是“老牌 ADB 框架 + 新标准 MCP + LLM”的组合,平滑过渡到 AI 驱动测试
-
-
其他相关 AI 自动化项目
这些不是都以 ADB 为核心,但思路类似“AI 控制手机”:
-
minitap-ai/mobile-use[13]
-
开源 AI Agent,通过自然语言控制 Android / iOS
-
能在任意应用中执行 UI 操作、抓取数据,并按描述输出 JSON 等结构化结果
-
LLM 可配置,适合做“APP 级信息抽取 + 自动操作”
-
-
FIRERPA / lamda[14]
-
自称“最强 Android RPA Agent 框架”,重心在企业级 RPA/监控/取证
-
纯设备端服务,无外部依赖,兼容 Android 6–16,远程桌面延迟 <80ms
-
提供 160+ API,通过 Python SDK 能与 AI 模型集成,更多偏安全自动化、数据自动化
-
-
DroidWright[15]
-
在设备上运行的 JS 自动化框架,使用 Accessibility Service,而非 PC 侧 ADB
-
虽然“不需要 ADB”,但与很多 ADB 思路相通:脚本控制 +(可选)AI 生成脚本
-
四、如果你要“现在”落地,怎么选?
-
只做传统自动化测试(脚本为主)
-
想要稳定、团队协作好:Appium 4.x + UiAutomator2
-
Python 技术栈,喜欢直接用 ADB:
-
中小项目:AndroidViewClient 或 Nico
-
游戏 / 图像复杂:Airtest + Poco
-
-
想要“类似智谱 AutoGLM 的 AI 自动化手机能力”
-
重点路线 A:直接用智谱 Open-AutoGLM / Phone Agent
-
你的主要业务是中文、国内 App 场景
-
接受 AutoGLM 体系(或已在用 GLM 模型)
-
需要快速验证“AI 能帮我自动操作手机完成任务/测试”
-
-
重点路线 B:DroidRun + 你现有的 LLM(GPT/Claude 等)
-
想用海外大模型或多模型对比
-
希望 Android + iOS 都有统一的 Agent 管理
-
-
重点路线 C:Android-MCP / AndroidViewClient MCP + 自建 Agent
-
你已经有一个 Agent 编排框架,只缺“安卓能力插件”
-
希望工具接入接口统一(HTTP、DB、Android 都用 MCP)
-
-
渐进式升级路径(从 ADB 到 AI)
-
Phase 1:用 AndroidViewClient / Nico / Airtest 把传统脚本整理好
-
Phase 2:接入 MCP 服务器(Android-MCP 或 CulebraTester2 MCP)
-
用 LLM 先从“帮你生成脚本”进化到“直接通过 MCP 工具操作设备”
-
-
Phase 3:引入视觉语言模型(如 AutoGLM-Phone-9B 或其他 VLM)
-
把复杂 UI 理解/点击规划交给模型
-
对难测场景(跨 App、复杂流程)使用 AI Agent 自动回归
-
五、总结(直给)
-
基于 ADB 的成熟自动化框架:
-
工程界主流:Appium(+UiAutomator2)
-
轻量脚本化:AndroidViewClient / Culebra、Nico、Airtest
-
-
基于 AI 的安卓自动化(类似智谱 AutoGLM)代表项目:
-
智谱 Open-AutoGLM / Phone Agent(VLM+ADB,中文场景极佳)
-
DroidRun(LLM 中立,支持 Android+iOS)
-
Android-MCP、AndroidViewClient MCP(把安卓能力以 MCP 工具形式暴露给各种 Agent)
-
辅助/相关:minitap-ai/mobile-use、FIRERPA/lamda、DroidWright 等
-
-
选型方向建议:
-
要成熟稳定测试:先用 Appium / AndroidViewClient / Airtest
-
要“会用手机的 AI”:选 Open-AutoGLM 或 DroidRun
-
要自研 Agent 平台:优先看 Android-MCP / CulebraTester2 MCP,把安卓封装成 MCP 工具
-
References
[1] appium/appium. https://github.com/appium/appium [2] appium/appium-uiautomator2-driver. https://github.com/appium/appium-uiautomator2-driver [3] dtmilano/AndroidViewClient. https://github.com/dtmilano/AndroidViewClient [4] AirtestProject/Airtest. https://github.com/AirtestProject/Airtest [5] letmeNo1/Nico. https://github.com/letmeNo1/Nico [6] Espresso | Test your app on Android. https://developer.android.com/training/testing/espresso [7] selendroid/selendroid. https://github.com/selendroid/selendroid [8] Android class in Playwright docs. https://playwright.dev/docs/api/class-android [9] zai-org/Open-AutoGLM. https://github.com/zai-org/Open-AutoGLM [10] droidrun/droidrun. https://github.com/droidrun/droidrun [11] CursorTouch/Android-MCP. https://github.com/CursorTouch/Android-MCP [12] CulebraTester2 MCP Configuration Guide. https://github.com/dtmilano/AndroidViewClient/blob/master/docs/MCP_CONFIGURATION.md [13] minitap-ai/mobile-use. https://github.com/minitap-ai/mobile-use [14] firerpa/lamda. https://github.com/firerpa/lamda [15] tas33n/DroidWright. https://github.com/tas33n/DroidWright
更多推荐

所有评论(0)