跳到主要内容

命令行

简介

以下是命令行中可用的最常见选项。

  • 运行所有测试

    npx playwright test
  • 运行单个测试文件

    npx playwright test tests/todo-page.spec.ts
  • 运行一组测试文件

    npx playwright test tests/todo-page/ tests/landing-page/
  • 运行文件名中包含 my-specmy-spec-2 的文件

    npx playwright test my-spec my-spec-2
  • 运行 my-spec.ts 中第 42 行的测试

    npx playwright test my-spec.ts:42
  • 运行标题为 的测试

    npx playwright test -g "add a todo item"
  • 在有头浏览器中运行测试

    npx playwright test --headed
  • 针对特定项目运行所有测试

    npx playwright test --project=chromium
  • 禁用并行化

    npx playwright test --workers=1
  • 选择一个报告器

    npx playwright test --reporter=dot
  • 在调试模式下使用Playwright Inspector运行测试

    npx playwright test --debug
  • 在交互式 UI 模式下运行测试,并使用内置的监视模式(预览)

    npx playwright test --ui
  • 寻求帮助

    npx playwright test --help

参考

Playwright Test 选项的完整集合可在配置文件中找到。以下选项可以传递给命令行,并优先于配置文件

选项描述
非选项参数每个参数都被视为与完整测试文件路径匹配的正则表达式。只有与模式匹配的文件中的测试才会被执行。特殊符号(如 $*)应使用 \ 进行转义。在许多 shell/终端中,您可能需要引用参数。
-c <file>--config <file>配置文件。如果未传递,则默认为当前目录中的 playwright.config.tsplaywright.config.js
--debug使用 Playwright Inspector 运行测试。它是 PWDEBUG=1 环境变量和 --timeout=0 --max-failures=1 --headed --workers=1 选项的快捷方式。
--fail-on-flaky-tests使包含不稳定测试的测试运行失败。默认情况下,不稳定测试算作成功。
--forbid-only是否禁止 test.only。在 CI 上很有用。
--global-timeout <number>整个测试运行的总超时时间(以毫秒为单位)。默认情况下,没有全局超时。详细了解各种超时
-g <grep>--grep <grep>仅运行与该正则表达式匹配的测试。例如,当传递 -g "add to cart" 时,这将运行 'should add to cart'。正则表达式将针对由项目名称、测试文件名、test.describe 标题(如果有)、测试标题和所有测试标签组成的字符串进行测试,这些字符串用空格分隔,例如 chromium my-test.spec.ts my-suite my-test @smoke。此过滤器不适用于依赖项项目中的测试,即 Playwright 仍将运行来自项目依赖项的所有测试。
--grep-invert <grep>仅运行与该正则表达式匹配的测试。与 --grep 相反。此过滤器不适用于依赖项项目中的测试,即 Playwright 仍将运行来自项目依赖项的所有测试。
--headed在有头浏览器中运行测试。用于调试。
--ignore-snapshots是否忽略快照。当已知快照期望值不同时使用此选项,例如在 Linux 上针对 Windows 屏幕截图运行测试。
--last-failed仅重新运行失败的测试。
--list列出所有测试,但不运行它们。
--max-failures <N>-x在第一次出现 N 个测试失败后停止。传递 -x 在第一次失败后停止。
--no-deps忽略项目之间的依赖关系,并表现得好像它们未指定一样。
--output <dir>测试生成的工件的目录,默认为 test-results
--only-changed [ref]仅运行在工作树和“ref”之间发生更改的测试文件。默认为运行所有未提交的更改,ref=HEAD。仅支持 Git。
--pass-with-no-tests允许测试套件在未找到文件时通过。
--project <name>仅运行来自指定项目的测试,支持“*”通配符。默认为运行配置文件中定义的所有项目。
--quiet是否抑制测试的标准输出和标准错误。
--repeat-each <N>运行每个测试 N 次,默认为一次。
--reporter <reporter>选择一个报告器:极简的 dot、简洁的 line 或详细的 list。有关更多信息,请参阅报告器。您还可以传递自定义报告器文件的路径。
--retries <number>不稳定测试的重试最大次数,默认为零(不重试)。
--shard <shard>分片测试并仅执行选定的分片,以 current/all 的形式指定,从 1 开始,例如 3/5
--timeout <number>每个测试的最大超时时间(以毫秒为单位),默认为 30 秒。详细了解各种超时
--trace <mode>强制跟踪模式,可以是 onoffon-first-retryon-all-retriesretain-on-failure
--tsconfig <path>适用于所有导入文件的单个 tsconfig 的路径。有关更多详细信息,请参阅tsconfig 解析
--update-snapshots-u是否使用实际结果更新快照而不是比较它们。当快照期望值发生变化时使用此选项。
--workers <number>-j <number>并行中运行的并发工作进程的最大数量。