Аўтаматычныя тэсты банера згоды на Playwright: практычнае кіраўніцтва
Навошта аўтаматызаваць праверку згоды
Ручныя праверкі згоды лёгка прапусціць і лёгка выканаць няправільна. Новы тэг ад маркетынгу, абнаўленне тэмы ці перароблены загрузчык скрыптоў могуць незаўважна пачаць запускаць трэкеры да атрымання згоды, і ніхто гэтага не заўважае, пакуль не заўважыць кліент ці рэгулятар. Аўтаматычныя браўзерныя тэсты ператвараюць пытанне «ці наш банер і далей паводзіць сябе правільна?» у нешта, што выконваецца падчас кожнага рэлізу. Playwright добра падыходзіць, бо кіруе сапраўднымі браўзерамі, умее перахопліваць сеткавыя запыты і дае свежыя ізаляваныя кантэксты браўзера.
Тэставыя кантэксты
Кожны тэст мае пачынацца з чыстага кантэксту браўзера, без cookie і лакальнага сховішча. Гэта імітуе наведвальніка, што прыйшоў упершыню. Стварайце новы кантэкст для кожнага тэсту, а не паўторна выкарыстоўвайце старонку, інакш выбар, захаваны адным тэстам, перацячэ ў наступны.
Тэст 1. Да згоды нічога не спрацоўвае
Слухайце ўсе сеткавыя запыты з моманту пачатку загрузкі старонкі. Загрузіце старонку, пачакайце прастою і не чапайце банер. Потым параўнайце запыты са спісам даменаў трэкераў, які вы вядзеце: аналітыка, рэклама і пікселі сацсетак. Тэст падае, калі які-небудзь запыт ідзе на дамен са спіса. Таксама прачытайце спіс cookie з кантэксту і лічыце тэст праваленым, калі існуе любая неабавязковая cookie.
Тэст 2. Адмова захоўвае ўсё выключаным
- Загрузіце старонку ў новым кантэксце.
- Націсніце элемент адмовы ў банеры.
- Перайдзіце яшчэ на дзве-тры старонкі, у тым ліку адну з убудаванымі медыя.
- Праверце, што запытаў да трэкераў не было і неабавязковыя cookie не ўсталёўваліся.
- Перазагрузіце старонку і праверце, што банер застаецца схаваным, а выбар захоўваецца.
Тэст 3. Прыняцце ўключае тое, што мае
Націсніце «прыняць» і праверце, што чаканыя тэгі цяпер спрацоўваюць, напрыклад запыт вашай аналітыкі. Гэта абараняе ад адваротнага збою: банер запісвае згоду, але ніколі не вызваляе скрыпты, што ціха каштуе вам даных і даходу.
Тэст 4. Дэталізаваны выбар
Адкрыйце ўзровень налад, уключыце толькі адну мэту і захавайце. Праверце, што тэгі, звязаныя з гэтай мэтай, спрацоўваюць, а тэгі, звязаныя з іншымі, не. Трымайце невялікі файл адпаведнасці мэт чаканым даменам, каб тэст чытаўся выразна і яго было лёгка абнаўляць.
Тэст 5. Адкліканне
Прыміце, потым зноў адкрыйце налады праз вашу пастаянную спасылку і адклічце згоду. Праверце, што наступныя запыты да трэкераў спыняюцца, а захаваны стан згоды адлюстроўвае змяненне. Улічыце, што ўжо ўсталяваныя cookie, магчыма, давядзецца выдаляць яўна, таму вызначце сваю палітыку і праверце яе.
Тэст 6. Сігналы
Калі вы выкарыстоўваеце Google Consent Mode, прачытайце data layer у кантэксце старонкі да і пасля кожнага выбару і праверце, што значэнні стану згоды супадаюць: denied па змаўчанні, granted для катэгорый, якія прыняў наведвальнік. Калі вы выкарыстоўваеце радок TCF, прачытайце яго праз TCF API і праверце, што ён прысутнічае пасля выбару і адлюстроўвае яго.
Як зрабіць тэсты надзейнымі
- Выкарыстоўвайце ўстойлівыя селектары, такія як тэставыя атрыбуты ці даступныя ролі, замест CSS-класаў, што змяняюцца з абнаўленнем дызайну.
- Чакайце яўных умоў, а не фіксаваных затрымак.
- Запускайце тэсты на копіі стэйджынгу з той жа наладай тэгаў, што і ў прадакшэне.
- Запускайце невялікую версію набору па раскладзе, а не толькі падчас дэплою, бо староннія скрыпты змяняюцца без вашага рэлізу.
- Правярайце асноўныя рэгіёны, якія вы абслугоўваеце, задаючы геалакацыю або выкарыстоўваючы перавызначэнне рэгіёна, якое прапануе ваша CMP.
Дзе месца FlexyConsent
FlexyConsent падтрымлівае IAB TCF 2.4, IAB GPP v1.1 і Google Consent Mode v2, таму сігналы, якія вы правяраеце ў тэстах, стандартныя, і іх можна прачытаць са старонкі. Банер даступны на 58 мовах; калі вы абслугоўваеце некалькі, дадайце тэст, што загружае прынамсі адну неанглійскую версію.
Галоўныя высновы
- Выкарыстоўвайце свежы кантэкст браўзера для кожнага тэсту, каб імітаваць наведвальніка, што прыйшоў упершыню.
- Правярайце сеткавыя запыты і cookie, а не толькі выгляд банера.
- Пакрыйце чатыры шляхі: без узаемадзеяння, адмова, прыняцце і адкліканне.
- Правярайце сігналы згоды і ў data layer, і праз TCF API.
- Запускайце набор падчас рэлізу і па раскладзе, каб лавіць дрэйф праз староннія скрыпты.