Automatyczne testy banera zgody w Playwright: praktyczny przewodnik
Po co automatyzować testy zgody
Ręczne kontrole zgody łatwo pominąć i łatwo w nich o pomyłkę. Nowy znacznik dodany przez marketing, aktualizacja motywu lub przebudowany loader skryptów mogą po cichu zacząć uruchamiać trackery przed zgodą, a nikt tego nie zauważy, dopóki nie zauważy klient albo regulator. Automatyczne testy przeglądarkowe zamieniają pytanie „czy nasz baner nadal działa poprawnie?” w coś, co uruchamia się przy każdym wydaniu. Playwright dobrze się do tego nadaje, bo steruje prawdziwymi przeglądarkami, potrafi przechwytywać żądania sieciowe i daje świeże, odizolowane konteksty przeglądarki.
Konteksty testowe
Każdy test powinien zaczynać od czystego kontekstu przeglądarki, bez plików cookie i bez local storage. To naśladuje odwiedzającego, który jest tu po raz pierwszy. Twórz nowy kontekst dla każdego testu zamiast używać ponownie strony, bo inaczej wybór zapisany przez jeden test przecieknie do następnego.
Test 1: nic nie rusza przed zgodą
Nasłuchuj każdego żądania sieciowego od momentu rozpoczęcia ładowania strony. Załaduj stronę, poczekaj na stan bezczynności i nie dotykaj banera. Następnie porównaj żądania z listą domen trackerów, którą utrzymujesz, takich jak analityka, reklamy i piksele społecznościowe. Test kończy się niepowodzeniem, jeśli jakiekolwiek żądanie trafia do domeny z listy. Odczytaj też listę plików cookie z kontekstu i zakończ niepowodzeniem, jeśli istnieje jakikolwiek zbędny plik cookie.
Test 2: odrzucenie utrzymuje wszystko wyłączone
- Załaduj stronę w świeżym kontekście.
- Kliknij kontrolkę odrzucenia w banerze.
- Przejdź na dwie lub trzy kolejne strony, w tym jedną z osadzonymi mediami.
- Sprawdź, że nie wykonano żadnych żądań do trackerów i nie zapisano zbędnych plików cookie.
- Odśwież i sprawdź, że baner pozostaje ukryty, a wybór jest zachowany.
Test 3: akceptacja włącza to, co powinna
Kliknij akceptację i sprawdź, że oczekiwane znaczniki teraz się uruchamiają, na przykład żądanie analityki. To zabezpiecza przed odwrotną awarią: banerem, który zapisuje zgodę, ale nigdy nie uwalnia skryptów, co po cichu kosztuje dane i przychody.
Test 4: szczegółowe wybory
Otwórz warstwę preferencji, włącz tylko jeden cel i zapisz. Sprawdź, że znaczniki powiązane z tym celem się uruchamiają, a powiązane z pozostałymi nie. Trzymaj mały plik mapujący cele na oczekiwane domeny, aby test był czytelny i łatwy do aktualizacji.
Test 5: wycofanie zgody
Zaakceptuj, potem otwórz ponownie ustawienia przez stały link i wycofaj zgodę. Sprawdź, że kolejne żądania do trackerów ustają, a zapisany stan zgody odzwierciedla zmianę. Pamiętaj, że już zapisane pliki cookie mogą wymagać jawnego usunięcia, więc ustal swoją politykę i przetestuj ją.
Test 6: sygnały
Jeśli używasz Google Consent Mode, odczytaj data layer w kontekście strony przed każdym wyborem i po nim oraz sprawdź, czy wartości stanu zgody się zgadzają: domyślnie denied, granted dla kategorii zaakceptowanych przez odwiedzającego. Jeśli używasz ciągu TCF, odczytaj go przez TCF API i sprawdź, że jest obecny po dokonaniu wyboru i że go odzwierciedla.
Utrzymanie niezawodności testów
- Używaj stabilnych selektorów, takich jak atrybuty testowe lub dostępne role, zamiast klas CSS, które zmieniają się wraz z aktualizacjami projektu.
- Czekaj na jawne warunki, a nie na stałe opóźnienia.
- Uruchamiaj testy na kopii stagingowej z taką samą konfiguracją znaczników jak produkcja.
- Uruchamiaj mniejszą wersję zestawu według harmonogramu, a nie tylko przy wdrożeniach, bo skrypty podmiotów trzecich zmieniają się bez Twojego wydania.
- Testuj główne regiony, które obsługujesz, ustawiając geolokalizację lub korzystając z nadpisania regionu oferowanego przez Twój CMP.
Jak pasuje FlexyConsent
FlexyConsent obsługuje IAB TCF 2.4, IAB GPP v1.1 i Google Consent Mode v2, więc sygnały, które sprawdzasz w testach, są standardowe i możesz je odczytać ze strony. Baner jest dostępny w 58 językach; jeśli obsługujesz kilka, dodaj test ładujący co najmniej jedną wersję inną niż angielska.
Najważniejsze wnioski
- Używaj świeżego kontekstu przeglądarki dla każdego testu, aby symulować odwiedzającego pierwszy raz.
- Sprawdzaj żądania sieciowe i pliki cookie, a nie tylko wygląd banera.
- Pokryj cztery ścieżki: brak interakcji, odrzucenie, akceptację i wycofanie.
- Sprawdzaj też sygnały zgody w data layer lub TCF API.
- Uruchamiaj zestaw przy wydaniu i według harmonogramu, aby wychwycić dryf spowodowany skryptami podmiotów trzecich.