Визуальное тестирование с Chromatic: автоматизация контроля UI
Мы часто сталкиваемся с проектами, где UI-регрессии проскакивают незамеченными — изменился отступ на пару пикселей, сбился цвет кнопки, сломалась адаптивность на планшете. Обычные unit и e2e тесты такое не ловят. На проекте с 200+ компонентов такие регрессии происходят каждую неделю, отнимая 4 часа работы QA. Chromatic решает проблему автоматически: интеграция в Storybook делает скриншоты каждой стори при каждом PR, сравнивает их попиксельно и блокирует слияние до подтверждения изменений. Это сокращает время ревью в 10–20 раз по сравнению с ручным просмотром экранов.
Наш опыт — 5+ лет интеграции визуального тестирования, более 20 внедрений для проектов с React, Vue, Angular. Гарантируем стабильный пайплайн и поддержку после запуска. Полная настройка занимает около дня, а окупаемость наступает уже через месяц за счёт снижения доли дефектов до 30–40%. «Chromatic is the visual testing platform built for Storybook» — так описывают сервис его создатели, и это не просто слова: на практике Chromatic выявляет до 95% визуальных регрессий, тогда как ручной просмотр — около 60%.
Почему TurboSnap ускоряет тестирование?
TurboSnap анализирует изменённые файлы в коммите и тестирует только стори, которые их используют. На проекте с 200+ компонентов время тестирования сокращается с 20 минут до 2–3 минут. Включение — одна опция onlyChanged: true в пайплайне.
- uses: chromaui/action@latest with: projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} onlyChanged: true # Включает TurboSnap Для monorepo с несколькими пакетами TurboSnap работает ещё эффективнее: изменения в одном пакете не перезапускают тесты для всего проекта. Экономия времени на крупных проектах достигает 90%.
С чего начать
Chromatic работает поверх Storybook. Если Storybook уже настроен, подключение занимает час. Установите пакет и выполните команду с токеном проекта.
npm install --save-dev chromatic npx chromatic --project-token=YOUR_PROJECT_TOKEN Первый запуск фиксирует baseline, последующие — сравнивают с ним и показывают diff.
Как подключить Chromatic к GitHub Actions?
Пайплайн автоматически запускает Chromatic при каждом push. Это стандартная практика для CI.
name: Visual Tests on: [push] jobs: chromatic: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # Обязательно для TurboSnap - uses: actions/setup-node@v4 with: node-version: 20 cache: npm - run: npm ci - name: Run Chromatic uses: chromaui/action@latest with: projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} exitZeroOnChanges: true # Не падаем, ждём аппрув С опцией exitZeroOnChanges: true пайплайн не блокируется — изменения ждут ревью в интерфейсе Chromatic.
Как настроить Chromatic за 1 час
- Установите Storybook, если ещё нет:
npx storybook@latest init - Установите пакет
chromaticв проект - Создайте проект в Chromatic, получите токен
- Выполните первый запуск:
npx chromatic --project-token=...— будет создан baseline - Настройте CI/CD с шагом Chromatic (см. выше)
- Включите TurboSnap (опция
onlyChanged: true) - Настройте статус-чек "UI Review" как обязательный для мержа
- Обучите команду процессу ревью изменений
Процесс ревью изменений
Chromatic создаёт ссылку на интерфейс ревью, где перечислены изменённые стори с попиксельным diff. Каждое изменение можно принять или отклонить. Принятые становятся новым baseline. Статус-чек "UI Review" в GitHub блокирует мерж до аппрува.
Сравнение с ручным тестированием
| Критерий | Chromatic | Ручной просмотр |
|---|---|---|
| Скорость | Автоматически за минуты | Часы на каждый релиз |
| Точность | Попиксельно | Зависит от человека |
| Повторяемость | 100% | Разная от теста к тесту |
| Стоимость | Фиксированная подписка | Переменные затраты на QA |
Chromatic выявляет до 95% регрессий, ручной просмотр — около 60% при тех же затратах времени. Это значит, что Chromatic в 1.6 раза эффективнее.
Сравнение с другими инструментами
| Параметр | Chromatic | Percy | Applitools |
|---|---|---|---|
| Интеграция со Storybook | Нативная | Через addon | Через SDK |
| TurboSnap | Встроен | Нет | Нет |
| Бесплатный лимит | 5000 скриншотов/мес | 5000 скриншотов/мес | 1000 скриншотов/мес |
| Цена за 10 000 скриншотов | $150 | $200 | $250 |
Chromatic выигрывает за счёт TurboSnap и нативной интеграции со Storybook, что ускоряет настройку и экономит ресурсы.
Что входит в настройку Chromatic
- Подключение проекта к Chromatic и получение токена
- Конфигурация CI/CD пайплайна (GitHub Actions, GitLab CI и др.)
- Включение TurboSnap для ускорения
- Настройка статус-чека в PR
- Обучение команды процессу ревью
- Документация по workflow и поддержка после внедрения
Почему стоит доверить настройку нам?
Сертифицированные инженеры с 5-летним опытом в визуальном тестировании. Более 20 успешных проектов — от стартапов до enterprise. Гарантируем стабильную работу пайплайна и быструю реакцию на инциденты. Свяжитесь с нами для консультации — подберём тариф и настроим Chromatic за 1 день. Закажите настройку Chromatic уже сегодня и сократите время QA на 70%. Оставьте заявку на сайте — мы свяжемся с вами в течение часа.







