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

  1. Załaduj stronę w świeżym kontekście.
  2. Kliknij kontrolkę odrzucenia w banerze.
  3. Przejdź na dwie lub trzy kolejne strony, w tym jedną z osadzonymi mediami.
  4. Sprawdź, że nie wykonano żadnych żądań do trackerów i nie zapisano zbędnych plików cookie.
  5. 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

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

← Blog Czytaj wszystko →