用途:用于视觉回归测试,通过截图对比发现界面差异,并集成到持续集成流程中。资料提示:默认采用像素级精准对比(免费),需要托管 Chromatic 基线时可使用本技能。
核心工作流:选择工具(Playwright 或 Chromatic);设置基线并捕获初始截图;配置可接受的差异阈值;集成 CI 实现自动化测试;审查变更并批准或拒绝;接受有意变更后更新基线。
主要能力:
- Playwright 视觉测试:支持安装依赖(npm install -D @playwright/test、npx playwright install)、配置文件(playwright.config.ts),可通过 toHaveScreenshot 与 toMatchSnapshot 断言截图,支持全页截图、区块截图、组件状态(默认、悬停、聚焦、禁用、错误)、响应式多视口、深色模式、动画禁用、网络等待等。
- Chromatic 集成:安装 chromatic、配置 Storybook 与 CI 工作流,支持多视口捕获、延迟、动画暂停、交互状态模式等。
- CI 集成:提供 GitHub Actions 示例,安装 Playwright 浏览器、构建应用、运行视觉测试、上传测试结果与差异图片作为工件。
- 基线更新脚本:通过 package.json 脚本运行测试、更新快照、打开 UI 与查看报告。
使用方式要点:安装依赖后配置测试目录、快照目录、阈值(如 maxDiffPixels、maxDiffPixelRatio、threshold)、动画禁用、多设备和视口项目;编写视觉测试文件,使用稳定选择器与 data-testid;在 CI 中运行并上传报告与差异图。
适用场景:前端页面、组件库、响应式布局、深色模式、交互状态的视觉一致性校验。
限制与注意事项:需确保网络加载完成、动画一致;阈值需按项目调整;基线变更需人工审查;不同环境可能导致像素差异;未提供具体收费、平台或效果保证信息。