Avtomatizirani testi pasice za soglasja s Playwrightom: praktični vodnik
Zakaj avtomatizirati testiranje soglasij
Ročne preglede soglasij je lahko preskočiti in lahko se v njih zmotite. Nova oznaka, ki jo doda trženje, posodobitev teme ali predelan nalagalnik skriptov lahko tiho začne sprožati sledilnike pred soglasjem, nihče pa tega ne opazi, dokler ne opazi stranka ali regulator. Avtomatizirani brskalniški testi spremenijo vprašanje »ali se naša pasica še vedno obnaša pravilno?« v nekaj, kar teče ob vsaki izdaji. Playwright je za to primeren, ker upravlja prave brskalnike, zna prestrezati omrežne zahteve in nudi sveže, izolirane brskalniške kontekste.
Testni konteksti
Vsak test naj se začne v čistem brskalniškem kontekstu, brez piškotkov in brez lokalne shrambe. To posnema obiskovalca, ki je prvič na strani. Za vsak test ustvarite nov kontekst namesto ponovne uporabe strani, sicer se izbira, shranjena v enem testu, preliva v naslednjega.
Test 1: Pred soglasjem se nič ne sproži
Poslušajte vsako omrežno zahtevo od trenutka, ko se stran začne nalagati. Naložite stran, počakajte, da je mirna, in se pasice ne dotikajte. Nato zahteve primerjajte s seznamom domen sledilnikov, ki ga vzdržujete, na primer analitika, oglaševanje in družbeni piksli. Test ne uspe, če katera koli zahteva gre na domeno s seznama. Iz konteksta preberite tudi seznam piškotkov in test naj ne uspe, če obstaja kakršen koli nebistven piškotek.
Test 2: Zavrnitev vse ohrani izklopljeno
- Naložite stran v svežem kontekstu.
- Kliknite kontrolnik za zavrnitev v pasici.
- Pojdite na dve ali tri nadaljnje strani, med njimi eno z vgrajenimi mediji.
- Preverite, da ni bilo nobenih zahtev za sledilnike in da ni bil nastavljen noben nebistven piškotek.
- Osvežite in preverite, da pasica ostane skrita in da se izbira ohrani.
Test 3: Sprejem vklopi, kar mora
Kliknite sprejem in preverite, da se zdaj sprožijo pričakovane oznake, na primer zahteva analitike. To varuje pred obratno napako: pasico, ki soglasje zabeleži, a skriptov nikoli ne sprosti, kar tiho stane podatke in prihodek.
Test 4: Podrobne izbire
Odprite raven nastavitev, vklopite samo en namen in shranite. Preverite, da se oznake, vezane na ta namen, sprožijo, oznake, vezane na ostale, pa ne. Imejte majhno datoteko, ki namene preslika v pričakovane domene, da je test berljiv in ga je lahko posodabljati.
Test 5: Preklic
Sprejmite, nato prek stalne povezave znova odprite nastavitve in soglasje prekličite. Preverite, da nadaljnje zahteve za sledilnike prenehajo in da shranjeno stanje soglasja spremembo odraža. Upoštevajte, da je že nastavljene piškotke morda treba izrecno odstraniti, zato določite svojo politiko in jo preizkusite.
Test 6: Signali
Če uporabljate Google Consent Mode, pred vsako izbiro in po njej preberite data layer v kontekstu strani in preverite, da se vrednosti stanja soglasja ujemajo: privzeto denied, granted za kategorije, ki jih je obiskovalec sprejel. Če uporabljate niz TCF, ga preberite prek TCF API in preverite, da je po izbiri prisoten in jo odraža.
Kako ohraniti teste zanesljive
- Uporabljajte stabilne selektorje, na primer testne atribute ali dostopne vloge, namesto razredov CSS, ki se spreminjajo s posodobitvami oblikovanja.
- Čakajte na izrecne pogoje, ne na fiksne zamike.
- Teste izvajajte na stagingni kopiji z enako postavitvijo oznak kot produkcija.
- Manjšo različico nabora izvajajte po urniku, ne le ob uvedbah, ker se skripti tretjih oseb spreminjajo brez vaše izdaje.
- Preizkusite glavne regije, ki jim strežete, z nastavitvijo geolokacije ali z razveljavitvijo regije, ki jo ponuja vaš CMP.
Kako se prilega FlexyConsent
FlexyConsent podpira IAB TCF 2.4, IAB GPP v1.1 in Google Consent Mode v2, zato so signali, ki jih preverjate v testih, standardni in jih lahko preberete s strani. Pasica je na voljo v 58 jezikih; če strežete več jezikom, dodajte test, ki naloži vsaj eno neangleško različico.
Ključne ugotovitve
- Za vsak test uporabite svež brskalniški kontekst, ki simulira obiskovalca prvič na strani.
- Preverjajte omrežne zahteve in piškotke, ne le videza pasice.
- Pokrijte štiri poti: brez interakcije, zavrnitev, sprejem in preklic.
- Preverite tudi signale soglasja v data layer ali TCF API.
- Nabor izvajajte ob izdaji in po urniku, da ujamete odmike, ki jih povzročijo skripti tretjih oseb.