Automatizované testy consent banneru v Playwrightu: praktický průvodce
Proč automatizovat testování souhlasu
Ruční kontroly souhlasu se snadno přeskočí a snadno v nich dojde k chybě. Nová značka přidaná marketingem, aktualizace šablony nebo přepracovaný loader skriptů mohou tiše začít spouštět trackery před souhlasem a nikdo si toho nevšimne, dokud to nezjistí zákazník nebo regulátor. Automatizované prohlížečové testy mění otázku „chová se náš banner pořád správně?“ v něco, co se spustí při každém vydání. Playwright se k tomu hodí, protože ovládá skutečné prohlížeče, umí zachytávat síťové požadavky a poskytuje čerstvé, izolované kontexty prohlížeče.
Testovací kontexty
Každý test by měl začínat v čistém kontextu prohlížeče, bez cookies a bez local storage. To napodobuje návštěvníka, který je tu poprvé. Pro každý test vytvořte nový kontext, místo abyste znovu používali stránku, jinak se volba uložená jedním testem přelije do dalšího.
Test 1: Před souhlasem se nic nespustí
Naslouchejte každému síťovému požadavku od okamžiku, kdy se stránka začne načítat. Načtěte stránku, počkejte, až je nečinná, a banneru se nedotýkejte. Potom požadavky porovnejte se seznamem trackerových domén, který udržujete, například analytika, reklama a sociální pixely. Test selže, pokud jakýkoli požadavek míří na doménu ze seznamu. Z kontextu také přečtěte seznam cookies a test nechte selhat, pokud existuje jakékoli nepodstatné cookie.
Test 2: Odmítnutí vše drží vypnuté
- Načtěte stránku v čerstvém kontextu.
- Klikněte na ovládací prvek odmítnutí v banneru.
- Přejděte na dvě nebo tři další stránky, včetně jedné s vloženými médii.
- Ověřte, že nebyly provedeny žádné požadavky na trackery a nebyl nastaven žádný nepodstatný soubor cookie.
- Obnovte stránku a ověřte, že banner zůstane skrytý a volba se zachová.
Test 3: Přijetí zapne to, co má
Klikněte na přijmout a ověřte, že se nyní spouštějí očekávané značky, například požadavek analytiky. Tím se hlídá opačná chyba: banner, který souhlas zaznamená, ale skripty nikdy neuvolní, což tiše stojí data i příjmy.
Test 4: Podrobné volby
Otevřete vrstvu předvoleb, zapněte pouze jeden účel a uložte. Ověřte, že značky vázané na tento účel se spouštějí a značky vázané na ostatní ne. Mějte malý mapovací soubor od účelů k očekávaným doménám, aby byl test čitelný a snadno aktualizovatelný.
Test 5: Odvolání
Přijměte, poté znovu otevřete nastavení přes trvalý odkaz a souhlas odvolejte. Ověřte, že následné požadavky na trackery ustanou a uložený stav souhlasu změnu odráží. Pamatujte, že již nastavená cookies může být nutné odstranit výslovně, takže si určete svou politiku a otestujte ji.
Test 6: Signály
Pokud používáte Google Consent Mode, přečtěte data layer v kontextu stránky před každou volbou i po ní a ověřte, že hodnoty stavu souhlasu odpovídají: ve výchozím stavu denied, granted pro kategorie, které návštěvník přijal. Pokud používáte řetězec TCF, přečtěte ho přes TCF API a ověřte, že je po volbě přítomen a že ji odráží.
Jak udržet testy spolehlivé
- Používejte stabilní selektory, například testovací atributy nebo přístupné role, místo CSS tříd, které se s úpravami designu mění.
- Čekejte na explicitní podmínky, ne na pevná zpoždění.
- Testy spouštějte proti stagingové kopii, která má stejné nastavení značek jako produkce.
- Malou verzi sady spouštějte podle plánu, ne jen při nasazeních, protože skripty třetích stran se mění bez vašeho vydání.
- Testujte hlavní regiony, které obsluhujete, nastavením geolokace nebo pomocí přepsání regionu, které váš CMP nabízí.
Jak zapadá FlexyConsent
FlexyConsent podporuje IAB TCF 2.4, IAB GPP v1.1 a Google Consent Mode v2, takže signály, které v testech ověřujete, jsou standardní a můžete je číst ze stránky. Banner je k dispozici v 58 jazycích; pokud jich obsluhujete několik, přidejte test, který načte alespoň jednu neanglickou verzi.
Klíčové poznatky
- Pro každý test použijte čerstvý kontext prohlížeče, který simuluje návštěvníka poprvé.
- Ověřujte síťové požadavky a cookies, nejen to, jak banner vypadá.
- Pokryjte čtyři cesty: žádná interakce, odmítnutí, přijetí a odvolání.
- Kontrolujte také signály souhlasu v data layer nebo TCF API.
- Sadu spouštějte při vydání i podle plánu, abyste zachytili drift způsobený skripty třetích stran.