Percy i Chromatic dla Storybook
Integruj Percy i Chromatic z potokami CI, aby automatycznie przeglądać wizualnie komponenty Storybook.
Percy i Chromatic dla Storybook to bezpłatna lekcja CSS Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej CSS Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs CSS Academy zawiera 4 lekcji w sumie.
Przegląd Percy
Percy to oparta na chmurze platforma VRT, która integruje się z potokami CI. Wykonuje zrzuty ekranu stron internetowych i stories Storybooka, przechowuje obrazy bazowe w chmurze oraz generuje przeglądy różnic wizualnych dostępne w interfejsie internetowym. Obsługuje Playwright, Cypress, Selenium i Storybook.
Przegląd Chromatic
Chromatic to platforma VRT zaprojektowana specjalnie dla Storybooka. Wykonuje wszystkie stories w przeglądarkach działających w chmurze, porównuje je z obrazami bazowymi i generuje interfejs przeglądu różnic. Chromatic publikuje również Storybooka jako hostowaną witrynę dokumentacji komponentów.
Integracja ze Storybookiem
Oba narzędzia automatycznie wykrywają i zapisują zrzuty ekranu każdego story w Storybooku. Nie trzeba pisać dodatkowego kodu testów — wystarczy tworzyć stories dla komponentów, uruchomić interfejs wiersza poleceń, a każdy stan wizualny zostanie automatycznie przetestowany. Dzięki temu wdrożenie w istniejących projektach Storybooka jest szybkie.
Konfiguracja Percy
Należy zainstalować @percy/cli i @percy/storybook, dodać zmienną środowiskową PERCY_TOKEN do CI oraz dodać percy storybook ./storybook-static do potoku CI. Percy automatycznie zapisuje zrzuty ekranu wszystkich stories i publikuje kompilację VRT w panelu Percy.
Konfiguracja Chromatic
Należy zainstalować chromatic, dodać CHROMATIC_PROJECT_TOKEN do CI i uruchomić chromatic --project-token=.... Pierwsze uruchomienie ustanawia obrazy bazowe. Kolejne uruchomienia porównują z nimi nowe zrzuty i publikują odnośniki do przeglądu w kontrolach PR na GitHubie.
Proces przeglądu
Oba narzędzia dodają kontrolę PR z komunikatem „X changes detected”. Kliknięcie go otwiera interfejs przeglądu z różnicami pokazanymi obok siebie lub jako nakładka. Osoby weryfikujące zatwierdzają zamierzone zmiany, ustanawiając nowe obrazy bazowe, albo żądają poprawek w przypadku niezamierzonych regresji.
Argumenty story na potrzeby pokrycia VRT
Należy używać argumentów Storybooka (elementów sterujących), aby tworzyć wiele wariantów story: Default, Loading, Error, Disabled, LongText, SmallViewport. Każdy wariant staje się osobnym zrzutem VRT — zapewnia kompleksowe pokrycie stanów bez pisania oddzielnych plików testów.
Testowanie widoków i motywów
Chromatic i Percy obsługują wiele szerokości widoku dla każdego zrzutu. Widoki można skonfigurować w story lub globalnie w .storybook/preview.js. Należy uruchamiać VRT dla każdego widoku i każdego motywu (jasnego/ciemnego), aby jednocześnie wykrywać regresje responsywności i motywów.
Zarządzanie obrazami bazowymi
Należy zaakceptować wszystkie zmiany przy zwiększeniu głównego numeru wersji lub podczas zamierzonego przeprojektowania. Oba narzędzia obsługują akceptowanie zbiorcze. Po dużej aktualizacji systemu projektowego można zaakceptować wszystkie różnice jednocześnie, a nowe zrzuty staną się obrazami bazowymi dla przyszłych zmian przyrostowych.
Testowanie interakcji za pomocą VRT
Połącz funkcję play() Storybooka (testy interakcji) z VRT: play() symuluje interakcje użytkownika (kliknięcie przycisku, otwarcie modalu), a następnie zrzut VRT przechwytuje wynikowy stan. Umożliwia to testowanie wyglądu złożonych, interaktywnych komponentów.
Koszty i limity zrzutów
Percy i Chromatic naliczają opłaty za każdy zrzut. Duże zestawy stories w Storybooku, obejmujące setki stories, wiele widoków i motywów, generują tysiące zrzutów dla każdego PR. Należy monitorować wykorzystanie, efektywnie używać dekoratorów stories i rozważyć pomijanie VRT dla stories dotyczących wyłącznie logiki.
Sprawdzenie wiedzy
Co sprawia, że Chromatic szczególnie dobrze nadaje się do projektów Storybooka w porównaniu z ogólnymi narzędziami VRT?
Podsumowanie
Percy i Chromatic automatyzują VRT dla Storybooka, wykrywając i zapisując zrzuty ekranu wszystkich stories w przeglądarkach działających w chmurze, generując przeglądy różnic dla PR oraz zarządzając obrazami bazowymi. W połączeniu z argumentami stories zapewniającymi pokrycie stanów i play() do testowania interakcji oferują kompleksowe zapewnianie jakości wizualnej bibliotek komponentów.
Często zadawane pytania
Czy lekcja „Percy i Chromatic dla Storybook” jest bezpłatna?
Tak — pełny tekst „Percy i Chromatic dla Storybook” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu CSS Academy, przejdź na CoddyKit PRO. Kurs CSS Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Percy i Chromatic dla Storybook”?
Integruj Percy i Chromatic z potokami CI, aby automatycznie przeglądać wizualnie komponenty Storybook. Ćwiczysz CSS Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć CSS Academy?
Nie wymagamy żadnego doświadczenia. CSS Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Percy i Chromatic dla Storybook”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji CSS Academy?
Tak. Każda lekcja CSS Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy testów regresji wizualnej
- Percy i Chromatic dla Storybook
- Testowanie jednostkowe CSS za pomocą Jest
- Testowanie dostępności: color-contrast i focus