Skip to content

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):

TemplateURL
Cucumber boilerplate (150+ predefined steps)github.com/webdriverio/cucumber-boilerplate
Jasmine boilerplate (Page Object pattern)github.com/webdriverio/jasmine-boilerplate
Electron boilerplategithub.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.