Test automatici del banner di consenso con Playwright: una guida pratica
Perché automatizzare i test sul consenso
I controlli manuali sul consenso sono facili da saltare e facili da sbagliare. Un nuovo tag aggiunto dal marketing, un aggiornamento del tema o un loader di script rifattorizzato possono iniziare silenziosamente ad attivare tracker prima del consenso, e nessuno se ne accorge finché non lo fa un cliente o un'autorità. I test automatici nel browser trasformano la domanda «il nostro banner si comporta ancora bene?» in qualcosa che gira a ogni rilascio. Playwright è adatto perché controlla browser reali, può intercettare le richieste di rete e offre contesti di browser nuovi e isolati.
I contesti di test
Ogni test dovrebbe partire da un contesto di browser pulito, senza cookie né local storage. Questo imita un visitatore alla prima visita. Crea un nuovo contesto per ogni test invece di riutilizzare una pagina, altrimenti una scelta salvata da un test si propaga al successivo.
Test 1: nulla si attiva prima del consenso
Ascolta ogni richiesta di rete dal momento in cui la pagina inizia a caricarsi. Carica la pagina, attendi che sia inattiva e non toccare il banner. Poi confronta le richieste con un elenco di domini di tracker che mantieni, ad esempio per analisi, pubblicità e pixel social. Il test fallisce se una richiesta va a un dominio dell'elenco. Leggi anche l'elenco dei cookie del contesto e fai fallire il test se esiste un cookie non essenziale.
Test 2: il rifiuto mantiene tutto spento
- Carica la pagina in un contesto nuovo.
- Clicca il controllo di rifiuto nel banner.
- Naviga su altre due o tre pagine, compresa una con contenuti multimediali incorporati.
- Verifica che non siano state fatte richieste a tracker e che non siano stati impostati cookie non essenziali.
- Ricarica e verifica che il banner resti nascosto e che la scelta persista.
Test 3: l'accettazione attiva ciò che deve
Clicca accetta e verifica che i tag previsti ora si attivino, ad esempio la tua richiesta di analisi. Questo protegge dal guasto opposto: un banner che registra il consenso ma non rilascia mai gli script, il che ti costa silenziosamente dati e ricavi.
Test 4: scelte granulari
Apri il livello delle preferenze, abilita una sola finalità e salva. Verifica che i tag legati a quella finalità si attivino e quelli legati alle altre no. Tieni un piccolo file di mappatura da finalità a domini attesi, così il test si legge chiaramente ed è facile da aggiornare.
Test 5: revoca
Accetta, poi riapri le impostazioni tramite il tuo link permanente e revoca. Verifica che le richieste successive ai tracker cessino e che lo stato di consenso memorizzato rifletta la modifica. Nota che i cookie già impostati potrebbero dover essere rimossi esplicitamente; decidi quindi quale sia la tua policy e testala.
Test 6: segnali
Se usi Google Consent Mode, leggi il data layer nel contesto della pagina prima e dopo ogni scelta e verifica che i valori dello stato di consenso corrispondano: negato per impostazione predefinita, concesso per le categorie accettate dal visitatore. Se usi una stringa TCF, leggila tramite l'API TCF e verifica che sia presente dopo una scelta e che la rifletta.
Mantenere i test affidabili
- Usa selettori stabili, come attributi di test o ruoli accessibili, invece di classi CSS che cambiano con gli aggiornamenti del design.
- Attendi condizioni esplicite, non ritardi fissi.
- Esegui i test su una copia di staging con la stessa configurazione di tag della produzione.
- Esegui una piccola versione della suite a intervalli pianificati, non solo ai deploy, perché gli script di terze parti cambiano senza un tuo rilascio.
- Testa le principali regioni che servi impostando la geolocalizzazione o usando l'override di regione offerto dalla tua CMP.
Dove si inserisce FlexyConsent
FlexyConsent supporta IAB TCF 2.4, IAB GPP v1.1 e Google Consent Mode v2, quindi i segnali su cui fai le verifiche nei test sono standard e puoi leggerli dalla pagina. Il banner è disponibile in 58 lingue; se ne servi più di una, includi un test che carichi almeno una versione non inglese.
Punti chiave
- Usa un contesto di browser nuovo per ogni test per simulare un visitatore alla prima visita.
- Verifica le richieste di rete e i cookie, non solo l'aspetto del banner.
- Copri quattro percorsi: nessuna interazione, rifiuto, accettazione e revoca.
- Controlla anche i segnali di consenso nel data layer o nell'API TCF.
- Esegui la suite ai rilasci e a intervalli pianificati per intercettare le derive causate dagli script di terze parti.