website/docs/GettingStarted.md
Welcome to the WebdriverIO documentation. It will help you to get started fast. If you run into problems, you can find help and answers on our Discord Support Server or you can hit us on 𝕏.
:::info These are the docs for the latest version (>=9.x) of WebdriverIO. If you are still using an older version, please visit the old documentation websites! :::
<LiteYouTubeEmbed id="rA4IFNyW54c" title="Getting Started with WebdriverIO" />
:::tip Official YouTube Channel 🎥
You can find more videos around WebdriverIO on the official YouTube channel. Make sure you subscribe!
:::
To add a full WebdriverIO setup to an existing or new project using the WebdriverIO Starter Toolkit, run:
If you're in the root directory of an existing project, run:
<Tabs defaultValue="npm" values={[ {label: 'NPM', value: 'npm'}, {label: 'Yarn', value: 'yarn'}, {label: 'pnpm', value: 'pnpm'}, {label: 'bun', value: 'bun'}, ] }> <TabItem value="npm">
npm init wdio@latest .
or if you want to create a new project:
npm init wdio@latest ./path/to/new/project
yarn create wdio .
or if you want to create a new project:
yarn create wdio ./path/to/new/project
pnpm create wdio@latest .
or if you want to create a new project:
pnpm create wdio@latest ./path/to/new/project
bun create wdio@latest .
or if you want to create a new project:
bun create 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.
<CreateProjectAnimation />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.
<Tabs defaultValue="npm" values={[ {label: 'NPM', value: 'npm'}, {label: 'Yarn', value: 'yarn'}, {label: 'pnpm', value: 'pnpm'}, {label: 'bun', value: 'bun'}, ] }> <TabItem value="npm">
npm init wdio@latest . -- --yes
yarn create wdio . --yes
pnpm create wdio@latest . --yes
bun create wdio@latest . --yes
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
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
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:
https://github.com/webdriverio/example-recipes/blob/fc362f2f8dd823d294b9bb5f92bd5991339d4591/getting-started/run-in-script.js#L2-L19
Note: all WebdriverIO commands are asynchronous and need to be properly handled using async/await.
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.
You’ll need Node.js installed.
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.