Each worker process creates a new environment to run tests. By default, Playwright Test reuses the worker as much as it can to make testing faster.
However, test runner will create a new worker when retrying tests, after any test failure, to initialize a new environment, or just to speed up test execution if the worker limit is not reached.
You can control the maximum number of worker processes via [command line](./test-cli.md) or in the [configuration file](./test-configuration.md).
- Run in parallel by default
```sh
npx playwright test
```
- Disable parallelization
```sh
npx playwright test --worker 1
```
- Control the number of workers
```sh
npx playwright test --worker 4
```
- In the configuration file
```js
// playwright.config.js
module.exports = {
// Limit the number of workers on CI, use default locally
workers: process.env.CI ? 2 : undefined,
};
```
```ts
// playwright.config.ts
import { PlaywrightTestConfig } from 'playwright/test';
Playwright Test can shard a test suite, so that it can be executed on multiple machines. For that, pass `--shard=x/y` to the command line. For example, to split the suite into three shards, each running one third of the tests: