Tests automatisés de bannière de consentement avec Playwright : un guide pratique
Pourquoi automatiser les tests de consentement
Les vérifications manuelles du consentement sont faciles à sauter et faciles à rater. Une nouvelle balise ajoutée par le marketing, une mise à jour de thème ou un chargeur de scripts remanié peuvent discrètement déclencher des traceurs avant le consentement, et personne ne s'en aperçoit jusqu'à ce qu'un client ou un régulateur le fasse. Les tests automatisés dans le navigateur transforment la question « notre bannière se comporte-t-elle toujours correctement ? » en une vérification exécutée à chaque version. Playwright convient bien car il pilote de vrais navigateurs, peut intercepter les requêtes réseau et fournit des contextes de navigateur neufs et isolés.
Les contextes de test
Chaque test doit partir d'un contexte de navigateur vierge, sans cookies ni stockage local. Cela imite un primo-visiteur. Créez un nouveau contexte par test plutôt que de réutiliser une page, faute de quoi un choix enregistré par un test contamine le suivant.
Test 1 : rien ne se déclenche avant le consentement
Écoutez chaque requête réseau dès que la page commence à se charger. Chargez la page, attendez qu'elle soit inactive et ne touchez pas à la bannière. Comparez ensuite les requêtes à une liste de domaines de traceurs que vous maintenez, par exemple pour l'analyse, la publicité et les pixels sociaux. Le test échoue si une requête part vers un domaine de la liste. Lisez aussi la liste des cookies du contexte et faites échouer le test si un cookie non essentiel existe.
Test 2 : refuser garde tout désactivé
- Chargez la page dans un contexte neuf.
- Cliquez sur le bouton de refus de la bannière.
- Naviguez vers deux ou trois autres pages, dont une avec des médias intégrés.
- Vérifiez qu'aucune requête de traceur n'a été émise et qu'aucun cookie non essentiel n'a été déposé.
- Rechargez et vérifiez que la bannière reste masquée et que le choix persiste.
Test 3 : accepter active ce qui doit l'être
Cliquez sur accepter et vérifiez que les balises attendues se déclenchent désormais, par exemple votre requête d'analyse. Cela protège contre l'échec inverse : une bannière qui enregistre le consentement mais ne libère jamais les scripts, ce qui vous coûte discrètement des données et des revenus.
Test 4 : choix granulaires
Ouvrez la couche des préférences, activez une seule finalité et enregistrez. Vérifiez que les balises liées à cette finalité se déclenchent et que celles liées aux autres ne le font pas. Gardez un petit fichier de correspondance entre finalité et domaines attendus pour que le test reste lisible et facile à mettre à jour.
Test 5 : retrait
Acceptez, puis rouvrez les paramètres via votre lien permanent et retirez votre consentement. Vérifiez que les requêtes ultérieures vers les traceurs cessent et que l'état de consentement stocké reflète le changement. Notez que les cookies déjà déposés peuvent devoir être supprimés explicitement ; décidez donc de votre politique et testez-la.
Test 6 : signaux
Si vous utilisez Google Consent Mode, lisez le data layer dans le contexte de la page avant et après chaque choix et vérifiez que les valeurs de l'état de consentement correspondent : refusé par défaut, accordé pour les catégories acceptées par le visiteur. Si vous utilisez une chaîne TCF, lisez-la via l'API TCF et vérifiez qu'elle est présente après un choix et qu'elle le reflète.
Garder des tests fiables
- Utilisez des sélecteurs stables, comme des attributs de test ou des rôles accessibles, plutôt que des classes CSS qui changent avec les évolutions de design.
- Attendez des conditions explicites, pas des délais fixes.
- Exécutez les tests sur une copie de préproduction ayant la même configuration de balises que la production.
- Exécutez une petite version de la suite de façon planifiée, pas seulement lors des déploiements, car les scripts tiers changent sans que vous publiiez de version.
- Testez les principales régions que vous servez en définissant la géolocalisation ou en utilisant le forçage de région proposé par votre CMP.
Où intervient FlexyConsent
FlexyConsent prend en charge IAB TCF 2.4, IAB GPP v1.1 et Google Consent Mode v2 ; les signaux sur lesquels portent vos assertions sont donc des signaux standard que vous pouvez lire depuis la page. La bannière est disponible en 58 langues ; si vous en servez plusieurs, incluez un test qui charge au moins une version non anglaise.
Points clés à retenir
- Utilisez un contexte de navigateur neuf par test pour simuler un primo-visiteur.
- Faites vos assertions sur les requêtes réseau et les cookies, pas seulement sur l'apparence de la bannière.
- Couvrez quatre parcours : aucune interaction, refus, acceptation et retrait.
- Vérifiez aussi les signaux de consentement dans le data layer ou l'API TCF.
- Exécutez la suite à chaque version et de façon planifiée pour détecter les dérives dues aux scripts tiers.