Automatiserte tester av samtykkebanner med Playwright: En praktisk guide
Hvorfor automatisere samtykketesting
Manuelle samtykkesjekker er lette å hoppe over og lette å gjøre feil. En ny tagg lagt til av markedsføring, en temaoppdatering eller en omskrevet skriptlaster kan stille og rolig begynne å utløse sporere før samtykke, og ingen merker det før en kunde eller en tilsynsmyndighet gjør det. Automatiserte nettlesertester gjør spørsmålet “oppfører banneret vårt seg fortsatt riktig?” til noe som kjører ved hver utgivelse. Playwright passer godt fordi det styrer ekte nettlesere, kan fange opp nettverksforespørsler og gir friske, isolerte nettleserkontekster.
Testkontekstene
Hver test bør starte fra en ren nettleserkontekst, uten informasjonskapsler og uten local storage. Det etterligner en førstegangsbesøkende. Opprett en ny kontekst per test i stedet for å gjenbruke en side, ellers lekker et valg lagret av én test over i den neste.
Test 1: Ingenting utløses før samtykke
Lytt til alle nettverksforespørsler fra det øyeblikket siden begynner å laste. Last siden, vent til den er idle, og rør ikke banneret. Sammenlign deretter forespørslene med en liste over sporerdomener du vedlikeholder, for eksempel analyse-, annonse- og sosiale piksler. Testen feiler hvis en forespørsel går til et domene på listen. Les også listen over informasjonskapsler fra konteksten, og la testen feile hvis det finnes en ikke-nødvendig kapsel.
Test 2: Avvisning holder ting av
- Last siden i en fersk kontekst.
- Klikk på avvis-knappen i banneret.
- Gå til to-tre flere sider, blant annet én med innebygde medier.
- Kontroller at det ikke er sendt sporerforespørsler og at ingen ikke-nødvendige informasjonskapsler er satt.
- Last inn på nytt, og kontroller at banneret forblir skjult og at valget består.
Test 3: Godkjenning aktiverer det den skal
Klikk godta, og kontroller at de forventede taggene nå utløses, for eksempel analyseforespørselen din. Dette beskytter mot den motsatte feilen: et banner som registrerer samtykke, men aldri slipper skriptene løs, noe som stille koster deg data og inntekt.
Test 4: Detaljerte valg
Åpne preferanselaget, aktiver bare ett formål, og lagre. Kontroller at taggene knyttet til det formålet utløses, og at taggene knyttet til de andre ikke gjør det. Ha en liten mappingfil fra formål til forventede domener, slik at testen er lesbar og lett å oppdatere.
Test 5: Tilbaketrekking
Godta, åpne deretter innstillingene på nytt via den permanente lenken din, og trekk samtykket tilbake. Kontroller at påfølgende forespørsler til sporere opphører, og at den lagrede samtykkestatusen gjenspeiler endringen. Merk at informasjonskapsler som allerede er satt, kanskje må fjernes eksplisitt, så bestem hva policyen din er, og test for den.
Test 6: Signaler
Hvis du bruker Google Consent Mode, les data layer i sidens kontekst før og etter hvert valg, og kontroller at samtykkeverdiene stemmer: nektet som standard, gitt for kategoriene den besøkende godtok. Hvis du bruker en TCF-streng, les den gjennom TCF API-et, og kontroller at den finnes etter et valg og gjenspeiler det.
Hold testene pålitelige
- Bruk stabile selektorer, for eksempel testattributter eller tilgjengelige roller, i stedet for CSS-klasser som endres med designoppdateringer.
- Vent på eksplisitte betingelser, ikke faste forsinkelser.
- Kjør testene mot en staging-kopi med samme tagg-oppsett som produksjon.
- Kjør en liten versjon av suiten etter tidsplan, ikke bare ved deployments, fordi tredjepartsskript endrer seg uten din utgivelse.
- Test de viktigste regionene du betjener, ved å sette geolokalisering eller bruke regionoverstyringen CMP-en din tilbyr.
Hvordan FlexyConsent passer inn
FlexyConsent støtter IAB TCF 2.4, IAB GPP v1.1 og Google Consent Mode v2, så signalene du tester på, er standardsignaler du kan lese fra siden. Banneret finnes på 58 språk; hvis du betjener flere, ta med en test som laster minst én ikke-engelsk versjon.
Viktigste poenger
- Bruk en fersk nettleserkontekst per test for å simulere en førstegangsbesøkende.
- Kontroller nettverksforespørsler og informasjonskapsler, ikke bare hvordan banneret ser ut.
- Dekk fire forløp: ingen interaksjon, avvisning, godkjenning og tilbaketrekking.
- Sjekk også samtykkesignaler i data layer eller TCF API-et.
- Kjør suiten ved utgivelse og etter tidsplan for å fange avvik fra tredjepartsskript.