Автоматизирани тестове на банера за съгласие с Playwright: практическо ръководство
Защо да автоматизирате тестването на съгласието
Ръчните проверки на съгласието лесно се пропускат и лесно се правят погрешно. Нов таг от маркетинга, обновяване на темата или преработен зареждач на скриптове могат тихо да започнат да задействат тракери преди съгласие и никой не го забелязва, докато не го забележи клиент или регулатор. Автоматизираните браузърни тестове превръщат въпроса „банерът ни още ли се държи както трябва?“ в нещо, което се изпълнява при всяко пускане. Playwright е подходящ, защото управлява реални браузъри, може да прихваща мрежови заявки и дава нови, изолирани контексти на браузъра.
Тестовите контексти
Всеки тест трябва да започва от чист контекст на браузъра, без бисквитки и локално хранилище. Така се имитира посетител за пръв път. Създавайте нов контекст за всеки тест, вместо да използвате повторно страница, иначе изборът, съхранен от един тест, ще изтече в следващия.
Тест 1: Нищо не се задейства преди съгласие
Слушайте всяка мрежова заявка от момента, в който страницата започне да се зарежда. Заредете страницата, изчакайте да е в покой и не докосвайте банера. След това сравнете заявките със списък от домейни на тракери, който поддържате, като анализ, реклама и социални пиксели. Тестът пропада, ако някоя заявка е към домейн от списъка. Прочетете и списъка с бисквитки от контекста и пропадайте, ако съществува някоя несъществена бисквитка.
Тест 2: Отказът оставя нещата изключени
- Заредете страницата в нов контекст.
- Щракнете върху контролата за отказ в банера.
- Преминете към още две-три страници, включително една с вградени медии.
- Потвърдете, че не са правени заявки към тракери и не са задавани несъществени бисквитки.
- Презаредете и потвърдете, че банерът остава скрит и изборът се запазва.
Тест 3: Приемането включва каквото трябва
Щракнете „приеми“ и потвърдете, че очакваните тагове вече се задействат, например заявката на вашия анализ. Това пази от обратния отказ: банер, който записва съгласие, но никога не освобождава скриптовете, което тихо ви струва данни и приходи.
Тест 4: Детайлни избори
Отворете нивото с предпочитания, включете само една цел и запазете. Потвърдете, че таговете, свързани с тази цел, се задействат, а тези, свързани с останалите, не. Поддържайте малък файл за съпоставяне на цел към очаквани домейни, така че тестът да се чете ясно и да се обновява лесно.
Тест 5: Оттегляне
Приемете, след това отворете отново настройките чрез постоянната ви връзка и оттеглете. Потвърдете, че следващите заявки към тракери спират и че съхраненото състояние на съгласие отразява промяната. Имайте предвид, че вече зададените бисквитки може да се наложи да бъдат премахнати изрично, затова решете каква е политиката ви и я тествайте.
Тест 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 езика; ако обслужвате няколко, включете тест, който зарежда поне една неанглийска версия.
Основни изводи
- Използвайте нов контекст на браузъра за всеки тест, за да имитирате посетител за пръв път.
- Проверявайте мрежовите заявки и бисквитките, а не само как изглежда банерът.
- Покрийте четири пътя: без взаимодействие, отказ, приемане и оттегляне.
- Проверявайте сигналите за съгласие и в data layer, и чрез TCF API.
- Пускайте набора при издаване и по график, за да хванете отклонения от скриптове на трети страни.