appium/appium-mcp
Appium MCP on Steroids!
appium‑mcp – 用于移动测试自动化的 AI 增强型 Appium 服务器
是什么 – 基于 Node.js 的 MCP(模型上下文协议)服务器,位于标准 Appium 自动化框架之上。它提供常规 Appium 功能(Android UiAutomator2、iOS XCUITest 等),并增加了 AI 驱动的辅助功能,允许您使用自然语言描述与设备交互,自动创建定位器,并从纯英文描述生成 Java/TestNG 测试代码。
核心功能(如 README 所述)
| 类别 | 您将获得的功能 |
|---|---|
| 跨平台移动自动化 | 使用内置的 Appium 驱动程序支持 Android 和 iOS 设备(真实设备、模拟器、仿真器)。 |
| AI 驱动的元素查找 | 一个工具(appium_ai),将截图发送到可配置的视觉模型(OpenAI 兼容)并返回与自然语言查询匹配的 UI 元素。 |
| 智能定位器生成 | 基于优先级规则生成稳健的选择器(XPath、可访问性 ID 等),减少测试的不稳定性。 |
| 自动化测试生成 | 将自然语言测试描述转换为使用 Page Object 模式的 Java/TestNG 代码。 |
| 会话管理 | 通过简单的 MCP 命令创建、连接和清理 Appium 会话;支持嵌入式本地驱动程序和远程 WebDriver/Appium 服务器。 |
| 多语言支持 | AI 层可理解多种语言(英语、西班牙语、中文、日语、韩语等)。 |
| 可观测性 | 可选的 OpenTelemetry 跟踪、每个操作的结构化“证据”记录,以及可配置的截图存储。 |
| 可扩展插件 API | 允许开发者添加自定义工具或替换现有工具。 |
典型工作流程
- 安装 服务器(
npx appium-mcp@latest),并将其添加到 IDE 的 MCP 配置中(Cursor、Gemini CLI、Claude Code 等)。 - 设置环境变量 – 至少设置
ANDROID_HOME(或 macOS 上的 iOS 工具),并可选地设置CAPABILITIES_CONFIG指向描述您设备的 JSON 文件。 - 启动会话 – 让服务器启动本地驱动程序(
action=create)或指向现有的远程 Appium 服务器(remoteServerUrl)。 - 向 AI 提出请求 – 发送自然语言请求,如“点击 登录 按钮”或“找到标记为 邮箱 的字段”。服务器使用通过
AI_VISION_*变量配置的视觉模型定位元素并执行操作。 - 生成代码 – 提供如“验证登录后欢迎屏幕显示用户姓名”之类的描述,即可获得包含 Page Object 模板的可运行 Java/TestNG 代码。
- 可选跟踪 – 启用 OpenTelemetry(
APPIUM_MCP_OTEL_ENABLED=true)以收集每个工具调用的跨度,有助于 CI 调试。
安装与快速入门(来自 README)
{
"mcpServers": {
"appium-mcp": {
"disabled": false,
"timeout": 100,
"type": "stdio",
"command": "npx",
"args": ["appium-mcp@latest"],
"env": {
"ANDROID_HOME": "/path/to/android/sdk",
"CAPABILITIES_CONFIG": "/path/to/your/capabilities.json"
}
}
}
}
- 在 Cursor IDE 中,点击一键安装徽章即可自动添加服务器。
- 使用 Gemini CLI:
gemini mcp add appium-mcp npx -y appium-mcp@latest。 - 使用 Claude Code CLI:
claude mcp add appium-mcp -- npx -y appium-mcp@latest。
配置亮点
- AI 视觉 – 通过
AI_VISION_ENABLED=true启用,并提供AI_VISION_API_BASE_URL和AI_VISION_API_KEY。默认模型为Qwen3-VL-235B-A22B-Instruct。 - 文档工具 – 通过
APPIUM_MCP_DOCS_ENABLED=true选择启用;需要可选的@appium/mcp-documentation包。 - OpenTelemetry – 通过
APPIUM_MCP_OTEL_ENABLED切换;使用标准OTEL_*变量配置导出器端点、服务名称等。 - 会话清理 – 由
APPIUM_MCP_ON_CLIENT_DISCONNECT控制(delete_all或skip)。 - 证据记录 – 设置
APPIUM_MCP_EVIDENCE=true可在每个元素查找或手势响应中附加结构化 JSON 块,有助于 CI 诊断。
谁会使用它?
- 希望通过与助手对话而非手动编写选择器来更快编写移动测试的 QA 工程师。
- 需要可靠、AI 增强的元素定位和自动测试骨架的 CI 管道开发者。
- 采用 LLM 驱动开发工具(Cursor、Claude、Gemini)并寻找可直接集成到这些 IDE 的现成 MCP 服务器的团队。
- 探索移动设备上基于视觉的 UI 交互的研究人员,因为服务器可以指向任何 OpenAI 兼容的视觉端点。
限制与要求(如 README 所述)
- 需要 Node 22+、Java 8+、Android SDK(用于 Android)和 Xcode(用于 macOS 上的 iOS)。
- AI 视觉功能仅在提供所需 API 端点和密钥时才可工作;否则
appium_ai工具不会注册。 - 每个服务器进程仅保持一个活动的 Appium 会话;并发会话需要独立的服务器实例。
- “通用”平台模式允许向远程 Appium 服务器传递任意能力集,但本地嵌入式驱动程序仅限于 Android 和 iOS。
总结
appium-mcp 是一个真正的软件项目,它在广为人知的 Appium 自动化栈中增加了 AI 驱动功能(自然语言元素定位、自动生成测试代码、多语言支持),并通过 MCP 协议与现代 LLM 中心 IDE 无缝集成。它明确属于 AI 增强移动测试领域,而非简单的教程或链接集合。
相关
- 项目
- 项目
- 项目
- 项目
- 项目