Appearance
WebdriverIO
Category: Browser Automation / E2E Test Framework
Cost: Free and open source (OpenJS Foundation member project)
Official site: https://webdriver.io/
GitHub: https://github.com/webdriverio/webdriverio
Docs: https://webdriver.io/docs/gettingstarted
What it is
WebdriverIO is a next-generation browser and mobile automation test framework for Node.js. It runs tests against real browsers and real mobile devices using the WebDriver protocol and Chrome DevTools Protocol (CDP). It supports both end-to-end (E2E) testing and component testing (React, Vue, Svelte, and more).
Key capabilities:
- Real browser testing via WebDriver protocol (W3C standard)
- Mobile testing via Appium integration (iOS and Android)
- Component testing for React, Vue, Svelte, Preact, Lit
- Auto-wait built in: no manual
sleep()calls needed - Chrome DevTools + Lighthouse integration for performance audits
- Interactive REPL for debugging (
npx wdio repl chrome) - Works with Mocha, Jasmine, and Cucumber out of the box
WebdriverIO is not a cloud browser service. It is a Node.js framework you install locally or in CI. It controls browsers installed on the host machine (or remote Selenium/Appium grids). It is entirely free and open source.
Boilerplates
Official starter repositories (current, v9):
| Template | URL |
|---|---|
| Cucumber boilerplate (150+ predefined steps) | github.com/webdriverio/cucumber-boilerplate |
| Jasmine boilerplate (Page Object pattern) | github.com/webdriverio/jasmine-boilerplate |
| Electron boilerplate | github.com/webdriverio/electron-boilerplate |
| Appium boilerplate (iOS/Android) | github.com/webdriverio/appium-boilerplate |
The wizard (npm init wdio@latest .) generates a configured project for you interactively; it is the recommended starting point.