Ecosystem
WebdriverIO is extended through services (hook into the test lifecycle, e.g. start a driver, connect to a cloud or add commands) and reporters (format test results). Official plugins are maintained in the WebdriverIO monorepo, community plugins by their authors. Install a plugin as a dev dependency and add it to the services or reporters array of your wdio.conf.ts:
wdio.conf.ts
export const config: WebdriverIO.Config = {
// ...
services: ['appium'],
reporters: ['spec', ['allure', { outputDir: 'allure-results' }]],
}
The WebdriverIO configuration wizard (npm init wdio@latest) can install and configure most of the plugins below for you.
Tools
| Tool | What it does |
|---|---|
| WebdriverIO MCP | Model Context Protocol server (@wdio/mcp) that lets AI agents drive browsers and mobile apps. |
| WebdriverIO DevTools | Live dashboard and trace viewer to debug WebdriverIO, Selenium and Nightwatch tests. |
| Visual Testing | Pixel-by-pixel visual regression testing (@wdio/visual-service). |
| expect-webdriverio | The assertion library bundled with the testrunner. |
| Boilerplate projects | Starter projects for many stacks, maintained by the project and the community. |
| Cloud services | Run tests on BrowserStack, Sauce Labs, TestMu AI and other device clouds. |
Official Services
| Plugin | Package | Description |
|---|---|---|
| Appium | @wdio/appium-service | A WebdriverIO service to start & stop Appium Server |
| Firefox Profile | @wdio/firefox-profile-service | WebdriverIO service that lets you define your Firefox profile in your wdio.conf.js |
| Lighthouse | @wdio/lighthouse-service | A WebdriverIO service that allows you to run Chrome DevTools commands in your tests |
| Sauce | @wdio/sauce-service | WebdriverIO service that provides a better integration into Sauce Labs |
| Shared Store | @wdio/shared-store-service | A WebdriverIO service to exchange data across processes |
| Static Server | @wdio/static-server-service | A WebdriverIO service that can serve your static websites |
| Testingbot | @wdio/testingbot-service | A WebdriverIO service that provides a better integration into TestingBot |
| Webdriver Mock | @wdio/webdriver-mock-service | A WebdriverIO service to stub all endpoints for internal testing purposes. |
Community Services
| Plugin | Package | Source |
|---|---|---|
| Auto-detect missing imports w/eslint | wdio-eslinter-service | GitHub |
| AWS Device Farm | wdio-aws-device-farm-service | GitHub |
| Azure DevOps Test Plans | @gmangiapelo/wdio-azure-devops-service | GitHub |
| Camera Service | wdio-camera-service | GitHub |
| CleanupTotal | wdio-cleanuptotal-service | GitHub |
| Cucumber Viewport Logger | wdio-cucumber-viewport-logger-service | GitHub |
| DevTools (Test Debugging & Visualization) | @wdio/devtools-service | GitHub |
| Dioxus | @wdio/dioxus-service | GitHub |
| Docker | wdio-docker-service | GitHub |
| Electron | @wdio/electron-service | GitHub |
| Gmail | wdio-gmail-service | GitHub |
| Google Chat | @qajonatasmartins/wdio-google-chat-service | GitHub |
| Image Comparison (Visual Regression Testing) | @wdio/visual-service | GitHub |
| Intercept | wdio-intercept-service | GitHub |
| Library of useful expected conditions | wdio-wait-for | GitHub |
| Ng-apimock | wdio-ng-apimock-service | GitHub |
| Novus Visual Regression | wdio-novus-visual-regression-service | GitHub |
| Null Driver | wdio-null-driver-service | GitHub |
| Nuxt Service | wdio-nuxt-service | GitHub |
| Obsidian Plugin Testing | wdio-obsidian-service | GitHub |
| OCR Testing | @wdio/ocr-service | GitHub |
| PerformanceTotal | wdio-performancetotal-service | GitHub |
| Qmate | @sap_oss/wdio-qmate-service | GitHub |
| QUnit | wdio-qunit-service | GitHub |
| Re-run | wdio-rerun-service | GitHub |
| Report Portal | wdio-reportportal-service | GitHub |
| Robonut | wdio-robonut-service | GitHub |
| Roku | wdio-roku-service | GitHub |
| Slack | wdio-slack-service | GitHub |
| Support for Angular component test harnesses | @badisi/wdio-harness | GitHub |
| Tauri | @wdio/tauri-service | GitHub |
| TestMu AI (Formerly LambdaTest) | wdio-lambdatest-service | GitHub |
| Tesults | wdio-tesults-service | GitHub |
| TV Labs | @tvlabs/wdio-service | GitHub |
| UI5 | wdio-ui5-service | GitHub |
| VSCode Extension Testing | wdio-vscode-service | GitHub |
| winappdriver | wdio-winappdriver-service | GitHub |
| WireMock | wdio-wiremock-service | GitHub |
| ywinappdriver | wdio-ywinappdriver-service | GitHub |
| Zafira Listener | wdio-zafira-listener-service | GitHub |
Official Reporters
| Plugin | Package | Description |
|---|---|---|
| Allure | @wdio/allure-reporter | A WebdriverIO reporter plugin to create Allure Test Reports |
| Concise | @wdio/concise-reporter | A concise reporter for WebdriverIO |
| Dot | @wdio/dot-reporter | A WebdriverIO plugin to report in dot style |
| Json | @wdio/json-reporter | A WebdriverIO plugin to report results in json format. |
| Junit | @wdio/junit-reporter | A WebdriverIO reporter that creates Jenkins compatible XML based JUnit reports |
| Spec | @wdio/spec-reporter | A WebdriverIO plugin to report in spec style |
| Sumologic | @wdio/sumologic-reporter | A WebdriverIO reporter that sends test results to Sumologic for data analyses |
Community Reporters
| Plugin | Package | Source |
|---|---|---|
| CucumberJS JSON | wdio-cucumberjs-json-reporter | GitHub |
| Delta Reporter | wdio-delta-reporter-service | GitHub |
| HTML | wdio-html-nice-reporter | GitHub |
| JSON HTML Reporter | wdio-json-html-reporter | GitHub |
| Light Reporter | wdio-light-reporter | GitHub |
| Report Portal | wdio-reportportal-reporter | GitHub |
| Serenity/JS HTML | @serenity-js/html-reporter | GitHub |
| Slack Reporter | wdio-slack-reporter | GitHub |
| Teamcity Reporter | wdio-teamcity-reporter | GitHub |
| TestPlanIt Reporter | @testplanit/wdio-reporter | GitHub |
| Testrail Reporter | @wdio/testrail-reporter | GitHub |
| Timeline | wdio-timeline-reporter | GitHub |
| Video | wdio-video-reporter | GitHub |
Add Your Plugin
Built a service or reporter? Add it to scripts/docs-generation/3rd-party to have its README published on this site. See Custom Services and Custom Reporter for how to build one.