Geautomatiseerde tests voor toestemmingsbanners met Playwright: een praktijkgids

Waarom toestemmingstests automatiseren

Handmatige toestemmingscontroles worden makkelijk overgeslagen en zijn makkelijk fout te doen. Een nieuwe tag van marketing, een thema-update of een herschreven scriptloader kan ongemerkt trackers gaan afvuren vóór toestemming, en niemand merkt het totdat een klant of toezichthouder het ziet. Geautomatiseerde browsertests maken van de vraag “gedraagt onze banner zich nog goed?” iets wat bij elke release draait. Playwright past hier goed bij, omdat het echte browsers bestuurt, netwerkverzoeken kan onderscheppen en verse, geïsoleerde browsercontexten biedt.

De testcontexten

Elke test moet beginnen met een schone browsercontext, zonder cookies en zonder lokale opslag. Dat bootst een nieuwe bezoeker na. Maak per test een nieuwe context aan in plaats van een pagina te hergebruiken, anders lekt een keuze die in de ene test is opgeslagen door naar de volgende.

Test 1: niets vuurt voor toestemming

Luister naar elk netwerkverzoek vanaf het moment dat de pagina begint te laden. Laad de pagina, wacht tot die inactief is en raak de banner niet aan. Vergelijk de verzoeken daarna met een lijst trackerdomeinen die je bijhoudt, zoals analyse, advertenties en social pixels. De test faalt als een verzoek naar een domein op de lijst gaat. Lees ook de cookielijst uit de context en laat de test falen als er een niet-essentiële cookie bestaat.

Test 2: weigeren houdt alles uit

  1. Laad de pagina in een verse context.
  2. Klik op de weigerknop in de banner.
  3. Navigeer naar nog twee of drie pagina's, waaronder een met ingesloten media.
  4. Controleer dat er geen trackerverzoeken zijn gedaan en geen niet-essentiële cookies zijn geplaatst.
  5. Herlaad en controleer dat de banner verborgen blijft en de keuze behouden blijft.

Test 3: accepteren schakelt in wat moet

Klik op accepteren en controleer dat de verwachte tags nu vuren, bijvoorbeeld je analyseverzoek. Dit beschermt tegen de omgekeerde fout: een banner die toestemming vastlegt maar de scripts nooit vrijgeeft, wat stilletjes data en inkomsten kost.

Test 4: gedetailleerde keuzes

Open de voorkeurenlaag, schakel slechts één doel in en sla op. Controleer dat tags die bij dat doel horen vuren en tags die bij de andere horen niet. Houd een klein mappingbestand bij van doel naar verwachte domeinen, zodat de test duidelijk leest en makkelijk bij te werken is.

Test 5: intrekken

Accepteer, open daarna de instellingen opnieuw via je permanente link en trek de toestemming in. Controleer dat vervolgverzoeken naar trackers stoppen en dat de opgeslagen toestemmingsstatus de wijziging weerspiegelt. Let op dat reeds geplaatste cookies mogelijk expliciet verwijderd moeten worden, dus bepaal wat je beleid is en test dat.

Test 6: signalen

Als je Google Consent Mode gebruikt, lees dan de data layer in de paginacontext vóór en na elke keuze en controleer dat de waarden van de toestemmingsstatus kloppen: standaard geweigerd, verleend voor de categorieën die de bezoeker accepteerde. Als je een TCF-string gebruikt, lees die dan via de TCF-API en controleer dat hij na een keuze aanwezig is en die keuze weerspiegelt.

Tests betrouwbaar houden

Hoe FlexyConsent past

FlexyConsent ondersteunt IAB TCF 2.4, IAB GPP v1.1 en Google Consent Mode v2, dus de signalen waarop je in de tests controleert zijn standaardsignalen die je uit de pagina kunt lezen. De banner is beschikbaar in 58 talen; bedien je er meerdere, neem dan een test op die minstens één niet-Engelse versie laadt.

Belangrijkste punten

← Blog Alles lezen →