Playwright 可视化回归测试器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/playwright-visual-regression-tester-3。
技能介绍
解决什么问题
界面看起来没变,但某个 CSS 回归、响应式断点偏移或组件渲染差异已经让产品在特定视口下露馅了。人工检查截图很慢,尤其面对多设备、多页面和频繁改动时,很难稳定判断这是不是真正的 UI 回归。
这个技能用于自动化可视化回归测试:它基于 Playwright 的截图对比能力与 pixelmatch 做像素级差异检测,把「页面有没有发生不该发生的视觉变化」变成可重复执行的检查。
技能如何工作
- 先为关键页面或关键状态捕获 baseline snapshots,作为后续比较的参考基线。
- 在不同 viewport sizes 下执行截图,覆盖桌面、平板、手机等常见渲染场景。
- 使用 pixelmatch 对两张截图做像素级 diff,生成 HTML diff 报告,直观展示差异区域。
- 通过 threshold-based pass/fail 规则判断结果:差异低于阈值可视为通过,超过阈值则标记为失败。
典型流程是:准备基线截图 → 运行页面访问与截图 → 对目标视口做像素对比 → 查看 HTML diff → 根据阈值判定回归是否通过。
适用边界与注意点
它适合检测像素级 UI 变化,但不能替代功能测试、可访问性测试或性能测试。动态内容、动画、随机文案、时间戳、广告位、字体渲染差异和抗锯齿效果都可能产生误报,需要通过稳定的测试数据、等待策略和合理阈值来控制噪声。
基线需要受控管理:当设计确实变化时,应及时更新基线,否则历史对比结果会持续失败。此外,Playwright 也支持 Python、.NET 和 Java,选择实现语言时应与现有测试栈保持一致。
使用场景
- 组件重构或样式调整后,在多个视口下运行截图对比,确认页面没有出现预期之外的像素变化
- CI 流水线中接入基线对比,当像素差异超过设定阈值时让任务直接失败,防止视觉回归进入主干
- 响应式改造后,用桌面、平板、手机三种视口截图验证布局一致性,并通过 HTML diff 定位差异区域
- 升级前端依赖或设计系统版本后,对比基线截图,确认这次升级没有引入未预期的渲染变化
适合人员
- 前端工程师:改完组件或样式后,需要快速确认跨视口渲染没有发生回归
- 测试工程师:想把像素级截图对比纳入现有自动化测试体系并沉淀基线
- CI 维护者:需要在流水线中配置截图门禁,让差异超阈值时自动阻断合并
- 开源项目维护者:缺少设计走查资源,想用低成本的基线对比守住 UI 视觉一致性