--- id: gettingstarted title: Getting Started --- 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](https://discord.webdriver.io) or you can hit me on [Twitter](https://twitter.com/webdriverio). :::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](/versions)! ::: :::tip Official YouTube Channel 🎥 You can find more videos around WebdriverIO on the [official YouTube channel](https://youtube.com/@webdriverio). Make sure you subscribe! ::: ## Initiate a WebdriverIO Setup To add a full WebdriverIO setup to an existing or new project using the [WebdriverIO Starter Toolkit](https://www.npmjs.com/package/create-wdio), run: If you're in the root directory of an existing project, run: ```sh npm init wdio@latest . ``` or if you want to create a new project: ```sh npm init wdio@latest ./path/to/new/project ``` ```sh yarn create wdio . ``` or if you want to create a new project: ```sh yarn create wdio ./path/to/new/project ``` ```sh pnpm create wdio@latest . ``` or if you want to create a new project: ```sh pnpm create wdio@latest ./path/to/new/project ``` ```sh bun create wdio@latest . ``` or if you want to create a new project: ```sh 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. 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](https://martinfowler.com/bliki/PageObject.html) pattern. ```sh npm init wdio@latest . -- --yes ``` ```sh yarn create wdio . --yes ``` ```sh pnpm create wdio@latest . --yes ``` ```sh bun create wdio@latest . --yes ``` ## Install CLI Manually You can also add the CLI package to your project manually via: ```sh 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: ```sh npx wdio run ./wdio.conf.js ``` If you like to run specific test files you can add a `--spec` parameter: ```sh 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: ```sh 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](/docs/setuptypes#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: ```js reference useHTTPS 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`](https://javascript.info/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](/docs/record) for more information. ## System Requirements You’ll need [Node.js](http://nodejs.org) installed. - Install at least v18.20.0 or higher as this is the oldest active 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](https://github.com/creationix/nvm) or [Volta](https://volta.sh/) to assist in managing multiple active Node.js versions. NVM is a popular choice, while Volta is also a good alternative.