Mga Automated na Test ng Consent Banner gamit ang Playwright: Praktikal na Gabay
Bakit I-automate ang Pagsubok sa Pahintulot
Madaling laktawan at madaling magkamali ang mano-manong pagsusuri ng pahintulot. Ang bagong tag na idinagdag ng marketing, update sa theme o na-refactor na script loader ay maaaring tahimik na magsimulang magpaputok ng mga tracker bago ang pahintulot, at walang makakapansin hanggang may customer o regulator na makapansin. Ginagawang bagay na tumatakbo sa bawat release ng mga automated na browser test ang tanong na “gumagana pa rin ba nang tama ang banner natin?” Angkop ang Playwright dahil kinokontrol nito ang mga totoong browser, kaya nitong harangin ang mga network request at nagbibigay ito ng bago at hiwalay na browser context.
Ang mga Test Context
Dapat magsimula ang bawat test sa malinis na browser context, walang cookie at walang local storage. Ginagaya nito ang bisitang unang beses pa lang dumating. Gumawa ng bagong context kada test sa halip na muling gamitin ang pahina, kung hindi, tatagas ang pagpiling na-store ng isang test papunta sa susunod.
Test 1: Walang Pumuputok Bago ang Pahintulot
Pakinggan ang bawat network request mula sa sandaling magsimulang mag-load ang pahina. I-load ang pahina, hintaying maging idle ito at huwag galawin ang banner. Pagkatapos, ihambing ang mga request sa listahan ng mga tracker domain na pinapanatili mo, gaya ng analytics, advertising at social pixel. Bumabagsak ang test kung may request na pumunta sa nakalistang domain. Basahin din ang listahan ng cookie mula sa context at ibagsak ito kung may anumang hindi mahalagang cookie.
Test 2: Pinapanatiling Patay ng Pagtanggi ang mga Bagay
- I-load ang pahina sa bagong context.
- I-click ang reject control sa banner.
- Pumunta sa dalawa o tatlo pang pahina, kasama ang isang may naka-embed na media.
- I-assert na walang ginawang tracker request at walang inilagay na hindi mahalagang cookie.
- I-reload at i-assert na nananatiling nakatago ang banner at nananatili ang pagpili.
Test 3: Pinapagana ng Pagtanggap ang Dapat Mapagana
I-click ang accept at i-assert na pumuputok na ngayon ang mga inaasahang tag, halimbawa ang iyong analytics request. Pinoprotektahan nito laban sa kabaligtarang pagkabigo: banner na nagtatala ng pahintulot pero hindi kailanman nagpapalaya ng mga script, na tahimik na nagpapawala ng data at kita.
Test 4: Mga Detalyadong Pagpili
Buksan ang preferences layer, i-enable ang isang layunin lamang at i-save. I-assert na pumuputok ang mga tag na nakatali sa layuning iyon at hindi ang sa iba. Magtago ng maliit na mapping file mula layunin patungo sa mga inaasahang domain para malinaw na mabasa ang test at madaling i-update.
Test 5: Withdrawal
Tanggapin, saka muling buksan ang mga setting sa pamamagitan ng iyong permanenteng link at i-withdraw ang pahintulot. I-assert na humihinto ang mga sumunod na request sa mga tracker at ipinapakita ng naka-store na consent state ang pagbabago. Tandaan na maaaring kailanganing alisin nang tahasan ang mga cookie na nailagay na, kaya magpasya kung ano ang patakaran mo at subukan ito.
Test 6: Mga Signal
Kung gumagamit ka ng Google Consent Mode, basahin ang data layer sa page context bago at pagkatapos ng bawat pagpili at i-assert na tumutugma ang mga halaga ng consent state: denied bilang default, granted para sa mga kategoryang tinanggap ng bisita. Kung gumagamit ka ng TCF string, basahin ito sa pamamagitan ng TCF API at i-assert na naroon ito pagkatapos ng pagpili at sumasalamin dito.
Pagpapanatiling Maaasahan ng mga Test
- Gumamit ng matatag na selector, tulad ng mga test attribute o accessible role, sa halip na mga CSS class na nagbabago kasabay ng mga update sa disenyo.
- Maghintay sa tahasang kondisyon, hindi sa nakapirming pagkaantala.
- Patakbuhin ang mga test sa staging copy na may parehong tag setup gaya ng production.
- Patakbuhin ang maliit na bersyon ng suite ayon sa iskedyul, hindi lang sa mga deployment, dahil nagbabago ang mga third-party script nang walang release mo.
- Subukan ang mga pangunahing rehiyong pinaglilingkuran mo sa pamamagitan ng pagtatakda ng geolocation o paggamit ng region override na iniaalok ng iyong CMP.
Saan Nababagay ang FlexyConsent
Sumusuporta ang FlexyConsent sa IAB TCF 2.4, IAB GPP v1.1 at Google Consent Mode v2, kaya ang mga signal na ina-assert mo sa mga test ay mga pamantayang mababasa mo mula sa pahina. Available ang banner sa 58 wika; kung naglilingkod ka sa ilan, magsama ng test na nagloload ng kahit isang bersyong hindi English.
Mga Pangunahing Punto
- Gumamit ng bagong browser context kada test para gayahin ang bisitang unang beses dumating.
- Mag-assert sa mga network request at cookie, hindi lang sa hitsura ng banner.
- Saklawin ang apat na daan: walang interaksyon, pagtanggi, pagtanggap at withdrawal.
- Suriin din ang mga consent signal sa data layer o TCF API.
- Patakbuhin ang suite sa release at ayon sa iskedyul para mahuli ang paglihis mula sa mga third-party script.