SuperAPI AI 工具集

e2e-testing-claude-code

测试与质量

查看项目

更新于 10-16 03:47

技能介绍

用途:该技能让 Claude Code 在用户要求新增、编写或修复端到端(E2E)测试时,按资深 SDET 的方式产出可信赖的浏览器测试。E2E 测试驱动真实浏览器走完真实用户旅程,可靠时价值最高,不稳定时破坏最大。

核心原则:测用户旅程而非单个页面;只保留少量高价值、覆盖营收或关键路径的用例,字段级与边界检查下沉到单元/集成测试;保持确定性,不用固定 sleep、不依赖生产数据、不依赖用例顺序;只使用稳定定位器,因为脆弱选择器是 E2E 不稳定的首要原因。

主要能力与步骤:一是按业务风险选择要 E2E 的旅程,如登录、结算支付、引导、搜索到结果等核心任务,若被笼统要求“加 E2E 测试”,先列出关键旅程确认优先级。二是选框架,新项目默认 Playwright,仓库已统一用 Cypress 则沿用,先检测现有配置,不引入第二个 E2E 框架。三是定位器优先级为 role/label/text 优先,其次 data-testid,CSS 为最后手段,禁用自动生成类名、深层 CSS 链和 nth-child 位置;若应用缺少稳定钩子,可在应用代码中补 data-testid。四是采用 Page Object Model,选择器与操作放页面对象,断言留在测试中。五是认证状态复用,在全局 setup 中登录一次并保存 storageState,避免每个测试重复登录。六是用网络 mock 保证确定性,mock 第三方或不稳定调用,核心 API 走带种子数据的测试后端。七是消除不稳定,用 web-first 断言替换所有 waitForTimeout,每个测试自备数据并自清理,在 CI 中随机化顺序。八是 CI 集成,在 PR 上运行,按 worker 分片,缓存浏览器二进制,失败时上传 trace、截图与视频。

使用方式:随技能提供的示例命令包括 npx playwright test --shard=${{ matrix.shard }}/4,以及失败时使用 actions/upload-artifact@v4 上传 test-results/。另附自检清单:覆盖完整旅程、只用稳定定位器、无 waitForTimeout、复用认证与自清理数据、随机顺序通过、CI 失败上传 trace、并验证旅程损坏时测试确实失败。

适用场景:需要在 Claude Code 中生成或维护 Playwright/Cypress E2E 测试的团队。

限制:资料未提供该技能的安装方式、收费、平台支持或具体版本要求;上述内容均为其描述的测试实践,不构成额外功能承诺。