Automatizované testy consent banneru v Playwrighte: praktický sprievodca
Prečo automatizovať testovanie súhlasu
Ručné kontroly súhlasu sa ľahko preskočia a ľahko sa v nich pomýlite. Nová značka pridaná marketingom, aktualizácia šablóny alebo prepracovaný loader skriptov môžu potichu začať spúšťať trackery pred súhlasom a nikto si to nevšimne, kým to nezistí zákazník alebo regulátor. Automatizované prehliadačové testy menia otázku „správa sa náš banner stále správne?“ na niečo, čo sa spustí pri každom vydaní. Playwright sa na to hodí, pretože ovláda skutočné prehliadače, vie zachytávať sieťové požiadavky a poskytuje čerstvé, izolované kontexty prehliadača.
Testovacie kontexty
Každý test by mal začínať v čistom kontexte prehliadača, bez cookies a bez local storage. To napodobňuje návštevníka, ktorý je tu prvýkrát. Pre každý test vytvorte nový kontext namiesto opätovného použitia stránky, inak sa voľba uložená jedným testom prelieva do ďalšieho.
Test 1: Pred súhlasom sa nič nespustí
Počúvajte každú sieťovú požiadavku od okamihu, keď sa stránka začne načítavať. Načítajte stránku, počkajte, kým je nečinná, a banneru sa nedotýkajte. Potom požiadavky porovnajte so zoznamom trackerových domén, ktorý udržiavate, napríklad analytika, reklama a sociálne pixely. Test zlyhá, ak akákoľvek požiadavka smeruje na doménu zo zoznamu. Z kontextu tiež prečítajte zoznam cookies a test nechajte zlyhať, ak existuje akékoľvek nepodstatné cookie.
Test 2: Odmietnutie drží všetko vypnuté
- Načítajte stránku v čerstvom kontexte.
- Kliknite na ovládací prvok odmietnutia v banneri.
- Prejdite na dve alebo tri ďalšie stránky, vrátane jednej s vloženými médiami.
- Overte, že neboli vykonané žiadne požiadavky na trackery a nebol nastavený žiadny nepodstatný súbor cookie.
- Obnovte stránku a overte, že banner zostane skrytý a voľba sa zachová.
Test 3: Prijatie zapne to, čo má
Kliknite na prijať a overte, že sa teraz spúšťajú očakávané značky, napríklad požiadavka analytiky. Tým sa stráži opačná chyba: banner, ktorý súhlas zaznamená, ale skripty nikdy neuvoľní, čo potichu stojí dáta aj príjmy.
Test 4: Podrobné voľby
Otvorte vrstvu predvolieb, zapnite iba jeden účel a uložte. Overte, že značky viazané na tento účel sa spúšťajú a značky viazané na ostatné nie. Majte malý mapovací súbor od účelov k očakávaným doménam, aby bol test čitateľný a ľahko aktualizovateľný.
Test 5: Odvolanie
Prijmite, potom znova otvorte nastavenia cez trvalý odkaz a súhlas odvolajte. Overte, že následné požiadavky na trackery ustanú a uložený stav súhlasu zmenu odráža. Pamätajte, že už nastavené cookies môže byť potrebné odstrániť výslovne, takže si určte svoju politiku a otestujte ju.
Test 6: Signály
Ak používate Google Consent Mode, prečítajte data layer v kontexte stránky pred každou voľbou aj po nej a overte, že hodnoty stavu súhlasu zodpovedajú: v predvolenom stave denied, granted pre kategórie, ktoré návštevník prijal. Ak používate reťazec TCF, prečítajte ho cez TCF API a overte, že je po voľbe prítomný a že ju odráža.
Ako udržať testy spoľahlivé
- Používajte stabilné selektory, napríklad testovacie atribúty alebo prístupné roly, namiesto CSS tried, ktoré sa s úpravami dizajnu menia.
- Čakajte na explicitné podmienky, nie na pevné oneskorenia.
- Testy spúšťajte proti stagingovej kópii, ktorá má rovnaké nastavenie značiek ako produkcia.
- Malú verziu sady spúšťajte podľa plánu, nielen pri nasadeniach, pretože skripty tretích strán sa menia bez vášho vydania.
- Testujte hlavné regióny, ktoré obsluhujete, nastavením geolokácie alebo pomocou prepísania regiónu, ktoré váš CMP ponúka.
Ako zapadá FlexyConsent
FlexyConsent podporuje IAB TCF 2.4, IAB GPP v1.1 a Google Consent Mode v2, takže signály, ktoré v testoch overujete, sú štandardné a môžete ich čítať zo stránky. Banner je k dispozícii v 58 jazykoch; ak ich obsluhujete niekoľko, pridajte test, ktorý načíta aspoň jednu neanglickú verziu.
Kľúčové poznatky
- Pre každý test použite čerstvý kontext prehliadača, ktorý simuluje návštevníka prvýkrát.
- Overujte sieťové požiadavky a cookies, nielen to, ako banner vyzerá.
- Pokryte štyri cesty: žiadna interakcia, odmietnutie, prijatie a odvolanie.
- Kontrolujte aj signály súhlasu v data layer alebo TCF API.
- Sadu spúšťajte pri vydaní aj podľa plánu, aby ste zachytili drift spôsobený skriptami tretích strán.