E2E Testing Patterns 是一个面向端到端测试的实践型技能,目标是帮助团队构建可靠、快速且可维护的 E2E 测试套件,从而在快速交付代码的同时,在用户之前捕获回归问题。
【用途】 该技能适用于以下场景:实施端到端测试自动化;调试不稳定或不可靠的测试;测试关键用户工作流;搭建 CI/CD 测试流水线;跨多个浏览器进行测试;验证无障碍要求;测试响应式设计;建立 E2E 测试标准。 不适用于:只需要单元测试或集成测试;环境无法支持稳定的 UI 自动化;无法提供安全的测试账号或测试数据。
【主要能力与流程】 技能围绕四条核心指令展开:第一,识别关键用户旅程和成功标准;第二,构建稳定的选择器和测试数据策略;第三,实现隔离的测试,并配有可观测的断言和追踪,同时强调要诊断重试原因,而不是把一次重试当作普通通过;第四,在 CI 中运行测试,支持并行化并捕获测试产物。
【使用方式与示例】 技能提供了工作示例:假设无效登录有时看起来成功,因为测试在错误渲染完成之前就读取了错误信息。解决方案是使用专用夹具账号,并断言 await expect(page.getByRole('alert')).toContainText('Invalid credentials'),在不启用重试的情况下运行测试,并确认仪表盘仍然不可访问。预期结果是失败状态被可靠地观察到,延迟出现的错误不会静默通过。
【前提条件】 使用该技能需要:授权的测试 URL、隔离的账号与数据、已安装的浏览器运行器,以及已知的成功/失败状态。实现手册使用项目特定的路由和适配器;只需安装现有测试套件所需的依赖。
【安全】 避免对生产环境运行破坏性测试;使用专用的测试数据,并清理敏感输出。
【资源】 resources/implementation-playbook.md 提供了详细的 E2E 模式和模板。
【限制】 模拟的后端或支付提供商只能证明模拟边界,仍需保留独立的真实集成检查;自动化无障碍扫描会遗漏交互和辅助技术相关的问题;重试、更大的超时和更新的快照可能隐藏回归,应保留首次失败的证据;浏览器工具无法验证锁定或不可用的交互环境,应报告这一缺口并继续执行独立的测试。