用途:在实现端到端测试、使用 Playwright 或 Cypress、测试用户旅程、调试不稳定(flaky)测试时使用。
适合测试:关键用户旅程(登录、结账、注册)、复杂交互(拖拽、多步表单)、跨浏览器兼容性、真实 API 集成。不适合:单元级逻辑(用单元测试)、API 契约(用集成测试)、边界情况(太慢)。
主要能力:Playwright 配置(testDir、timeout、fullyParallel、CI 下 retries=2、baseURL、trace、screenshot,以及 chromium 与移动端 projects);页面对象模型封装页面逻辑;等待策略(避免固定 waitForTimeout,改用可见性、waitForURL、waitForResponse);网络模拟(page.route 返回 500 验证错误提示);视觉回归(toHaveScreenshot,含 fullPage 与 maxDiffPixels);无障碍测试(@axe-core/playwright 的 AxeBuilder 分析 violations);选择器优劣(避免脆弱 CSS 链,优先 getByRole 与 data-testid)。
使用方式:运行与调试命令包括 npx playwright test --headed、npx playwright test --debug、npx playwright show-trace trace.zip。
最佳实践:使用 data-testid 稳定选择器、测试用户行为而非实现、保持测试独立、按测试创建与销毁数据、用页面对象封装、通过模拟与并行优化速度。
限制:资料未提供安装步骤、依赖版本、成本或价格信息,亦未给出 Cypress 的具体配置示例,相关细节暂未提供。