命令行工具
简介
以下是命令行中最常用的选项:
-
运行所有测试
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 检查器
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 | 如果有测试被标记为不稳定则失败(默认:false)。 |
--forbid-only | 如果调用 test.only 则失败(默认:false)。在 CI 中很有用。 |
--fully-parallel | 并行运行所有测试(默认:false)。 |
--global-timeout <timeout> | 测试套件运行的最大毫秒数(默认:无限制)。 |
-g <grep> 或 --grep <grep> | 仅运行匹配此正则表达式的测试(默认:".*")。 |
-gv <grep> 或 --grep-invert <grep> | 仅运行不匹配此正则表达式的测试。 |
--headed | 在带界面的浏览器中运行测试(默认:无头模式)。 |
--ignore-snapshots | 忽略截图和快照期望。 |
--last-failed | 仅重新运行失败的测试。 |
--list | 收集所有测试并报告,但不运行。 |
--max-failures <N> 或 -x | 在 N 次失败后停止。传递 -x 会在第一次失败后停止。 |
--no-deps | 不运行项目依赖项。 |
--output <dir> | 输出产物的文件夹(默认:"test-results")。 |
--only-changed [ref] | 仅运行 'HEAD' 和 'ref' 之间已更改的测试文件。默认为运行所有未提交的更改。仅支持 Git。 |
--pass-with-no-tests | 即使没有找到测试也使测试运行成功。 |
--project <project-name...> | 仅运行指定项目列表中的测试,支持 '*' 通配符(默认:运行所有项目)。 |
--quiet | 抑制标准输入输出。 |
--repeat-each <N> | 每个测试运行 N 次(默认:1)。 |
--reporter <reporter> | 使用的报告器,逗号分隔,可以是 "dot"、"line"、"list" 或其他(默认:"list")。也可以传递自定义报告器文件的路径。 |
--retries <retries> | 不稳定测试的最大重试次数,零表示不重试(默认:不重试)。 |
--shard <shard> | 分片测试并仅执行选定的分片,格式为 "当前/总数",基于 1,例如 "3/5"。 |
--timeout <timeout> | 指定测试超时阈值(毫秒),零表示无限制(默认:30 秒)。 |
--trace <mode> | 强制跟踪模式,可选 "on"、"off"、"on-first-retry"、"on-all-retries"、"retain-on-failure"、"retain-on-first-failure"。 |
--tsconfig <path> | 适用于所有导入文件的单个 tsconfig 路径(默认:为每个导入文件单独查找 tsconfig)。 |
--ui | 在交互式 UI 模式下运行测试。 |
--ui-host <host> | 提供 UI 服务的主机;指定此选项会在浏览器标签页中打开 UI。 |
--ui-port <port> | 提供 UI 服务的端口,0 表示任意空闲端口;指定此选项会在浏览器标签页中打开 UI。 |
-u 或 --update-snapshots [mode] | 使用实际结果更新快照。可选值为 "all"、"changed"、"missing" 和 "none"。不带标志运行测试默认为 "missing";带标志但不带值运行测试默认为 "changed"。 |
--update-source-method [mode] | 使用实际结果更新快照。可选值为 "patch"(默认)、"3way" 和 "overwrite"。"Patch" 创建统一的差异文件,可用于稍后更新源代码。"3way" 在源代码中生成合并冲突标记。"Overwrite" 用新的快照值覆盖源代码。 |
-j <workers> 或 --workers <workers> | 并发工作线程数或逻辑 CPU 核心的百分比,使用 1 表示在单个工作线程中运行(默认:50%)。 |
-x | 在第一次失败后停止。 |