Câu hỏi thường gặp
Câu hỏi thường gặp về WebdriverIO MCP.
Tổng quan
MCP là gì?
MCP (Model Context Protocol) là một giao thức mở cho phép trợ lý AI như Claude tương tác với các công cụ và dịch vụ bên ngoài. WebdriverIO MCP triển khai giao thức này để cung cấp khả năng tự động hóa trình duyệt và thiết bị di động cho Claude Desktop và Claude Code.
Tôi có thể tự động hóa những gì với WebdriverIO MCP?
Bạn có thể tự động hóa:
- Trình duyệt máy tính (Chrome) - điều hướng, nhấp chuột, nhập liệu, chụp màn hình
- Ứng dụng iOS - trên giả lập hoặc thiết bị thực
- Ứng dụng Android - trên giả lập hoặc thiết bị thực
- Ứng dụng Hybrid - chuyển đổi giữa ngữ cảnh native và web
Tôi có cần viết mã không?
Không! Đó là lợi ích chính của MCP. Bạn có thể mô tả những gì bạn muốn làm bằng ngôn ngữ tự nhiên, và Claude sẽ sử dụng các công cụ thích hợp để hoàn thành nhiệm vụ.
Ví dụ về lệnh:
- "Mở Chrome và điều hướng đến webdriver.io"
- "Nhấp vào nút Get Started"
- "Chụp ảnh màn hình trang hiện tại"
- "Khởi động ứng dụng iOS của tôi và đăng nhập với tài khoản test"
Cài đặt & Thiết lập
Làm thế nào để cài đặt WebdriverIO MCP?
Bạn không cần cài đặt riêng. MCP server tự động chạy thông qua npx khi bạn cấu hình nó trong Claude Desktop hoặc Claude Code.
Thêm đoạn này vào cấu hình Claude Desktop của bạn:
{
"mcpServers": {
"wdio-mcp": {
"command": "npx",
"args": ["-y", "@wdio/mcp"]
}
}
}
File cấu hình Claude Desktop ở đâu?
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Tôi có cần Appium để tự động hóa trình duyệt không?
Không. Tự động hóa trình duyệt chỉ yêu cầu Chrome được cài đặt. WebdriverIO tự động xử lý ChromeDriver.
Tôi có cần Appium để tự động hóa thiết bị di động không?
Có. Tự động hóa thiết bị di động yêu cầu:
- Appium server đang chạy (
npm install -g appium && appium) - Driver cho nền tảng đã được cài đặt (
appium driver install xcuitestcho iOS,appium driver install uiautomator2cho Android) - Công cụ phát triển phù hợp (Xcode cho iOS, Android SDK cho Android)
Tự động hóa trình duyệt
Trình duyệt nào được hỗ trợ?
Hiện tại, chỉ Chrome được hỗ trợ. Hỗ trợ cho các trình duyệt khác có thể được thêm vào trong các phiên bản tương lai.
Tôi có thể chạy Chrome ở chế độ headless không?
Có! Yêu cầu Claude khởi động trình duyệt ở chế độ headless:
"Khởi động Chrome ở chế độ headless"
Hoặc Claude sẽ sử dụng tùy chọn này khi thích hợp (ví dụ: trong ngữ cảnh CI/CD).
Tôi có thể đặt kích thước cửa sổ trình duyệt không?
Có. Bạn có thể chỉ định kích thước khi khởi động trình duyệt:
"Khởi động Chrome với kích thước cửa sổ 1920x1080"
Kích thước được hỗ trợ: rộng 400-3840 pixel, cao 400-2160 pixel. Mặc định là 1920x1080.
Tôi có thể khởi động trình duyệt và điều hướng trong một bước không?
Có! Sử dụng tham số navigationUrl:
"Khởi động Chrome và điều hướng đến https://webdriver.io"
Điều này hiệu quả hơn việc khởi động trình duyệt và sau đó điều hướng riêng biệt.
Làm thế nào để chụp ảnh màn hình?
Đơn giản là yêu cầu Claude:
"Chụp ảnh màn hình trang hiện tại"
Ảnh chụp màn hình được tự động tối ưu hóa:
- Kích thước tối đa 2000px
- Nén tối đa 1MB
- Định dạng: PNG hoặc JPEG (tự động chọn để chất lượng tối ưu)
Tôi có thể tương tác với iframe không?
Hiện tại, MCP server hoạt động trên tài liệu chính. Tương tác iframe có thể được thêm vào trong các phiên bản tương lai.
Tôi có thể thực thi JavaScript tùy chỉnh không?
Có! Sử dụng công cụ execute_script:
"Thực thi script để lấy tiêu đề trang" "Thực thi script: return document.querySelectorAll('button').length"
Tự động hóa thiết bị di động
Làm thế nào để khởi động một ứng dụng iOS?
Yêu cầu Claude với các chi tiết cần thiết:
"Khởi động ứng dụng iOS của tôi tại /path/to/MyApp.app trên giả lập iPhone 15"
Hoặc đối với ứng dụng đã cài đặt:
"Khởi động ứng dụng với noReset được bật trên giả lập iPhone 15"
Làm thế nào để khởi động một ứng dụng Android?
"Khởi động ứng dụng Android của tôi tại /path/to/app.apk trên giả lập Pixel 7"
Hoặc đối với ứng dụng đã cài đặt:
"Khởi động ứng dụng với noReset được bật trên giả lập Pixel 7"
Tôi có thể kiểm tra trên thiết bị thực không?
Có! Đối với thiết bị thực, bạn cần UDID của thiết bị:
- iOS: Kết nối thiết bị, mở Finder, nhấp vào thiết bị, nhấp vào số sê-ri để hiển thị UDID
- Android: Chạy
adb devicestrong terminal
Sau đó yêu cầu Claude:
"Khởi động ứng dụng iOS của tôi trên thiết bị thực có UDID abc123..."