Automatisierte Consent-Banner-Tests mit Playwright: Eine praktische Anleitung
Warum Consent-Tests automatisieren
Manuelle Einwilligungsprüfungen werden leicht übersprungen und leicht falsch gemacht. Ein neues Tag vom Marketing, ein Theme-Update oder ein umgebauter Skript-Loader kann stillschweigend anfangen, Tracker vor der Einwilligung auszulösen, und niemand bemerkt es, bis ein Kunde oder eine Aufsichtsbehörde es tut. Automatisierte Browsertests machen aus der Frage „Verhält sich unser Banner noch korrekt?“ etwas, das bei jedem Release läuft. Playwright eignet sich gut, weil es echte Browser steuert, Netzwerkanfragen abfangen kann und frische, isolierte Browser-Kontexte bietet.
Die Test-Kontexte
Jeder Test sollte in einem sauberen Browser-Kontext beginnen, ohne Cookies und ohne Local Storage. Das bildet einen Erstbesucher nach. Erstellen Sie pro Test einen neuen Kontext, statt eine Seite wiederzuverwenden, sonst wirkt eine in einem Test gespeicherte Entscheidung auf den nächsten.
Test 1: Nichts feuert vor der Einwilligung
Hören Sie von dem Moment an, in dem die Seite zu laden beginnt, jede Netzwerkanfrage mit. Laden Sie die Seite, warten Sie, bis sie ruhig ist, und berühren Sie das Banner nicht. Vergleichen Sie dann die Anfragen mit einer von Ihnen gepflegten Liste von Tracker-Domains, etwa für Analyse, Werbung und Social-Pixel. Der Test schlägt fehl, wenn eine Anfrage an eine gelistete Domain geht. Lesen Sie außerdem die Cookie-Liste des Kontexts aus und lassen Sie den Test fehlschlagen, wenn ein nicht notwendiges Cookie existiert.
Test 2: Ablehnen hält alles aus
- Laden Sie die Seite in einem frischen Kontext.
- Klicken Sie im Banner auf die Ablehnen-Schaltfläche.
- Navigieren Sie zu zwei oder drei weiteren Seiten, darunter einer mit eingebetteten Medien.
- Prüfen Sie, dass keine Tracker-Anfragen gesendet und keine nicht notwendigen Cookies gesetzt wurden.
- Laden Sie neu und prüfen Sie, dass das Banner verborgen bleibt und die Entscheidung erhalten ist.
Test 3: Akzeptieren aktiviert, was es soll
Klicken Sie auf Akzeptieren und prüfen Sie, dass die erwarteten Tags nun feuern, zum Beispiel Ihre Analyse-Anfrage. Das sichert den umgekehrten Fehler ab: ein Banner, das die Einwilligung speichert, die Skripte aber nie freigibt, was Sie stillschweigend Daten und Umsatz kostet.
Test 4: Granulare Auswahl
Öffnen Sie die Präferenzebene, aktivieren Sie nur einen Zweck und speichern Sie. Prüfen Sie, dass Tags, die zu diesem Zweck gehören, feuern und Tags der übrigen nicht. Pflegen Sie eine kleine Zuordnungsdatei von Zweck zu erwarteten Domains, damit der Test gut lesbar und leicht zu aktualisieren ist.
Test 5: Widerruf
Akzeptieren Sie, öffnen Sie dann die Einstellungen über Ihren dauerhaften Link wieder und widerrufen Sie. Prüfen Sie, dass weitere Anfragen an Tracker aufhören und dass der gespeicherte Einwilligungsstatus die Änderung widerspiegelt. Beachten Sie, dass bereits gesetzte Cookies eventuell ausdrücklich entfernt werden müssen; legen Sie daher fest, wie Ihre Richtlinie lautet, und testen Sie dagegen.
Test 6: Signale
Wenn Sie Google Consent Mode nutzen, lesen Sie den Data Layer im Seitenkontext vor und nach jeder Entscheidung aus und prüfen Sie, dass die Werte des Einwilligungsstatus stimmen: standardmäßig verweigert, erteilt für die Kategorien, die der Besucher akzeptiert hat. Wenn Sie einen TCF-String verwenden, lesen Sie ihn über die TCF-API aus und prüfen Sie, dass er nach einer Entscheidung vorhanden ist und sie widerspiegelt.
Tests zuverlässig halten
- Verwenden Sie stabile Selektoren, etwa Test-Attribute oder zugängliche Rollen, statt CSS-Klassen, die sich mit Design-Updates ändern.
- Warten Sie auf explizite Bedingungen, nicht auf feste Verzögerungen.
- Führen Sie Tests gegen eine Staging-Kopie mit demselben Tag-Setup wie die Produktion aus.
- Führen Sie eine kleine Version der Suite nach Zeitplan aus, nicht nur bei Deployments, denn Drittanbieter-Skripte ändern sich ohne Ihr Release.
- Testen Sie die wichtigsten Regionen, die Sie bedienen, indem Sie die Geolokalisierung setzen oder die Regions-Überschreibung Ihres CMP nutzen.
So passt FlexyConsent dazu
FlexyConsent unterstützt IAB TCF 2.4, IAB GPP v1.1 und Google Consent Mode v2, sodass die Signale, auf die Sie in den Tests prüfen, Standardsignale sind, die Sie aus der Seite auslesen können. Das Banner steht in 58 Sprachen zur Verfügung; wenn Sie mehrere bedienen, nehmen Sie einen Test auf, der mindestens eine nicht englische Version lädt.
Die wichtigsten Erkenntnisse
- Verwenden Sie pro Test einen frischen Browser-Kontext, um einen Erstbesucher zu simulieren.
- Prüfen Sie Netzwerkanfragen und Cookies, nicht nur, wie das Banner aussieht.
- Decken Sie vier Pfade ab: keine Interaktion, Ablehnen, Akzeptieren und Widerruf.
- Prüfen Sie auch die Einwilligungssignale im Data Layer oder in der TCF-API.
- Führen Sie die Suite bei Releases und nach Zeitplan aus, um Abweichungen durch Drittanbieter-Skripte zu erkennen.