用途:Pixel Perfect 是一个免费、本地运行的视觉回归测试技能,通过 Playwright 对页面截图做逐像素比对,与已提交的基线快照对照,发现非预期的视觉变化。资料注明默认使用它(免费),需要托管式 Chromatic 集成时改用 visual-regression-tester。
主要能力:使用 @playwright/test 与 Chromium 截图对比;提供检测状态、捕获基线、更新基线、调试差异、修复不稳定、GitHub Actions 集成等工作流。可用 maxDiffPixelRatio(默认 0.01)、threshold(默认 0.05)、reducedMotion、mask、fullPage、animations 等选项控制比对与截图行为。
使用方式:先运行三条检查命令判断是否有 playwright.config.ts、snapshots/ 下基线 PNG、开发服务器是否响应(curl 返回 2xx),再按表格选择工作流。完整安装先 npm init -y(如无 package.json),再 npm install -D @playwright/test 与 npx playwright install chromium(需 Node.js v18+),写入配置与测试文件后用 npx playwright test --list 验证。捕获或更新基线可用 npx playwright test --update-snapshots,推荐在 Docker 镜像 mcr.microsoft.com/playwright:v1.50.1-noble 中执行以减少字体渲染差异;无 Docker 时需用户确认是否本地执行。常规比对运行 npx playwright test;按失败类型区分“有意设计改动”与“疑似缺陷”,前者走更新基线并要求填写原因,后者走差异调试,查看 playwright-report/ 与 test-results/ 下的 diff、actual 图片。
适用场景:前端界面改版后核验视觉变化、需要本地免费视觉回归、以及接入 GitHub Actions 的持续视觉检查。
限制:基线须先提交到 git 才能在 CI 运行;CI 需配置 BASE_URL 密钥,无 staging 地址时网络步骤会失败;Docker 镜像版本需与 package.json 中 @playwright/test 版本保持一致;禁止在 CI 中自动更新快照;本地 macOS 捕获的基线可能因字体渲染与 Linux CI 产生误报;项目自带字体、JS 动画或懒加载图片时可能出现不稳定,需使用随附 fixture 并指定关键元素选择器。素材未提供具体价格与更多平台支持信息。