Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

webdriverio

webdriverio5.5mMIT9.6.0TypeScript support: included

Next-gen browser and mobile automation test framework for Node.js

webdriverio, webdriver, selenium, appium, saucelabs, sauce, labs, mocha, nodeUnit, buster, puppeteer, vows, jasmine, assert, cucumber, testingbot

readme

Stand With Ukraine

WebdriverIO

Next-gen browser and mobile automation test framework for Node.js.

Build Status Package Health OpenSSF Best Practices
Support Channel Issue Resolution time Open issues


Homepage | Developer Guide | API Reference | Contribute | Changelog | Roadmap


WebdriverIO is a test automation framework, for e2e as well as unit and component testing in the browser, that allows you to run tests based on the WebDriver and WebDriver BiDi as well as Appium automation technology. It provides support for your favorite BDD/TDD test framework and will run your tests locally or in the cloud using Sauce Labs, BrowserStack, TestingBot or LambdaTest.

:woman_technologist: :man_technologist: Contributing

Do you like WebdriverIO and want to help make it better? Awesome! Have a look into our Contributor Documentation to get started and find out what contributions can be and how to make them.

Getting started with GitHub Codespaces

To get started, create a codespace for this repository by clicking this 👇

Open in GitHub Codespaces

A codespace will open in a web-based version of Visual Studio Code. The dev container is fully configured with the software needed for this project.

Note: Dev containers are an open spec that is supported by GitHub Codespaces and other tools.

Getting started with Gitpod

You can also just click on:

Open in Gitpod

to get a ready-to-use development environment for you to start working on this code base.

If you're looking for issues to help out with, check out the issues labeled "good first pick". You can also reach out to our Matrix Channel if you have questions on where to start contributing.

:office: WebdriverIO for Enterprise

Available as part of the Tidelift Subscription.

The maintainers of WebdriverIO and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open-source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.

:package: Packages

This repository contains some of the core packages of the WebdriverIO project. There are many wonderful curated resources the WebdriverIO community has put together.

Did you build a WebdriverIO service or reporter? That's awesome! Please add it to our configuration wizard and docs (e.g. like in this example commit) as well as to our awesome-webdriverio list. Thank you! 🙏 ❤️

Core

  • webdriver - A Node.js bindings implementation for the W3C WebDriver and Mobile JSONWire Protocol
  • webdriverio - Next-gen browser and mobile automation test framework for Node.js
  • @wdio/cli - A WebdriverIO testrunner command line interface

Helper

  • @wdio/config - A helper utility to parse and validate WebdriverIO options
  • @wdio/logger - A helper utility for logging WebdriverIO packages
  • @wdio/protocols - Utility package providing information about automation protocols
  • @wdio/repl - A WDIO helper utility to provide a repl interface for WebdriverIO
  • @wdio/reporter - A WebdriverIO utility to help report all events
  • @wdio/runner - A WebdriverIO service that runs tests in arbitrary environments
  • @wdio/utils - A WDIO helper utility to provide several utility functions used across the project
  • @wdio/globals - A WDIO helper utility for importing global variables directly

Reporter

Services

  • @wdio/appium-service - A WebdriverIO service to start & stop Appium Server
  • @wdio/browserstack-service - A WebdriverIO service that can be used to use BrowserStack Test Observability which is a reporting, debugging, and test suite quality tracking tool for any test running anywhere. The service also helps for a better integration with the BrowserStack grid if you're running tests on the grid.
  • @wdio/lighthouse-service - A WebdriverIO service that integrates Google Lighthouse commands to use it for automate tests
  • @wdio/firefox-profile-service - A WebdriverIO service that lets you define your Firefox profile in your wdio.conf.js
  • @wdio/sauce-service - A WebdriverIO service that provides a better integration into Sauce Labs
  • @wdio/shared-store-service - A WebdriverIO service to exchange data across processes
  • @wdio/testingbot-service - A WebdriverIO service that provides a better integration into TestingBot

Runner

Framework Adapters

Others

Infrastructure Packages

These packages are not released to NPM and used to work on this codebase.

  • @wdio/compiler - Esbuild script to compile the source code all of all packages
  • @wdio/lerna-patch - This sub-package is being used to patch Lerna to not run pnpm install after it prepared all packages for release

