DataLayer QA Automation
Пару слов о Data Layer
Проблемы с Data Layer = проблема с аналитикой
Какие именно проблемы могут случиться с DL
Когда ломается отправка данных
И во всех случаях тестировать данные нужно повторно
А если вы агентство, то количество проектов является мультипликатором боли
Процесс мануального тестирования DL
Что можно сказать об этом процессе? Долго и много раз.
Начинаем создавать систему автотестов
Какие цели:
Процесс авто-тестирования DL
Технический стек
Что нужно иметь до начала работы с автотестами
Желательно: список тест кейсов, на основе которых вы будете писать скрипты.
Как выглядели задачи в начале
Как выглядели задачи через 3 недели
Структура проекта
Про эстимейты...
Что пошло не так
Основная проблема - надежность тестов
Что с надежностью
Из этого сформировал задачи
Про клики
Ошибка Selenium: element is not interactable когда пытаемся сделать клик
Вместо этого:
driver.find_elements_by_css_selector()[0].click()
Использую это:
driver.execute_script('document.querySelector(css_selector).click()')
Ожидание JS объектов
Как я делал: зашел в исходный код Selenium WebDriverWait, скопировал, заменил на входе ожидание элемента на ожидание объекта.
Написал функцию, которая ищет нужный ивент в dataLayer (это обычный foreach), которая возвращает JSON объект. Этот объект можно дать на вход функции ожидания.
Логи собираются в BigQuery
Результаты
Я не получил ожидаемого результата
Я получил не тот результат, который ожидал
Итог
Ссылки
Контакты