SuperAPI AI 工具集

e2e-playwright

测试与质量

查看项目

更新于 10-15 23:58

技能介绍

该技能用于在 Next.js 项目中用 Playwright 搭建端到端(E2E)测试策略,核心是覆盖关键用户旅程而非逐个组件测试。

用途与范围:适合编写 E2E 测试、调试不稳定用例及接入 CI。资料建议测试注册→验证邮箱→登录→看板、内容增删改、结账流程、404/500/网络失败等错误状态,以及移动端、平板、桌面响应式断点;不建议对可单元验证的逻辑、单个组件状态和静态内容视觉快照做 E2E,这些应交给 Vitest、Jest、Storybook 或组件测试。

安装与配置:执行 npm init playwright@latest,选择 TypeScript、tests/e2e/ 与添加 GitHub Actions。配置 playwright.config.ts 时设置 testDir 为 ./tests/e2e,开启 fullyParallel,CI 下 retries 为 2,通过 webServer 启动 npm run dev 并指定端口 3000,复用本地已有服务器,baseURL 为 http://localhost:3000,trace 为 on-first-retry,screenshot 为 only-on-failure。

主要模式:使用 Page Object 模式封装可复用页面交互,例如 LoginPage 类中的 goto、login 和 waitForDashboard;在 global-setup.ts 中预置测试数据(如测试用户与文章),并在测试后清理;用 page.route 阻断外部请求(如 **/api/analytics)或模拟特定响应(如 /api/posts/)。

CI 集成:提供 .github/workflows/e2e.yml 示例,在 deployment_status 且状态为 success 时触发,步骤依次为 checkout、setup-node、npm ci、npx playwright install、npx playwright test。

调试与限制:排查不稳定测试时查看 trace(含 DOM、网络与控制台)、导航后等待 networkidle、用 toHaveURL/toHaveText 替代任意超时、保持用例彼此隔离。检查清单要求:关键旅程均可端到端覆盖、使用 Page Object、数据预置与清理、CI 已配置、失败时保留 trace 与截图、不使用 await page.waitForTimeout(N)、在 375px 与 1280px+ 断点做响应式测试。资料未提供具体收费、平台限制或效果数据。