该技能是一个 Playwright 最佳实践指南,用于在编写、审查、调试或维护 Playwright 测试和配置时提供结构化的工作流程,涉及不稳定测试、trace.zip 与 CI 制品、定位器、fixtures 等主题。使用时需遵循仓库的测试命令、约定与安全要求,选择匹配的工作流,并且只加载该步骤所需的参考文档;参考路径相对于该技能目录解析。
故障排查流程:先利用已有失败证据再准备新的测试运行。第一步识别失败,将报告对应到请求的测试、Playwright 项目和版本,定位其错误、截图、error-context 文件以及可用的 trace,区分主要失败与中断测试、teardown 错误和运行级错误。第二步检查制品,对已有 trace 按 trace-inspection.md 选择已安装的原生读取器并安全提取证据,从失败动作及其紧邻的前序相关动作开始;若只允许或只有提供的摘录,则在其中工作并说明缺失内容。第三步将动作与状态关联,检查定位器参数、布尔返回值、动作日志以及疑似状态转换附近的 DOM 快照阶段;已完成的点击不代表其处理器已运行,存在的 DOM 元素不代表可见或就绪,需区分记录的执行与快照重放诊断,返回带动作 ID/阶段的有界摘录并披露省略范围。第四步检查相关源码,阅读失败测试、相关 helper/fixture 及解释观察序列所需的应用代码,在将当前代码视为历史失败原因前验证源码与版本对齐。第五步按需复现,若证据无法区分可能原因,运行最窄的相关复现并收集 trace;对于请求的修复,先复现失败再修改行为并在修复后重跑,使用仓库运行器将命令限定在失败测试/项目,聚焦信号有效后再扩大覆盖。第六步报告结果,给出带证据引用的观察序列、有支持的说明与剩余假设、缺失证据,并单独说明是否进行了独立复现和修复验证;仅检查归档既不能证明复现也不能证明修复。需要时加载操作指引,已有 trace 检查不需要启动应用或重置后端。
参考文档选择:已有 trace / CI 制品读“Trace 检查”;定位器、元素缺失或超时读“定位器、断言与等待”;竞态、间歇性失败或仅并行失败读“不稳定测试”,涉及隔离时使用“Fixtures”;记录的 console 或 JavaScript 错误读“Console 错误”;需要新的复现或调试器读“调试工具”;编写新的 E2E 测试读“测试结构、定位器、断言与等待”;重构测试或页面对象读“Page Object Model、Fixtures”;配置运行器或项目依赖读“Configuration、Project dependencies”;组件/API 测试、框架特定工作、移动端、浏览器 API、CI 或其他专门任务使用完整活动目录,仅选择匹配类别。
测试变更验证:在编写或修改测试后运行受影响测试,例如 npx playwright test path/to/changed.spec.ts --project=chromium --reporter=list;若失败则回到制品优先的排查、修复已证明的原因并重跑聚焦测试;对时序敏感或关键变更可重复运行(如 --repeat-each=5)后再运行仓库要求的相关覆盖;报告执行的检查及结果,若必需检查无法运行或仍失败,应说明限制而非声称已验证。