Playwright端到端测试技能 qa-testing-playwright

这个技能专注于使用Playwright工具进行网页应用程序的端到端测试,覆盖测试编写、调试、CI/CD集成等,旨在提供稳定、高效的自动化测试解决方案。关键词:Playwright测试,E2E测试,网页自动化,测试策略,CI/CD,测试调试。

测试 0 次安装 0 次浏览 更新于 3/7/2026

名称: qa-testing-playwright 描述: “用于编写端到端网页测试、调试不稳定测试或设置 Playwright CI。涵盖:稳定选择器(getByRole)、并行化/分片、不稳定控制、网络模拟、视觉测试、MCP/AI 自动化和 CI/CD 集成。”

QA 测试(Playwright)

高信号、成本意识的网页应用程序端到端测试。

核心文档:

默认设置(2026)

  • 保持 E2E 精简:仅保护关键用户旅程;将覆盖率下推(单元/集成/合约)。
  • 选择器优先级:getByRolegetByLabel/getByTextgetByTestId(备用)。
  • 等待:依赖 Playwright 自动等待 + 网页优先断言;不使用睡眠/基于时间的等待。
  • 隔离:测试必须单独运行、并行运行和任意顺序运行;消除共享可变状态。
  • 不稳定处理:重试是调试工具;将重新运行通过视为失败信号并修复根本原因。
  • CI 处理:PR 上的冒烟门;按计划分片/并行化回归;始终保留工件(跟踪/视频/截图)。

快速开始

命令 目的
npm init playwright@latest 初始化 Playwright
npx playwright test 运行所有测试
npx playwright test --grep @smoke 运行冒烟测试
npx playwright test --project=chromium 运行单个项目
npx playwright test --ui 使用 UI 模式调试
npx playwright test --debug 逐步执行测试
npx playwright show-trace trace.zip 检查跟踪工件
npx playwright show-report 检查 HTML 报告

何时使用

  • 网页应用程序的端到端测试
  • 测试用户认证流程
  • 验证表单提交
  • 测试响应式设计
  • 自动化浏览器交互
  • 在 CI/CD 中设置 Playwright

何时不使用

场景 替代使用
单元测试 Jest, Vitest, pytest
API 合约 qa-api-testing-contracts
负载测试 k6, Locust, Artillery
移动原生 Appium

编写规则

选择器策略

// 1. 角色选择器(首选)
await page.getByRole('button', { name: '登录' }).click();

// 2. 标签/文本选择器
await page.getByLabel('电子邮件').fill('user@example.com');

// 3. 测试 ID(备用)
await page.getByTestId('用户头像').click();

不稳定控制

  • 避免睡眠;使用 Playwright 自动等待
  • 将重试用作信号,而非依赖
  • 失败时捕获跟踪/截图/视频
  • 优先用户类交互;避免 force: true

工作流

  • 编写最小的测试以证明用户结果(意图 + 预言)。
  • 在添加更多步骤之前稳定选择器和断言。
  • 使状态明确:每个测试/工作线程播种,确定性清理,模拟第三方边界。
  • 在 CI 中:分片/并行化,捕获工件,并在重新运行通过的不稳定情况下快速失败。

调试检查清单

如果某些内容不稳定:

  • 首先打开跟踪;识别是选择器模糊、缺少等待还是状态泄漏。
  • 用语义选择器替换脆弱的選擇器;用 expect(...) 或有针对性的等待替换睡眠。
  • 减少全局超时;仅在产品真正需要时添加作用域超时。
  • 如果仅在 CI 中失败,查找并发、冷启动、CPU 饥饿和环境差异。

做 / 避免

  • 使测试独立且确定性

  • 对第三方依赖使用网络模拟

  • 在 PR 上运行冒烟 E2E;按计划运行完整回归

  • 默认情况下“一切 E2E 测试”

  • 削弱断言以“修复”不稳定

  • 削弱断言的自动修复

资源

资源 目的
references/playwright-mcp.md MCP & AI 测试
references/playwright-patterns.md 高级模式
references/playwright-ci.md CI 配置
data/sources.json 文档链接

模板

模板 目的
assets/template-playwright-e2e-review-checklist.md E2E 审查检查清单
assets/template-playwright-fail-on-flaky-reporter.js 在重新运行通过的不稳定时使 CI 失败

相关技能

技能 目的
qa-testing-strategy 总体测试策略
software-frontend 前端开发
ops-devops-platform CI/CD 集成