Skip to main content

Command line

Here are the most common options available in the command line.

  • Run all the tests

    npx playwright test
  • Run a single test file

    npx playwright test tests/todo-page.spec.ts
  • Run a set of test files

    npx playwright test tests/todo-page/ tests/landing-page/
  • Run files that have my-spec or my-spec-2 in the file name

    npx playwright test my-spec my-spec-2
  • Run tests that are in line 42 in my-spec.ts

    npx playwright test my-spec.ts:42
  • Run the test with the title

    npx playwright test -g "add a todo item"
  • Run tests in headed browsers

    npx playwright test --headed
  • Run all the tests against a specific project

    npx playwright test --project=chromium
  • Disable parallelization

    npx playwright test --workers=1
  • Choose a reporter

    npx playwright test --reporter=dot
  • Run in debug mode with Playwright Inspector

    npx playwright test --debug

    -- Run tests in interactive UI mode, with a built-in watch mode (Preview)

    npx playwright test --ui
  • Ask for help

    npx playwright test --help


Complete set of Playwright Test options is available in the configuration file. Following options can be passed to a command line and take priority over the configuration file:

--headedRun tests in headed browsers. Useful for debugging.
--browserRun test in a specific browser. Available options are "chromium", "firefox", "webkit" or "all" to run tests in all three browsers at the same time.
--debugRun tests with Playwright Inspector. Shortcut for PWDEBUG=1 environment variable and --timeout=0 --max-failures=1 --headed --workers=1 options.
-c <file> or --config <file>Configuration file. If not passed, defaults to playwright.config.ts or playwright.config.js in the current directory.
-c <dir> or --config <dir>Configuration file. If not passed, defaults to playwright.config.ts or playwright.config.js in the current directory.
--forbid-onlyWhether to disallow test.only. Useful on CI.
-g <grep> or --grep <grep>Only run tests matching this regular expression. For example, this will run 'should add to cart' when passed -g "add to cart".
--grep-invert <grep>Only run tests not matching this regular expression. The opposite of --grep.
--global-timeout <number>Total timeout for the whole test run in milliseconds. By default, there is no global timeout. Learn more about various timeouts.
--listlist all the tests, but do not run them.
--max-failures <N> or -xStop after the first N test failures. Passing -x stops after the first failure.
--output <dir>Directory for artifacts produced by tests, defaults to test-results.
--pass-with-no-testsAllows the test suite to pass when no files are found.
--project <name>Only run tests from one of the specified projects. Defaults to running all projects defined in the configuration file.
--quietWhether to suppress stdout and stderr from the tests.
--repeat-each <N>Run each test N times, defaults to one.
--reporter <reporter>Choose a reporter: minimalist dot, concise line or detailed list. See reporters for more information.
--retries <number>The maximum number of retries for flaky tests, defaults to zero (no retries).
--shard <shard>Shard tests and execute only selected shard, specified in the form current/all, 1-based, for example 3/5.
--timeout <number>Maximum timeout in milliseconds for each test, defaults to 30 seconds. Learn more about various timeouts.
--trace <mode>Force tracing mode, can be on, off, on-first-retry, on-all-retries, retain-on-failure
--ignore-snapshotsWhether to ignore snapshots. Use this when snapshot expectations are known to be different, e.g. running tests on Linux against Windows screenshots.
--update-snapshots or -uWhether to update snapshots with actual results instead of comparing them. Use this when snapshot expectations have changed.
--workers <number> or -j <number>The maximum number of concurrent worker processes that run in parallel.