Automatiserade tester av samtyckesbanner med Playwright: En praktisk guide
Varför automatisera samtyckestestning
Manuella samtyckeskontroller är lätta att hoppa över och lätta att göra fel. En ny tagg som marknadsföring lagt till, en temauppdatering eller en omskriven skriptladdare kan i tysthet börja utlösa spårare före samtycke, och ingen märker det förrän en kund eller en tillsynsmyndighet gör det. Automatiserade webbläsartester gör frågan “beter sig vår banner fortfarande rätt?” till något som körs vid varje release. Playwright passar bra eftersom det styr riktiga webbläsare, kan avlyssna nätverksanrop och ger färska, isolerade webbläsarkontexter.
Testkontexterna
Varje test bör starta från en ren webbläsarkontext, utan cookies och utan local storage. Det efterliknar en förstagångsbesökare. Skapa en ny kontext per test i stället för att återanvända en sida, annars läcker ett val som ett test sparat över till nästa.
Test 1: Inget utlöses före samtycke
Lyssna på alla nätverksanrop från det att sidan börjar laddas. Ladda sidan, vänta tills den är idle och rör inte bannern. Jämför sedan anropen med en lista över spårardomäner som du underhåller, till exempel analys-, annons- och sociala pixlar. Testet misslyckas om något anrop går till en listad domän. Läs även cookielistan från kontexten och låt testet misslyckas om det finns någon icke-nödvändig cookie.
Test 2: Avvisa håller saker avstängda
- Ladda sidan i en färsk kontext.
- Klicka på avvisa-knappen i bannern.
- Navigera till två–tre ytterligare sidor, varav en med inbäddad media.
- Kontrollera att inga spåraranrop gjordes och att inga icke-nödvändiga cookies sattes.
- Ladda om och kontrollera att bannern förblir dold och att valet består.
Test 3: Godkänn aktiverar det den ska
Klicka på godkänn och kontrollera att de förväntade taggarna nu utlöses, till exempel ditt analysanrop. Detta skyddar mot det motsatta felet: en banner som registrerar samtycke men aldrig släpper loss skripten, vilket i tysthet kostar dig data och intäkter.
Test 4: Detaljerade val
Öppna preferenslagret, aktivera bara ett ändamål och spara. Kontrollera att taggar kopplade till det ändamålet utlöses och att taggar kopplade till de andra inte gör det. Ha en liten mappningsfil från ändamål till förväntade domäner så att testet är lättläst och lätt att uppdatera.
Test 5: Återkallande
Godkänn, öppna sedan inställningarna igen via din permanenta länk och återkalla. Kontrollera att efterföljande anrop till spårare upphör och att det lagrade samtyckestillståndet speglar ändringen. Observera att redan satta cookies kan behöva tas bort uttryckligen, så bestäm vad din policy är och testa för den.
Test 6: Signaler
Om du använder Google Consent Mode, läs data layer i sidans kontext före och efter varje val och kontrollera att samtyckesvärdena stämmer: nekat som standard, beviljat för de kategorier besökaren godkände. Om du använder en TCF-sträng, läs den via TCF API och kontrollera att den finns efter ett val och speglar det.
Håll testerna pålitliga
- Använd stabila selektorer, till exempel testattribut eller tillgängliga roller, i stället för CSS-klasser som ändras med designuppdateringar.
- Vänta på uttryckliga villkor, inte fasta fördröjningar.
- Kör testerna mot en staging-kopia med samma tagguppsättning som produktion.
- Kör en liten version av sviten enligt schema, inte bara vid deployments, eftersom tredjepartsskript ändras utan att du släpper något.
- Testa de viktigaste regionerna du betjänar genom att sätta geolokalisering eller använda den regionöverstyrning din CMP erbjuder.
Så passar FlexyConsent in
FlexyConsent stöder IAB TCF 2.4, IAB GPP v1.1 och Google Consent Mode v2, så signalerna du testar mot är standardsignaler som du kan läsa från sidan. Bannern finns på 58 språk; om du betjänar flera, inkludera ett test som laddar minst en icke-engelsk version.
Viktigaste punkter
- Använd en färsk webbläsarkontext per test för att simulera en förstagångsbesökare.
- Kontrollera nätverksanrop och cookies, inte bara hur bannern ser ut.
- Täck fyra vägar: ingen interaktion, avvisa, godkänn och återkallande.
- Kontrollera även samtyckessignaler i data layer eller TCF API.
- Kör sviten vid release och enligt schema för att fånga avvikelser från tredjepartsskript.