:handshake: Project Governance

This project is maintained by awesome people following a common set of rules and treating each other with respect and appreciation.

:man_cook: :woman_cook: Backers

Become a backer and show your support for our open-source project.

:money_with_wings: Sponsors

Does your company use WebdriverIO? Ask your manager or marketing team if your company would be interested in supporting our project. Support will allow the maintainers to dedicate more time to maintenance and new features for everyone. Also, your company's logo will show on GitHub - who doesn't want a little extra exposure? Here's the info.

💎 Premium Sponsor

We are immensely grateful to our exclusive Premium Sponsor for their invaluable support in the development of this project:

BrowserStack       Sauce Labs

🥇 Gold Sponsor

Route4Me       Lambdatest

🥈 Silver Sponsor

TestingBot

🥉 Bronze Sponsor

Eslint

:page_facing_up: License

MIT

:beginner: Badge

Show the world you're using webdriver.io → tested with webdriverio

GitHub markup
[![tested with webdriver.io](https://img.shields.io/badge/tested%20with-webdriver.io-%23ea5906)](https://webdriver.io/)
HTML
<a href="https://webdriver.io/">
    <img alt="WebdriverIO" src="https://img.shields.io/badge/tested%20with-webdriver.io-%23ea5906">
</a>

:clap: Supporters

Stargazers repo roster for WebdriverIO Forkers repo roster for WebdriverIO

Animated footer bars


Back to top

changelog

Changelog

Tags:

  • :boom: [Breaking Change]
  • :eyeglasses: [Spec Compliancy]
  • :rocket: [New Feature]
  • :bug: [Bug Fix]
  • :memo: [Documentation]
  • :house: [Internal]
  • :nail_care: [Polish]

Note: Gaps between patch versions are faulty, broken or test releases.

See CHANGELOG - v4.

See CHANGELOG - v5.

See CHANGELOG - v6

See CHANGELOG - v7

See CHANGELOG - v8


v9.6.0 (2025-01-21)

:rocket: New Feature

  • wdio-browserstack-service
  • webdriver, webdriverio

:bug: Bug Fix

:nail_care: Polish

  • webdriverio

:memo: Documentation

Committers: 4

v9.5.7 (2025-01-12)

:bug: Bug Fix

Committers: 1

v9.5.6 (2025-01-12)

:bug: Bug Fix

Committers: 1

v9.5.5 (2025-01-10)

:bug: Bug Fix

Committers: 1

v9.5.4 (2025-01-10)

:bug: Bug Fix

:nail_care: Polish

Committers: 1

v9.5.3 (2025-01-09)

:bug: Bug Fix

Committers: 1

v9.5.2 (2025-01-09)

:bug: Bug Fix

:memo: Documentation

:house: Internal

Committers: 3

v9.5.1 (2025-01-03)

:bug: Bug Fix

  • webdriverio
  • wdio-appium-service
    • #13913 chore(appium-service): filter out Debugger attached as errorMessage (@Delta456)

:nail_care: Polish

  • wdio-appium-service
  • webdriver
    • #14020 fix(webdriver): allow BiDiCore to send declared headers (@navin772)

Committers: 4

v9.5.0 (2024-12-30)

:rocket: New Feature

:bug: Bug Fix

:nail_care: Polish

Committers: 2

v9.4.5 (2024-12-19)

:nail_care: Polish

Committers: 1

v9.4.4 (2024-12-19)

:nail_care: Polish

  • wdio-testingbot-service

:house: Internal

  • eslint-plugin-wdio, wdio-allure-reporter, wdio-appium-service, wdio-browser-runner, wdio-browserstack-service, wdio-cli, wdio-config, wdio-cucumber-framework, wdio-firefox-profile-service, wdio-globals, wdio-jasmine-framework, wdio-json-reporter, wdio-junit-reporter, wdio-lighthouse-service, wdio-local-runner, wdio-logger, wdio-mocha-framework, wdio-protocols, wdio-repl, wdio-reporter, wdio-runner, wdio-sauce-service, wdio-shared-store-service, wdio-smoke-test-cjs-service, wdio-smoke-test-service, wdio-spec-reporter, wdio-static-server-service, wdio-sumologic-reporter, wdio-testingbot-service, wdio-types, wdio-utils, wdio-webdriver-mock-service, webdriver, webdriverio

Committers: 2

v9.4.3 (2024-12-17)

:bug: Bug Fix

  • wdio-cli, wdio-config, wdio-local-runner, webdriver
  • wdio-utils, webdriver
  • wdio-types
    • #13988 wdio-types: add platformVersion field for BrowserStackCapabilities (@Delta456)

:nail_care: Polish

  • wdio-utils

Committers: 4

v9.4.2 (2024-12-12)

:bug: Bug Fix

:nail_care: Polish

  • wdio-cli
  • wdio-utils, webdriverio
  • wdio-browserstack-service, wdio-types

:memo: Documentation

Committers: 7

v9.4.1 (2024-11-27)

:bug: Bug Fix

Committers: 1

v9.4.0 (2024-11-26)

:rocket: New Feature

:bug: Bug Fix

:nail_care: Polish

Committers: 2

v9.3.1 (2024-11-22)

:rocket: New Feature

:nail_care: Polish

  • wdio-cucumber-framework
  • webdriverio

Committers: 3

v9.3.0 (2024-11-20)

:rocket: New Feature

:bug: Bug Fix

:nail_care: Polish

:memo: Documentation

  • #13903 chore(docs): add info setting up maxInstances and specs in docs (@harsha509)

Committers: 3

v9.2.15 (2024-11-14)

:nail_care: Polish

  • wdio-runner
    • #13878 fix(@wdio/runner): Respect excludes in capabilities in multiremote case. (@damencho)

Committers: 1

v9.2.14 (2024-11-14)

:rocket: New Feature

:nail_care: Polish

  • wdio-cucumber-framework, wdio-reporter, wdio-spec-reporter

Committers: 2

v9.2.12 (2024-11-11)

:bug: Bug Fix

:nail_care: Polish

Committers: 1

v9.2.11 (2024-11-07)

:bug: Bug Fix

  • webdriverio
    • #13863 fix(webdriverio): properly handle unresolved element on switchFrame input in non-BIDI scenario (@gavvvr)
    • #13857 fix(webdriverio): switchWindow supports exact window handle match (@jan-molak)
  • wdio-browserstack-service
    • #13858 fix: stacktrace for testobservability (@07souravkunda)
    • #13833 Build Unification - WDIO Mocha, Cucumber, Jasmine - Browserstack Test Observability, Accessibility & Percy (@amaanbs)

:nail_care: Polish

:memo: Documentation

Committers: 6

v9.2.10 (2024-11-05)

:bug: Bug Fix

:nail_care: Polish

Committers: 2

v9.2.9 (2024-11-01)

:bug: Bug Fix

  • wdio-appium-service

Committers: 1

v9.2.8 (2024-11-01)

:bug: Bug Fix

  • webdriverio
  • wdio-utils
    • #13796 feat(chromedriver): set NODE_OPTIONS empty to allow electron to work (@Delta456)

:nail_care: Polish

Committers: 2

v9.2.5 (2024-10-29)

:bug: Bug Fix

Committers: 2

v9.2.4 (2024-10-28)

:bug: Bug Fix

Committers: 1

v9.2.2 (2024-10-28)

:bug: Bug Fix

:nail_care: Polish

  • wdio-appium-service
  • wdio-protocols
  • webdriverio
    • #13793 feat: enhance newWindow function to support 'tab' or 'window' types (@harsha509)

:memo: Documentation

:house: Internal

Committers: 11

v9.2.0 (2024-10-12)

:house: Internal

Committers: 2

v9.1.6 (2024-10-10)

:bug: Bug Fix

Committers: 1

v9.1.5 (2024-10-10)

:bug: Bug Fix

Committers: 1

v9.1.4 (2024-10-09)

:bug: Bug Fix

  • webdriverio
    • #13751 fix(webdriverio): make name polyfill compatible with old browsers (@mhassan1)

Committers: 2

v9.1.3 (2024-10-08)

:bug: Bug Fix

:nail_care: Polish

  • webdriverio
  • webdriver

:house: Internal

Committers: 5

v9.1.2 (2024-09-28)

:bug: Bug Fix

:nail_care: Polish

  • wdio-types, webdriver
  • wdio-cli, wdio-sauce-service, wdio-spec-reporter, wdio-types, webdriverio

Committers: 3

v9.1.1 (2024-09-26)

:bug: Bug Fix

:nail_care: Polish

:memo: Documentation

Committers: 4

v9.1.0 (2024-09-24)

:rocket: New Feature

:bug: Bug Fix

:nail_care: Polish

  • wdio-utils, webdriver
  • wdio-appium-service, wdio-sauce-service, wdio-testingbot-service, wdio-utils, webdriver, webdriverio
  • wdio-spec-reporter, wdio-types, webdriverio
  • wdio-junit-reporter
  • wdio-browserstack-service

:memo: Documentation

Committers: 13

v9.0.8 (2024-09-05)

:rocket: New Feature

:bug: Bug Fix

  • webdriverio
  • Other
  • eslint-plugin-wdio, wdio-allure-reporter, wdio-appium-service, wdio-browser-runner, wdio-browserstack-service, wdio-cli, wdio-concise-reporter, wdio-config, wdio-cucumber-framework, wdio-dot-reporter, wdio-firefox-profile-service, wdio-globals, wdio-jasmine-framework, wdio-junit-reporter, wdio-lighthouse-service, wdio-local-runner, wdio-logger, wdio-mocha-framework, wdio-repl, wdio-reporter, wdio-runner, wdio-sauce-service, wdio-shared-store-service, wdio-smoke-test-cjs-service, wdio-smoke-test-reporter, wdio-smoke-test-service, wdio-spec-reporter, wdio-static-server-service, wdio-sumologic-reporter, wdio-testingbot-service, wdio-types, wdio-utils, wdio-webdriver-mock-service, webdriver, webdriverio
  • wdio-browser-runner

:nail_care: Polish

  • wdio-browserstack-service

:memo: Documentation

Committers: 8

v9.0.7 (2024-08-21)

:bug: Bug Fix

Committers: 1

v9.0.6 (2024-08-21)

:bug: Bug Fix

  • webdriver
  • webdriver, webdriverio
  • wdio-utils
    • #13426 fix(@wdio/cli): correctly detect chrome headless shell as chrome #13390 (@BorisOsipov)

Committers: 2

v9.0.5 (2024-08-20)

:bug: Bug Fix

:nail_care: Polish

  • webdriver

:memo: Documentation

Committers: 2

v9.0.4 (2024-08-19)

:bug: Bug Fix

:house: Internal

  • wdio-browser-runner, wdio-cucumber-framework, wdio-mocha-framework, wdio-smoke-test-cjs-service, wdio-smoke-test-service, wdio-utils, webdriverio
  • Other

Committers: 3

v9.0.3 (2024-08-16)

:bug: Bug Fix

Committers: 1

v9.0.2 (2024-08-16)

:bug: Bug Fix

Committers: 2

v9.0.1 (2024-08-15)

:bug: Bug Fix

  • wdio-browser-runner, webdriverio

Committers: 1

v9.0.0 (2024-08-15)

:boom: Breaking Change

  • wdio-cli, wdio-devtools-service, wdio-lighthouse-service, wdio-utils, webdriver, webdriverio
  • wdio-allure-reporter, wdio-appium-service, wdio-browser-runner, wdio-browserstack-service, wdio-cli, wdio-concise-reporter, wdio-config, wdio-cucumber-framework, wdio-devtools-service, wdio-firefox-profile-service, wdio-jasmine-framework, wdio-json-reporter, wdio-junit-reporter, wdio-local-runner, wdio-mocha-framework, wdio-reporter, wdio-runner, wdio-sauce-service, wdio-shared-store-service, wdio-spec-reporter, wdio-testingbot-service, wdio-types, wdio-utils, wdio-webdriver-mock-service, webdriver, webdriverio
  • @wdio/protocols
  • webdriverio

:rocket: New Feature

:bug: Bug Fix

:nail_care: Polish

  • webdriver
  • wdio-cli, wdio-config, wdio-local-runner, wdio-runner, wdio-types, webdriverio

:house: Internal

Committers: 5