Cấu hình
Trang này mô tả tất cả các tùy chọn cấu hình cho máy chủ MCP của WebdriverIO.
Cấu hình Máy chủ MCP
Máy chủ MCP được cấu hình thông qua tệp cấu hình của Claude Desktop hoặc Claude Code.
Cấu hình Cơ bản
macOS
Chỉnh sửa ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"]
}
}
}
Windows
Chỉnh sửa %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"]
}
}
}
Claude Code
Chỉnh sửa tệp .claude/settings.json trong dự án của bạn:
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"]
}
}
}
Biến Môi trường
Cấu hình kết nối máy chủ Appium và các thiết lập khác thông qua biến môi trường.
Kết nối Appium
| Biến | Loại | Mặc định | Mô tả |
|---|---|---|---|
APPIUM_URL | string | 127.0.0.1 | Tên máy chủ Appium |
APPIUM_URL_PORT | number | 4723 | Cổng máy chủ Appium |
APPIUM_PATH | string | / | Đường dẫn máy chủ Appium |
Ví dụ với Biến Môi trường
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"],
"env": {
"APPIUM_URL": "192.168.1.100",
"APPIUM_URL_PORT": "4724",
"APPIUM_PATH": "/wd/hub"
}
}
}
}
Tùy chọn Phiên Trình duyệt
Các tùy chọn có sẵn khi bắt đầu một phiên trình duyệt qua công cụ start_browser.
headless
- Loại:
boolean - Bắt buộc: Không
- Mặc định:
false
Chạy Chrome ở chế độ headless (không hiển thị cửa sổ trình duyệt). Hữu ích cho môi trường CI/CD hoặc khi bạn không cần nhìn thấy trình duyệt.
windowWidth
- Loại:
number - Bắt buộc: Không
- Mặc định:
1920 - Phạm vi:
400-3840
Chiều rộng cửa sổ trình duyệt ban đầu tính bằng pixel.
windowHeight
- Loại:
number - Bắt buộc: Không
- Mặc định:
1080 - Phạm vi:
400-2160
Chiều cao cửa sổ trình duyệt ban đầu tính bằng pixel.
navigationUrl
- Loại:
string - Bắt buộc: Không
URL để điều hướng ngay sau khi khởi động trình duyệt. Điều này hiệu quả hơn so với việc gọi start_browser theo sau là navigate một cách riêng biệt.
Ví dụ: Khởi động trình duyệt và điều hướng trong một lệnh gọi:
Start Chrome and navigate to https://webdriver.io
Tùy chọn Phiên Ứng dụng Di động
Các tùy chọn có sẵn khi bắt đầu một phiên ứng dụng di động qua công cụ start_app_session.
Tùy chọn Nền tảng
platform
- Loại:
string - Bắt buộc: Có
- Giá trị:
iOS|Android
Nền tảng di động để tự động hóa.
platformVersion
- Loại:
string - Bắt buộc: Không
Phiên bản hệ điều hành của thiết bị/máy ảo/giả lập (ví dụ: 17.0 cho iOS, 14 cho Android).
automationName
- Loại:
string - Bắt buộc: Không
- Giá trị:
XCUITest(iOS),UiAutomator2|Espresso(Android)
Trình điều khiển tự động hóa để sử dụng. Mặc định là XCUITest cho iOS và UiAutomator2 cho Android.
Tùy chọn Thiết bị
deviceName
- Loại:
string - Bắt buộc: Có
Tên của thiết bị, giả lập, hoặc máy ảo để sử dụng.
Ví dụ:
- iOS Simulator:
iPhone 15 Pro,iPad Air (5th generation) - Android Emulator:
Pixel 7,Nexus 5X - Thiết bị Thực: Tên thiết bị như hiển thị trong hệ thống của bạn
udid
- Loại:
string - Bắt buộc: Không (Yêu cầu đối với thiết bị iOS thực)
Định danh Thiết bị Duy nhất. Bắt buộc cho thiết bị iOS thực (định danh 40 ký tự) và được khuyến nghị cho thiết bị Android thực.
Tìm UDID:
- iOS: Kết nối thiết bị, mở Finder/iTunes, nhấp vào thiết bị → Số Sê-ri (nhấp để hiển thị UDID)
- Android: Chạy
adb devicestrong terminal
Tùy chọn Ứng dụng
appPath
- Loại:
string - Bắt buộc: Không*
Đường dẫn đến tệp ứng dụng để cài đặt và khởi chạy.
Định dạng được hỗ trợ:
- iOS Simulator: thư mục
.app - iOS Real Device: tệp
.ipa - Android: tệp
.apk
*Hoặc phải cung cấp appPath, hoặc noReset: true để kết nối với ứng dụng đang chạy.
appWaitActivity
- Loại:
string - Bắt buộc: Không (chỉ dành cho Android)
Hoạt động để đợi khi khởi chạy ứng dụng. Nếu không được chỉ định, hoạt động chính/khởi chạy của ứng dụng sẽ được sử dụng.
Ví dụ: com.example.app.MainActivity
Tùy chọn Trạng thái Phiên
noReset
- Loại:
boolean - Bắt buộc: Không
- Mặc định:
false
Giữ nguyên trạng thái ứng dụng giữa các phiên. Khi true:
- Dữ liệu ứng dụng được giữ nguyên (trạng thái đăng nhập, tùy chọn, v.v.)
- Phiên sẽ tách rời thay vì đóng (giữ ứng dụng chạy)
- Hữu ích để kiểm tra hành trình người dùng qua nhiều phiên
- Có thể được sử dụng mà không cần
appPathđể kết nối với ứng dụng đang chạy
fullReset
- Loại:
boolean - Bắt buộc: Không
- Mặc định:
true
Đặt lại hoàn toàn ứng dụng trước phiên. Khi true:
- iOS: Gỡ cài đặt và cài đặt lại ứng dụng
- Android: Xóa dữ liệu ứng dụng và bộ nhớ đệm
- Hữu ích khi bắt đầu với trạng thái sạch
Đặt fullReset: false với noReset: true để giữ nguyên trạng thái ứng dụng hoàn toàn.
Thời gian chờ Phiên
newCommandTimeout
- Loại:
number - Bắt buộc: Không
- Mặc định:
60
Thời gian (tính bằng giây) mà Appium sẽ đợi một lệnh mới trước khi cho rằng client đã thoát và kết thúc phiên. Tăng giá trị này cho các phiên gỡ lỗi dài hơn.
Ví dụ:
60- Mặc định, phù hợp với hầu hết tự động hóa300- 5 phút, để gỡ lỗi hoặc hoạt động chậm hơn600- 10 phút, cho các bài kiểm tra chạy rất lâu
Tùy chọn Xử lý Tự động
autoGrantPermissions
- Loại:
boolean - Bắt buộc: Không
- Mặc định:
true
Tự động cấp quyền ứng dụng khi cài đặt/khởi chạy. Khi true:
- Quyền camera, micrô, vị trí, v.v. được tự động cấp
- Không cần xử lý hộp thoại quyền thủ công
- Hợp lý hóa tự động hóa bằng cách tránh các cửa sổ pop-up quyền
Tùy chọn này chủ yếu ảnh hưởng đến Android. Quyền iOS phải được xử lý khác do hạn chế của hệ thống.
autoAcceptAlerts
- Loại:
boolean - Bắt buộc: Không
- Mặc định:
true
Tự động chấp nhận cảnh báo hệ thống (hộp thoại) xuất hiện trong quá trình tự động hóa.
Ví dụ về cảnh báo tự động chấp nhận:
- "Cho phép thông báo?"
- "Ứng dụng muốn truy cập vị trí của bạn"
- "Cho phép ứng dụng truy cập ảnh?"
autoDismissAlerts
- Loại:
boolean - Bắt buộc: Không
- Mặc định:
false
Bỏ qua (hủy) cảnh báo hệ thống thay vì chấp nhận chúng. Ưu tiên hơn autoAcceptAlerts khi được đặt thành true.