命令行
介绍
以下是命令行中最常用的选项。
-
运行所有测试
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.{m,c}?{js,ts}" 的测试目录。默认使用当前目录下的 playwright.config.ts 或 playwright.config.js 。 |
--debug | 使用 Playwright Inspector 运行测试。是 PWDEBUG=1 环境变量和 --timeout=0 --max-failures=1 --headed --workers=1 选项的快捷方式。 |
--fail-on-flaky-tests | 如果任何测试被标记为不稳定 (flaky),则失败(默认值:false)。 |
--forbid-only | 如果调用了 test.only 则失败(默认值:false)。在 CI 环境中很有用。 |
--fully-parallel | 完全并行运行所有测试(默认值:false)。 |
| 此测试套件可以运行的最长时间(以毫秒为单位)(默认值:无限制)。 |
-g <grep> 或 --grep <grep> | 仅运行与此正则表达式匹配的测试(默认值:"."*)。 |
-gv <grep> 或 --grep-invert <grep> | 仅运行与此正则表达式不匹配的测试。 |
--headed | 在有头模式浏览器中运行测试(默认值:无头模式)。 |
--ignore-snapshots | 忽略截图和快照的预期结果。 |
--last-failed | 仅重新运行失败的测试。 |
--list | 收集所有测试并报告它们,但不运行。 |
--max-failures <N> 或 -x | 在首次 N 次失败后停止。传递 -x 会在首次失败后停止。 |
--no-deps | 不运行项目依赖项。 |
| 输出文件的文件夹(默认值:"test-results")。 |
--only-changed [ref] | 仅运行在 'HEAD' 和 'ref' 之间发生更改的测试文件。默认运行所有未提交的更改。仅支持 Git。 |
--pass-with-no-tests | 即使没有找到测试,也使测试运行成功。 |
| 仅运行指定项目列表中的测试,支持 '*' 通配符(默认值:运行所有项目)。 |
--quiet | 抑制标准输入输出 (stdio)。 |
| 将每个测试运行 N 次(默认值:1)。 |
| 要使用的报告器,以逗号分隔,可以是 "dot"、"line"、"list" 或其他(默认值:"list")。您也可以传递自定义报告器文件的路径。 |
| 不稳定 (flaky) 测试的最大重试次数,零表示不重试(默认值:不重试)。 |
| 分片测试并仅执行选定的分片,以 "current/all" 的形式指定,基于 1,例如 "3/5"。 |
| 指定测试超时阈值(以毫秒为单位),零表示无限制(默认值:30 秒)。 |
| 强制启用跟踪模式,可以是 "on"、"off"、"on-first-retry"、"on-all-retries"、"retain-on-failure"、"retain-on-first-failure"。 |
| 适用于所有导入文件的单个 tsconfig 的路径(默认值:单独查找每个导入文件的 tsconfig)。 |
--ui | 在交互式 UI 模式下运行测试。 |
| 托管 UI 的主机;指定此选项会在浏览器标签页中打开 UI。 |
| 托管 UI 的端口,0 表示任何空闲端口;指定此选项会在浏览器标签页中打开 UI。 |
-u 或 --update-snapshots [mode] | 使用实际结果更新快照。可能的值包括 "all"、"changed"、"missing" 和 "none"。不带此标志运行测试时默认为 "missing";带此标志但不指定值时默认为 "changed"。 |
--update-source-method [mode] | 使用实际结果更新快照。可能的值包括 "patch"(默认值)、"3way" 和 "overwrite"。"patch" 创建一个统一的 diff 文件,稍后可用于更新源代码。"3way" 在源代码中生成合并冲突标记。"overwrite" 用新的快照值覆盖源代码。 |
-j <workers> 或 --workers <workers> | 并发工作线程数或逻辑 CPU 核心的百分比,使用 1 在单个工作线程中运行(默认值:50%)。 |
-x | 在首次失败后停止。 |