WebdriverIO

webdriver.io ↗

One JavaScript and TypeScript test runner for browser, mobile, desktop, and extension workflows.

SI Score
80/100
Pricing
Open Source AI reading, not confirmed
Free plan
Yes AI reading, not confirmed
Sign-up required
Not confirmed

Ask SI about WebdriverIO

Answers use saved listing facts and recorded sources.
Homepage screenshot
Screenshot of the WebdriverIO homepage

What it does

WebdriverIO is an open-source automation framework for end-to-end and component testing across web browsers, mobile apps, desktop apps, and VS Code extensions. Tests are written in JavaScript or TypeScript and run through WebDriver or WebDriver BiDi, with selectors, assertions, reporters, services, and integrations selected during project setup. The project describes all features as free with no paid tier.

Set up the runner for your target

WebdriverIO's setup wizard starts in a new or existing Node.js project. The documented command npm init wdio@latest . asks what you plan to test, which test framework and reporters to use, and then installs the selected setup. You can choose browser end-to-end tests, component tests, mobile apps, desktop apps, or VS Code extensions; the defaults use Mocha and Chrome, while flags can select other frameworks, browsers, or mobile environments.

After configuration, create a spec and run it through the generated config with npx wdio run ./wdio.conf.js. The docs show assertions against page elements and allow selecting one spec at a time, which is useful when iterating on a failing workflow. For example, a checkout test can open a page, select the purchase control by an accessible label, trigger it, and assert that the expected confirmation appears. Treat that as a test design example; the product's own documentation shows the commands but no result for your application.

WebdriverIO is maintained under the OpenJS Foundation and the repository carries an MIT license. The current setup guide requires Node.js and states that the oldest supported LTS is 22.19.0. Running a useful test still requires a target application and a configured browser, device, desktop app, or test service that matches the selected runner.

Strengths

  • One test runner supports documented browser, mobile, desktop, component, and editor-extension testing modes.
  • The setup wizard configures frameworks, reporters, browsers, and services for an existing or new project.
  • The docs support running a single spec or suite during focused debugging.
  • The project says there is no paid tier or feature gate, and publishes the runner under the MIT license.

Watch out for

  • A Node.js installation is required, with the current guide specifying Node.js 22.19.0 or newer among supported LTS releases.
  • The project supplies automation infrastructure; you still need an application and appropriate browser, device, or desktop target to test.

Best for

  • JavaScript or TypeScript teams that want end-to-end tests across more than one client platform
  • Projects that need browser or component tests alongside mobile or desktop automation
  • Teams selecting a configurable WebDriver-based framework and test runner for CI

Sources