Skip to main content

Getting Started

Set up WebdriverIO in an existing or new project with one command, then run your first test. The configuration wizard asks what you want to test (web, mobile, desktop or VS Code extensions), which framework and reporters to use, and installs everything for you.

info

These are the docs for WebdriverIO v10. Still on v9? Use the v9 documentation or follow the v10 migration guide.

Using a coding agent?

Point it at https://webdriver.io/llms.txt or connect the docs MCP server at https://webdriver.io/mcp. See WebdriverIO for Coding Agents.

Initiate a WebdriverIO Setup

The WebdriverIO Starter Toolkit adds a complete WebdriverIO setup to an existing or new project. In the root directory of an existing project, run:

npm init wdio@latest .

or if you want to create a new project:

npm init wdio@latest ./path/to/new/project

This single command downloads the WebdriverIO CLI tool and runs a configuration wizard that helps you to configure your test suite.

The wizard will prompt a set questions that guides you through the setup. You can pass a --yes parameter to pick a default set up which will use Mocha with Chrome using the Page Object pattern.

npm init wdio@latest . -- --yes

Install CLI Manually

You can also add the CLI package to your project manually via:

npm i --save-dev @wdio/cli
npx wdio --version # prints e.g. `8.13.10`

# run configuration wizard
npx wdio config

Run Test

You can start your test suite by using the run command and pointing to the WebdriverIO config that you just created:

npx wdio run ./wdio.conf.js

If you like to run specific test files you can add a --spec parameter:

npx wdio run ./wdio.conf.js --spec example.e2e.js

or define suites in your config file and run just the test files defined by in a suite:

npx wdio run ./wdio.conf.js --suite exampleSuiteName

Run in a script

If you would like to use WebdriverIO as an automation engine in Standalone Mode within a Node.JS script you can also directly install WebdriverIO and use it as a package, e.g. to generate a screenshot of a website:

getting-started/run-in-script.js
loading...

Note: all WebdriverIO commands are asynchronous and need to be properly handled using async/await.

Record tests

WebdriverIO provides tools to help you get started by recording your test actions on screen and generate WebdriverIO test scripts automatically. See Recorder tests with Chrome DevTools Recorder for more information.

System Requirements

You’ll need Node.js installed.

  • Install at least v22.19.0 or higher as this is the oldest supported LTS version
  • Only releases that are or will become an LTS release are officially supported

If Node is not currently installed on your system, we suggest utilizing a tool such as NVM or Volta to assist in managing multiple active Node.js versions. NVM is a popular choice, while Volta is also a good alternative.

Watch the Introduction

More videos are on the official YouTube channel.

Next Steps

Welcome! How can I help?

WebdriverIO AI Copilot