Автоматичні тести банера згоди на Playwright: практичний посібник

Навіщо автоматизувати перевірку згоди

Ручні перевірки згоди легко пропустити й легко виконати неправильно. Новий тег від маркетингу, оновлення теми чи перероблений завантажувач скриптів можуть непомітно почати запускати трекери до отримання згоди, і ніхто цього не помічає, доки не помітить клієнт чи регулятор. Автоматичні браузерні тести перетворюють питання «чи наш банер і далі поводиться правильно?» на щось, що виконується під час кожного релізу. Playwright добре підходить, бо керує справжніми браузерами, вміє перехоплювати мережеві запити й надає свіжі ізольовані контексти браузера.

Тестові контексти

Кожен тест має починатися з чистого контексту браузера, без cookie й локального сховища. Це імітує відвідувача, що прийшов уперше. Створюйте новий контекст для кожного тесту, а не перевикористовуйте сторінку, інакше вибір, збережений одним тестом, перетече в наступний.

Тест 1. До згоди нічого не спрацьовує

Слухайте всі мережеві запити з моменту початку завантаження сторінки. Завантажте сторінку, зачекайте простою й не торкайтеся банера. Потім порівняйте запити зі списком доменів трекерів, який ви ведете: аналітика, реклама та пікселі соцмереж. Тест падає, якщо будь-який запит іде на домен зі списку. Також прочитайте перелік cookie з контексту й вважайте тест проваленим, якщо існує будь-яка необов'язкова cookie.

Тест 2. Відмова зберігає все вимкненим

  1. Завантажте сторінку в новому контексті.
  2. Натисніть елемент відмови в банері.
  3. Перейдіть ще на дві-три сторінки, зокрема одну із вбудованими медіа.
  4. Перевірте, що запитів до трекерів не було й необов'язкові cookie не встановлювалися.
  5. Перезавантажте сторінку та перевірте, що банер лишається прихованим, а вибір зберігається.

Тест 3. Прийняття вмикає те, що має

Натисніть «прийняти» й перевірте, що очікувані теги тепер спрацьовують, наприклад запит вашої аналітики. Це захищає від зворотного збою: банер записує згоду, але ніколи не звільняє скрипти, що тихо коштує вам даних і доходу.

Тест 4. Деталізований вибір

Відкрийте рівень налаштувань, увімкніть лише одну ціль і збережіть. Перевірте, що теги, пов'язані з цією ціллю, спрацьовують, а теги, пов'язані з іншими, ні. Тримайте невеликий файл відповідності цілей очікуваним доменам, щоб тест читався ясно й його було легко оновлювати.

Тест 5. Відкликання

Прийміть, потім знову відкрийте налаштування через ваше постійне посилання й відкличте згоду. Перевірте, що подальші запити до трекерів припиняються, а збережений стан згоди відображає зміну. Зважте, що вже встановлені cookie, можливо, доведеться видаляти явно, тож визначте свою політику й перевірте її.

Тест 6. Сигнали

Якщо ви використовуєте Google Consent Mode, прочитайте data layer у контексті сторінки до та після кожного вибору й перевірте, що значення стану згоди збігаються: denied за замовчуванням, granted для категорій, які прийняв відвідувач. Якщо ви використовуєте рядок TCF, прочитайте його через TCF API й перевірте, що він присутній після вибору та відображає його.

Як зробити тести надійними

Де місце FlexyConsent

FlexyConsent підтримує IAB TCF 2.4, IAB GPP v1.1 і Google Consent Mode v2, тож сигнали, які ви перевіряєте в тестах, стандартні, і їх можна прочитати зі сторінки. Банер доступний 58 мовами; якщо ви обслуговуєте кілька, додайте тест, що завантажує щонайменше одну неанглійську версію.

Головні висновки

← Блог Читати все →