关于 playwright-regression-testing
playwright-regression-testing 是面向 TypeScript 的 Playwright 回归测试规划与优化技能,涵盖分层和按变更选测、CI 执行与分片,以及不稳定测试和套件健康度管理。
主要功能
- 01按执行层级组织测试
- 02依据风险和代码变更选测
- 03规划 CI 流水线与测试分片
- 04隔离并跟踪不稳定测试
- 05监控套件耗时和不稳定率
适用场景
- 01为代码变更选择冒烟或回归测试子集
- 02安排提交、拉取请求和夜间构建的测试运行
- 03将大型测试套件分配到多个 CI 执行器
- 04跟踪并调查反复出现的不稳定测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ fugazi/ test-automation-skills-agents --skill playwright-regression-testing安装后在 Claude Code 中输入/playwright-regression-testing确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSE.txtreferences/ci-cd-integration.mdflaky-management.mdregression-best-practices.mdregression-catalogs.mdregression-selection.mdregression-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