跳到主要内容

命令行工具

简介

以下是命令行中最常用的选项:

  • 运行所有测试

    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 检查器

    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.tsplaywright.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>-xN 次失败后停止。传递 -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在第一次失败后停止。