Не нашел дельной информации о том как автоматизировать тестирование Google Analytics.
Аналитика генерит некоторые данные и отправляет их на сервера гугл.
Вид у push ивентов примерно такой, описываю именно структуру, содержание может быть какое угодно, с разными уровнями вложенности в массивы.
test: {"done":0, "auto":1, "result": "positive"}
Все генерится динамично, то есть после клика на кнопку появится новый ивент. Если не кликнуть на странице его не будет.
Вопрос такой. Кто сталкивался с тестированием подобных вещей. Нужно проверять что сгенерилось в нужные моменты и получился правильный состав. Что можно заюзать для этого?
Пока кроме как Qunit и других тулов для юнит тестирования js в голову не приходит. Сам с js не знаком, и не уверен, можно ли это применять для динамичных событий. Нужно ли ко всему этому прикручивать браузер?
Решение при помощи selenium + browsermob-proxy.
Используем прокси и в браузере делаем некоторые действия чтобы ивенты отправились в гугл аналитику. Затем сохраняем har (http archive) в файл и каким-то образом вытаскиваем оттуда информацию о том что ивент отправлен.
Проблема. har - это большой json кусок текста, который я пока не представляю как удобно распарсить, данные в аналитику отправляются в закодированном виде. Чтобы все работало быстро и удобно, потребуется некий парсер для разбора json результата.
Решение использовать JS + Selenium PhantomJS. Для меня этот метод кажется более предпочтительным, но в силу незнания JS имею с ним некоторые проблемы.
Недавно постилась тема о remote BMP. Посмотрите имплементацию на гитхабе (как реализован клиент). В целом, ничего особенного в парсинге HAR-файла нет. Вы можете написать класс-обертку и читать Response в его объект, оставив лишь нужные поля.