mcpField
P
playwright-regression-testing

playwright-regression-testing

github.com/fugazi测试与质量25682 次安装2 天前更新
代码仓库

关于 playwright-regression-testing

playwright-regression-testing 是面向 TypeScript 的 Playwright 回归测试规划与优化技能,涵盖分层和按变更选测、CI 执行与分片,以及不稳定测试和套件健康度管理。

主要功能

  1. 01按执行层级组织测试
  2. 02依据风险和代码变更选测
  3. 03规划 CI 流水线与测试分片
  4. 04隔离并跟踪不稳定测试
  5. 05监控套件耗时和不稳定率

适用场景

  1. 01为代码变更选择冒烟或回归测试子集
  2. 02安排提交、拉取请求和夜间构建的测试运行
  3. 03将大型测试套件分配到多个 CI 执行器
  4. 04跟踪并调查反复出现的不稳定测试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/fugazi/test-automation-skills-agents --skill playwright-regression-testing

安装后在 Claude Code 中输入/playwright-regression-testing确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE.txt
references/
ci-cd-integration.md
flaky-management.md
regression-best-practices.md
regression-catalogs.md
regression-selection.md
regression-strategy.md

详细介绍

Playwright 回归测试(TypeScript)

使用 Playwright 和 TypeScript 对 Web 应用进行自动化回归测试的策略与最佳实践。

激活条件: 在处理回归测试策略、测试套件选择、测试优先级排序、CI/CD 流水线测试、不稳定测试管理、测试分片,或优化 Web 应用的测试执行时,将触发此技能。

何时使用此技能

  • 规划回归套件,采用基于风险和变更的测试选择
  • 组织测试,划分为多个层级(冒烟、健全性、选择性、完整回归)
  • 优化执行,采用并行化、分片和时间预算策略
  • 集成 CI/CD,使用 GitHub Actions 流水线
  • 管理不稳定测试,采用隔离、重试策略和根因追踪
  • 监控套件健康状况,关注执行时间、波动率和检测指标
  • 变更后选择测试,使用 git diff 分析和影响映射
请勿用于
  • 编写单个 UI 规范或页面对象模型(使用 playwright-e2e-testing)。
  • 交互式驱动实时浏览器进行调试(使用 playwright-cli)。
  • Selenium/Java 回归套件(使用 webapp-selenium-testing)。
  • 单独进行 API 契约测试(使用 api-testing)。

先决条件

要求详情
Node.js建议使用 v18+
Playwright@playwright/test 包
TypeScript项目中已配置 typescript
浏览器通过 npx playwright install 安装
Git基于变更选择测试时必需
GitHub Actions推荐的 CI/CD 平台

快速参考

层级: 冒烟(<2 分钟,每次提交)→ 健全性(<10 分钟,每个 PR)→ 选择性(<30 分钟,合并时)→ 完整回归(<60 分钟,每晚/发布前)。

关键标签: @smoke、@sanity、@regression、@e2e、@api、@destructive——每个测试只能有一个,绝不能用于 describe() 块。允许搭配特定领域的扩展标签(例如,无障碍技能中的 @a11y),但每个测试只能有一个执行标签。

CLI: npx playwright test --grep @smoke | --grep @regression | --grep-invert @destructive | --shard=1/4 | --last-failed

完整的层级模型、回归类型表和标签分类,请参见 references/regression-catalogs.md。


风险信号

  • 通过添加重试或 waitForTimeout 将不稳定测试视为“已修复”——应隔离测试并追查根因。
  • 每次提交都运行完整测试套件——应采用分层选择(提交时运行冒烟测试,每晚运行完整套件)。
  • 隔离测试时不创建跟踪工单——隔离必须是临时的,并明确负责人。
  • 不进行基于变更的测试选择——无论变更内容如何都运行所有测试,会浪费 CI 预算。
  • 忽视套件健康指标(执行时间增加、波动率上升),直到它们阻碍发布。

参考文档

文档内容
回归策略分层模型(smoke→full)、回归类型、触发条件、目录布局、测试标记与标记分类
回归测试选择测试选择(基于变更、风险、历史记录、时间预算)和测试命名约定
回归测试最佳实践定位器优先级、面向 Web 的断言、测试独立性、test.step() 报告、完整的测试示例
CI/CD 集成GitHub Actions 分层流水线、分片、合并报告、Playwright 配置、性能优化、CLI 参考
不稳定测试管理重试策略、隔离策略、检测清单、测试套件健康度指标、故障排查

验证

  • 已确定冒烟测试子集 — 带有 @smoke 标记的测试在 2 分钟内运行完毕
  • 无测试重复 — 每个场景都在适当的层级恰好测试一次
  • 已验证测试隔离性 — 按随机顺序运行测试与按顺序运行的结果相同
  • 已建立不稳定测试基线 — 所有测试连续 5 次运行均通过

评论

支持 Markdown