AgentSkillsCN

visual-regression-setup

通过 Percy、Chromatic 或自定义截图对比,配置视觉回归测试。

SKILL.md
--- frontmatter
name: visual-regression-setup
description: Configure visual regression testing with Percy, Chromatic, or custom screenshot comparison
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
tags: [testing, visual-regression, screenshots, ui-testing, desktop]

visual-regression-setup

Configure visual regression testing for desktop applications to catch unintended UI changes.

Capabilities

  • Configure Percy integration
  • Set up Chromatic for Storybook
  • Custom screenshot comparison
  • Configure threshold settings
  • Handle dynamic content masking
  • Set up CI/CD integration

Input Schema

json
{
  "type": "object",
  "properties": {
    "projectPath": { "type": "string" },
    "provider": { "enum": ["percy", "chromatic", "reg-suit", "custom"] },
    "framework": { "enum": ["playwright", "cypress", "puppeteer"] }
  },
  "required": ["projectPath"]
}

Percy Integration

javascript
// playwright.config.js
import { defineConfig } from '@playwright/test';

export default defineConfig({
  use: {
    screenshot: 'only-on-failure'
  }
});

// test.spec.js
import { test } from '@playwright/test';
import percySnapshot from '@percy/playwright';

test('visual test', async ({ page }) => {
  await page.goto('/');
  await percySnapshot(page, 'Home page');
});

Custom Comparison

javascript
const { toMatchImageSnapshot } = require('jest-image-snapshot');
expect.extend({ toMatchImageSnapshot });

test('matches screenshot', async () => {
  const screenshot = await page.screenshot();
  expect(screenshot).toMatchImageSnapshot({
    failureThreshold: 0.01,
    failureThresholdType: 'percent'
  });
});

Related Skills

  • playwright-electron-config
  • desktop-ui-testing process