1. 视觉回归的价值
通过比对“基线截图”与“当前截图”的差异,发现 UI 偏移、样式回归与意外变更,补齐单元测试的盲区。
2. 项目初始化
pnpm dlx playwright@latest init
# 配置 expect(page).toHaveScreenshot() 基线目录与阈值
3. 基线管理
- 按组件/页面维度组织基线;大改动时更新基线并评审。
- 跨浏览器/分辨率基线;移动端模拟;暗黑模式覆盖。
4. 稳定性与抗抖动
- 禁用动画/时间依赖;使用 mock 固定数据与时间。
- 加载完成后再截图(网络空闲/选择器稳定)。
5. CI 集成与审阅
- Artifacts 上传差异图;PR Bot 评论预览;审批后更新基线。
- 与 Storybook 结合,形成“可视化回归 + 组件文档”的闭环。
6. 与 E2E/单测的边界
视觉回归关注像素差异,不替代行为正确性测试;三者协同更可靠。