配置
本页面记录了WebdriverIO MCP服务器的所有配置选项。
MCP服务器配置
MCP服务器通过Claude Desktop或Claude Code配置文件进行配置。
基本配置
macOS
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"]
}
}
}
Windows
编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"]
}
}
}
Claude Code
编辑项目的 .claude/settings.json:
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"]
}
}
}
环境变量
通过环境变量配置Appium服务器连接和其他设置。
Appium连接
| 变量 | 类型 | 默认值 | 描述 |
|---|---|---|---|
APPIUM_URL | string | 127.0.0.1 | Appium服务器主机名 |
APPIUM_URL_PORT | number | 4723 | Appium服务器端口 |
APPIUM_PATH | string | / | Appium服务器路径 |
使用环境变量的示例
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"],
"env": {
"APPIUM_URL": "192.168.1.100",
"APPIUM_URL_PORT": "4724",
"APPIUM_PATH": "/wd/hub"
}
}
}
}
浏览器会话选项
通过start_browser工具启动浏览器会话时可用的选项。
headless
- 类型:
boolean - 必填: 否
- 默认值:
false
在无头模式下运行Chrome(无可见浏览器窗口)。适用于CI/CD环境或不需要看到浏览器的情况。
windowWidth
- 类型:
number - 必填: 否
- 默认值:
1920 - 范围:
400-3840
初始浏览器窗口宽度(像素)。
windowHeight
- 类型:
number - 必填: 否
- 默认值:
1080 - 范围:
400-2160
初始浏览器窗口高度(像素)。
navigationUrl
- 类型:
string - 必填: 否
浏览器启动后立即导航到的URL。这比单独调用start_browser后跟navigate更高效。
示例: 一次调用启动浏览器并导航:
Start Chrome and navigate to https://webdriver.io
移动应用会话选项
通过start_app_session工具启动移动应用会话时可用的选项。
平台选项
platform
- 类型:
string - 必填: 是
- 值:
iOS|Android
要自动化的移动平台。
platformVersion
- 类型:
string - 必填: 否
设备/模拟器的操作系统版本( 例如,iOS的17.0,Android的14)。
automationName
- 类型:
string - 必填: 否
- 值:
XCUITest(iOS),UiAutomator2|Espresso(Android)
要使用的自动化驱动程序。iOS默认为XCUITest,Android默认为UiAutomator2。
设备选项
deviceName
- 类型:
string - 必填: 是
要使用的设备、模拟器或仿真器的名称。
示例:
- iOS模拟器:
iPhone 15 Pro,iPad Air (5th generation) - Android模拟器:
Pixel 7,Nexus 5X - 真实设备: 系统中显示的设备名称
udid
- 类型:
string - 必填: 否(真实iOS设备需要)
唯一设备标识符。真实iOS设备需要(40字符标识符),Android真实设备建议提供。
查找UDID:
- iOS: 连接设备,打开Finder/iTunes,点击设备→序列号(点击显示UDID)
- Android: 在终端运行
adb devices
应用选项
appPath
- 类型:
string - 必填: 否*
要安装和启动的应用程序文件路径。
支持的格式:
- iOS模拟器:
.app目录 - iOS真实设备:
.ipa文件 - Android:
.apk文件
*必须提供appPath,或者设置noReset: true以连接到已运行的应用。
appWaitActivity
- 类型:
string - 必填: 否(仅Android)
应用启动时等待的活动。如果未指定,则使用应用的主活动/启动器活动。
示例: com.example.app.MainActivity
会话状态选项
noReset
- 类型:
boolean - 必填: 否
- 默认值:
false
在会话之间保留应用状态。当为true时:
- 应用数据被保留(登录状态、偏好设置等)
- 会话将分离而不是关闭(保持应用运行)
- 适用于测试跨多个会话的用户旅程
- 可以不提供
appPath而连接到已运行的应用
fullReset
- 类型:
boolean - 必填: 否
- 默认值:
true
在会话前完全重置应用。当为true时:
- iOS: 卸载并重新安装应用
- Android: 清除应用数据和缓存
- 适用于从干净状态开始
设置fullReset: false和noReset: true以完全保留应用状态。
会话超时
newCommandTimeout
- 类型:
number - 必填: 否
- 默认值:
60
Appium等待新命令的时间(秒),超过此时间将假定客户端已退出并结束会话。增加此值可延长调试会话时间。
示例:
60- 默认值,适合大多数自动化300- 5分钟,用于调试或较慢的操作600- 10分钟,用于非常长时间运行的测试
自动处理选项
autoGrantPermissions
- 类型:
boolean - 必填: 否
- 默认值:
true
在安装/启动时自动授予应用权限。当为true时:
- 相机、麦克风、位置等权限自动授予
- 不需要手动处理权限对话框
- 通过避免权限弹窗简化自动化
此选项主要影响Android。由于系统限制,iOS权限必须以不同方式处理。
autoAcceptAlerts
- 类型:
boolean - 必填: 否
- 默认值:
true
自动接受自动化过程中出现的系统提醒(对话框)。
自动接受的提醒示例:
- "允许通知?"
- "应用想要访问您的位置"
- "允许应用访问照片?"
autoDismissAlerts
- 类型:
boolean - 必填: 否
- 默认值:
false
关闭(取消)系统提醒,而不是接受它们。设为true时优先于autoAcceptAlerts。