命令行
简介
以下是命令行中可用的最常见选项。
-
运行所有测试
npx playwright test
-
运行单个测试文件
npx playwright test tests/todo-page.spec.ts
-
运行一组测试文件
npx playwright test tests/todo-page/ tests/landing-page/
-
运行文件名中包含
my-spec
或my-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.ts 或 playwright.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> | 强制跟踪模式,可以是 on 、off 、on-first-retry 、on-all-retries 、retain-on-failure |
--tsconfig <path> | 适用于所有导入文件的单个 tsconfig 的路径。有关更多详细信息,请参阅tsconfig 解析。 |
--update-snapshots 或 -u | 是否使用实际结果更新快照而不是比较它们。当快照期望值发生变化时使用此选项。 |
--workers <number> 或 -j <number> | 在并行中运行的并发工作进程的最大数量。 |