| name | e2e-testing |
| description | 端到端测试实战 —— 关键用户流程覆盖、测试数据管理、环境隔离与 Playwright/Cypress 最佳实践 |
| category | 测试 |
| loading | on-demand |
| triggers | {"keywords":["e2e","端到端测试","playwright","cypress","E2E","浏览器测试"]} |
端到端测试
概述
提供端到端(E2E)测试的策略设计和工具使用指南,确保关键用户流程在真实浏览器环境中正常工作。
使用场景
- 确定 E2E 测试范围和关键用户旅程
- 新项目搭建 E2E 测试框架
- E2E 测试不稳定(flaky)的排查和修复
- 测试数据管理和环境隔离方案设计
核心原则
- 只覆盖关键路径:E2E 测试慢且脆弱,不值得覆盖所有分支。聚焦核心用户旅程——注册、登录、下单、支付等。
- 测试金字塔原则:单元测试最多,集成测试适中,E2E 测试最少。不要用 E2E 替代单元测试。
- 数据隔离:每个测试用例使用独立的测试数据,测试后清理,不留副作用。
- 稳定性是生命线:Flaky 测试比没有测试更糟——它们消耗 CI 时间且降低团队对测试的信任。
- 使用 data-testid 而非 CSS 选择器:CSS 类名随样式变化频繁变动,
data-testid 是稳定的元素定位方式。
Playwright vs Cypress
- Playwright:多浏览器原生支持、网络拦截能力强、并行执行效率高。新项目首选。
- Cypress:实时重载体验好、调试友好、社区成熟。已有项目且无多浏览器需求时可继续使用。
检查清单