Розробка Visual Regression тестів для сайту (Percy)

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Розробка Visual Regression тестів для сайту (Percy)
Середня
~2-3 робочих дні
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Розроблення Visual Regression тестів для сайтів (Percy)

Percy (Browserstack) — хмарна платформа для visual regression testing. На відміну від Chromatic, Percy не прив'язана до Storybook та інтегрується прямо з Playwright, Cypress, Selenium. Підходить для тестування цілих сторінок, а не тільки компонентів.

Встановлення з Playwright

npm install -D @percy/cli @percy/playwright

Базова інтеграція

// tests/visual/homepage.spec.ts
import { test } from '@playwright/test';
import percySnapshot from '@percy/playwright';

test('homepage visual snapshot', async ({ page }) => {
    await page.goto('/');
    await page.waitForLoadState('networkidle');

    await percySnapshot(page, 'Homepage');
});

test('product page snapshots', async ({ page }) => {
    await page.goto('/products/macbook-pro');
    await percySnapshot(page, 'Product Page - Default');

    // Відкрити галерею
    await page.click('[data-cy="gallery-btn"]');
    await percySnapshot(page, 'Product Page - Gallery Open');
});

test('responsive snapshots', async ({ page }) => {
    await page.goto('/');

    // Desktop
    await page.setViewportSize({ width: 1280, height: 900 });
    await percySnapshot(page, 'Homepage Desktop');

    // Mobile
    await page.setViewportSize({ width: 375, height: 812 });
    await percySnapshot(page, 'Homepage Mobile');
});

Інтеграція з Cypress

npm install -D @percy/cli @percy/cypress
// cypress/support/e2e.ts
import '@percy/cypress';

// cypress/e2e/visual.cy.ts
describe('Visual tests', () => {
    it('checkout page', () => {
        cy.visit('/checkout');
        cy.percySnapshot('Checkout Page');

        cy.get('[data-cy="add-coupon"]').click();
        cy.percySnapshot('Checkout Page - Coupon Input Open');
    });
});

Запуск тестів

# Встановити Percy token
export PERCY_TOKEN=your_token

# Запуск з Playwright
percy exec -- playwright test tests/visual/

# Запуск з Cypress
percy exec -- cypress run --spec "cypress/e2e/visual.cy.ts"

GitHub Actions

name: Visual Tests
on: [push, pull_request]

jobs:
  percy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci
      - run: npx playwright install chromium

      - name: Percy Visual Tests
        run: percy exec -- playwright test tests/visual/
        env:
          PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}

Percy vs Chromatic

Параметр Percy Chromatic
Інтеграція Playwright, Cypress, Selenium Storybook
Тестує Цілі сторінки Компоненти в ізоляції
Вартість Платно від $0 (обмежений Free) Безплатно для open source
Мультибраузер Так (Chrome + Firefox) Chromium

Конфігурація знімків

// .percy.yml
version: 2
snapshot:
  widths: [375, 768, 1280, 1920]
  min-height: 1024
  enable-javascript: true
  percyCSS: |
    /* Заморозити динамічні елементи */
    .timestamp, .live-clock { visibility: hidden; }
    video { display: none !important; }
    * { animation: none !important; transition: none !important; }

Строк реалізації

Настройка Percy + написання візуальних тестів для 20–30 сторінок: 3–5 днів.