iOS设备上PlayWright MCP服务器的安装配置与使用详细指南
基于Appium的iOS设备自动化测试MCPServer,提供屏幕截图、元素点击及UI树获取功能,支持Stdio与SSE两种运行模式,可无缝接入Trae等支持MCP协议的AI客户端,所有工具共享同一Appium会话,避免重复启动开销,显著提升测试效率。
本文将深入介绍一款基于 Appium 构建的 iOS 设备自动化测试 MCP Server。该工具支持屏幕截图、元素点击与 UI 树获取,能够无缝集成 Trae 等支持 MCP 协议的 AI 客户端。对于需要高效实现 iOS 自动化操作的用户而言,这是一个非常实用的解决方案。
安装依赖
项目采用 uv 进行依赖管理,流程十分简洁。只需运行以下命令即可完成全部依赖的安装:
uv sync
运行方式
方式一:Stdio 模式(推荐用于 Trae)
该模式是与 Trae 这类 AI 客户端集成的最佳选择。在终端中执行:
uv run python mcp_server.py --stdio
方式二:SSE 模式(用于远程连接)
如需远程访问或与其他支持 SSE 的服务集成,使用默认启动方式即可:
uv run python mcp_server.py
启动后,服务器默认运行在 http://localhost:8000。
Trae MCP 配置
Stdio 模式(推荐)
在 Trae 的 MCP Servers 配置中,直接添加以下 JSON 配置即可完成集成:
{
"name": "iOS Screenshot MCP",
"type": "stdio",
"command": "uv run python mcp_server.py --stdio",
"cwd": "~/mcp-servers/ios-playwright-mcp",
"enabled": true
}
SSE 模式
首先确保服务器已启动:
cd ~/mcp-servers/ios-playwright-mcp
uv run python mcp_server.py
然后在 Trae 中添加以下配置:
{
"name": "iOS Screenshot MCP",
"type": "sse",
"url": "http://localhost:8000/mcp/sse",
"enabled": true
}
Claude code MCP 配置
对于使用 Claude code 的用户,配置方法如下:
{
"mcpServers": {
"ios-playwright": {
"name": "ios-playwright",
"type": "stdio",
"command": "bash",
"args": ["-c", "source ~/mcp-servers/ios-playwright-mcp/.venv/bin/activate && uv run python ~/mcp-servers/ios-playwright-mcp/mcp_server.py --stdio"],
"cwd": "~/mcp-servers/ios-playwright-mcp/"
}
}
}
工具说明
这个 MCP Server 提供了三个核心工具,能够覆盖自动化测试中的常见场景,满足 iOS 设备操作需求。
take_ios_screenshot_tool
截取 iOS 设备当前屏幕并保存为图片文件。参数如下:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| platform_name | str | iOS | 平台名称 |
| automation_name | str | XCUITest | 自动化框架名称 |
| device_name | str | iPhone 16 Pro Max | 设备名称 |
| udid | str | 32EFED52-E30A-4CC8-AAE9-525B5A3A5B6A | 设备唯一标识符 |
| bundle_id | str | com.xue.Demo01 | 应用 Bundle ID |
| appium_server_url | str | http://127.0.0.1:4723 | Appium 服务器地址 |
| output_path | str | screen.png | 截图保存路径 |
返回值是截图文件的完整路径。
element_click_tool
通过 accessibility_id 点击 iOS 设备上的元素。参数如下:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| accessibility_id | str | - | 元素的 accessibility identifier(必填项) |
| platform_name | str | iOS | 平台名称 |
| automation_name | str | XCUITest | 自动化框架名称 |
| device_name | str | iPhone 16 Pro Max | 设备名称 |
| udid | str | 32EFED52-E30A-4CC8-AAE9-525B5A3A5B6A | 设备唯一标识符 |
| bundle_id | str | com.xue.Demo01 | 应用 Bundle ID |
| appium_server_url | str | http://127.0.0.1:4723 | Appium 服务器地址 |
返回值是操作结果消息。
dump_ui_element_tool
获取 iOS 设备当前屏幕的完整 UI 元素树,以 XML 格式返回。参数如下:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| platform_name | str | iOS | 平台名称 |
| automation_name | str | XCUITest | 自动化框架名称 |
| device_name | str | iPhone 16 Pro Max | 设备名称 |
| udid | str | 32EFED52-E30A-4CC8-AAE9-525B5A3A5B6A | 设备唯一标识符 |
| bundle_id | str | com.xue.Demo01 | 应用 Bundle ID |
| appium_server_url | str | http://127.0.0.1:4723 | Appium 服务器地址 |
返回值是 UI 元素树的 XML 字符串。
前置条件
在实际调用截图工具之前,需要确保以下基础条件已经满足:
- Appium Server 已经启动,地址为
http://127.0.0.1:4723 - 目标设备或模拟器已经成功连接
- 需要测试的应用(通过
bundle_id指定)已经安装在设备上
这些都是常规操作步骤,但缺失任何一个都会导致调用失败。
文件结构
项目结构清晰明了,核心文件如下:
.
├── mcp_server.py # MCP Server 主文件
├── screenshot_service.py # Appium 服务模块(会话管理、截图、点击、UI树)
├── main.py # 原始截图脚本
├── pyproject.toml # 项目配置
└── README.md # 项目说明
会话管理
值得一提的是,所有工具共享同一个 Appium 会话,这意味着不会重复建立连接。会话在首次调用任一工具时自动创建,并保持活跃状态直到服务器停止。这种设计有效减少了连接开销,显著提升了整体执行效率。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
手写Mini Cursor:Agent文件读写、命令执行与项目创建
基于ReAct循环构建的MiniCursorAgent,通过Node jsRuntime提供读文件、写文件、查看目录、执行命令四个工具,在本地工作区自主完成创建ReactTodoList项目、实现功能、添加样式动画等编程任务,模型根据工具结果循环决策。
一条脚本结合多步流水线与HereDoc实现全自动内容生产
多步流水线将多个命令调用串联成自动化生产流程,HereDoc通过cat命令以标准输入方式传递长文本prompt,避免引号嵌套引发的混乱,显著提升脚本可读性与可维护性,是处理长文本提示的有效方法,广泛应用于自动化脚本编写。
iOS设备上PlayWright MCP服务器的安装配置与使用详细指南
基于Appium的iOS设备自动化测试MCPServer,提供屏幕截图、元素点击及UI树获取功能,支持Stdio与SSE两种运行模式,可无缝接入Trae等支持MCP协议的AI客户端,所有工具共享同一Appium会话,避免重复启动开销,显著提升测试效率。
MCP Server开发入门与协议调试生产部署
MCPServer开发需解决五个工程问题:多工具共享数据层;输入验证含枚举值、必填字段和业务规则;错误处理区分硬错误与软反馈;日志必须写入stderr避免破坏协议;Resources使LLM能动态获取上下文数据。以JiraServer为例,实现4个工具、1个资源和1个Prompt,覆盖完整测试用例。
机器学习基本术语详解与核心概念解析
机器学习以数据为基础,样本由属性构成特征向量。训练从数据中学习模型,有标记的样本用于监督学习(分类与回归),无标记的样本用于无监督学习(聚类)。泛化能力是衡量模型对新样本适用性的关键标准。
- 热门数据榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-07-13 16:15
2026-07-13 16:14
2026-07-13 16:14
2026-07-13 16:14
2026-07-13 16:14
2026-07-13 16:13
2026-07-13 16:13
2026-07-13 16:13
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

