Integrates with GitHub Copilot Agent's Agent Mode, allowing it to interpret test scenarios, perform UI testing, and auto-generate WebdriverIO test code using the registered tools.
Enables browser-based testing automation by exposing WebdriverIO functionality through tools that can open browsers, navigate to URLs, interact with web elements, and perform UI testing operations.
wdio-mcp-server
A custom Model Context Protocol (MCP) server for automating WebdriverIO (WDIO) browser-based testing using GitHub Copilot Agent's Agent Mode. It enables LLM-powered QA automation: provide a test scenario in plain English, and the server performs testing and auto-generates WebdriverIO test code using the registered tools.
📦 What is MCP Server?
The MCP (Model Context Protocol) Server allows developers to expose tools that can be invoked by GitHub Copilot Agents through LLMs.
This project extends MCP to support WebdriverIO automation, so your agent can:
- Interpret test scenarios
- Perform real-time UI testing
- Generate WDIO test automation code
🤖 Integration with GitHub Copilot Agent (Agent Mode)
Once configured, GitHub Copilot Agent (in Agent Mode) can:
- Communicate with this local MCP server
- Utilize WDIO-based tools to run and generate tests
- Dynamically interact with browsers using defined tools
⚙️ Local Setup Instructions
1. Clone and install dependencies
2. Start the MCP Server
- Start the server by clicking the Start button on the
mcp.json
file in your IDE.
3. Validate the server is running
- Ensure the server is running and all tools are available.
4. Connect GitHub Copilot Agent with MCP Server
- Launch GitHub Copilot Agent.
- Go to ⚙️ Settings and enable Agent Mode.
- (Optional) Disable the default LLM model if you prefer your own.
- Click on Configure Tools.
- Select all the tools exposed by this project:
openBrowser
navigate
clickElement
setValue
getText
isDisplayed
closeBrowser
You're now ready to test!
Write your test scenarios in plain English and let the Copilot Agent automate your browser testing with WDIO.
🛠️ Available Tools
Tool | Description |
---|---|
openBrowser | Launches a new browser session. |
navigate | Navigates the browser to a specified URL. |
clickElement | Clicks on a specified element on the web page. |
setValue | Sets the value of an input field or form element. |
getText | Retrieves the visible text from a specified element. |
isDisplayed | Checks if a specified element is currently visible on the page. |
closeBrowser | Closes the current browser session. |
🚀 Usage Examples
Example scenario (in plain English):
- Navigate to https://www.saucedemo.com/v1/index.html
- Login with
standard_user
/secret_sauce
- Add the first 2 products to the cart
- Click the cart icon and go to the cart page
- Verify 2 items are added and visible in the cart
The Copilot Agent will translate this scenario into a sequence of tool invocations and WDIO test code.
📝 How It Works
- You write a test scenario in plain English.
- The Copilot Agent interprets your scenario and calls the appropriate tools exposed by this MCP server.
- The server performs real browser automation using WebdriverIO.
- Optionally, the agent can generate reusable WDIO test code for your scenario.
🧩 Extending & Customizing
To add or modify tools:
- Edit the tool definitions in your MCP server code.
- Restart the server to expose new or updated tools.
- Update documentation as needed.
This server cannot be installed
A custom Model Context Protocol server that enables GitHub Copilot Agent to perform browser automation testing using WebdriverIO tools through natural language instructions.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to retrieve and understand entire codebases at once, providing tools to analyze local workspaces or remote GitHub repositories.Last updated -344TypeScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that provides browser automation capabilities for creating and testing Autoconsent rules, enabling LLMs to interact with web pages and test consent management platforms in a real browser environment.Last updated -10TypeScript
- -securityFlicense-qualityA complete Model Context Protocol server that implements Selenium WebDriver for browser automation with advanced detection evasion capabilities, multi-browser support, and comprehensive web interaction functionalities.Last updated -1Python
- -securityAlicense-qualityModel Context Protocol server implementation for operating baserCMS that enables GitHub Copilot and other agent modes to interact with baserCMS through its API.Last updated -1,242TypeScriptMIT License