playwright/docs/src/test-cli-js.md

4.9 KiB

id title
test-cli Command line

Introduction

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
    

Reference

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:

Option Description
--headed Run tests in headed browsers. Useful for debugging.
--browser Run test in a specific browser. Available options are "chromium", "firefox", "webkit" or "all" to run tests in all three browsers at the same time.
--debug Run 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-only Whether 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". The regular expression will be tested against the string that consists of the test file name, test.describe name (if any) and the test name divided by spaces, e.g. my-test.spec.ts my-suite my-test.
--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.
--list list all the tests, but do not run them.
--max-failures <N> or -x Stop 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-tests Allows 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.
--quiet Whether 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-snapshots Whether 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 -u Whether 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.