Как протестировать Google Analytics Push Events


(Andrey Kim) #1

Не нашел дельной информации о том как автоматизировать тестирование Google Analytics.

Аналитика генерит некоторые данные и отправляет их на сервера гугл.

Вид у push ивентов примерно такой, описываю именно структуру, содержание может быть какое угодно, с разными уровнями вложенности в массивы.

test: {"done":0, "auto":1, "result": "positive"}

Все генерится динамично, то есть после клика на кнопку появится новый ивент. Если не кликнуть на странице его не будет.

Вопрос такой. Кто сталкивался с тестированием подобных вещей. Нужно проверять что сгенерилось в нужные моменты и получился правильный состав. Что можно заюзать для этого?

Пока кроме как Qunit и других тулов для юнит тестирования js в голову не приходит. Сам с js не знаком, и не уверен, можно ли это применять для динамичных событий. Нужно ли ко всему этому прикручивать браузер?


(Andrey Kim) #2

Нашел 2 решения.

  1. Решение при помощи selenium + browsermob-proxy.
    Используем прокси и в браузере делаем некоторые действия чтобы ивенты отправились в гугл аналитику. Затем сохраняем har (http archive) в файл и каким-то образом вытаскиваем оттуда информацию о том что ивент отправлен.
    Проблема. har - это большой json кусок текста, который я пока не представляю как удобно распарсить, данные в аналитику отправляются в закодированном виде. Чтобы все работало быстро и удобно, потребуется некий парсер для разбора json результата.

  2. Решение использовать JS + Selenium PhantomJS. Для меня этот метод кажется более предпочтительным, но в силу незнания JS имею с ним некоторые проблемы.

http://viget.com/extend/testing-google-analytics-with-phantomjs

Если вы знаете еще какой способ отпишитесь пожалуйста.


(Sergey Korol) #3

Недавно постилась тема о remote BMP. Посмотрите имплементацию на гитхабе (как реализован клиент). В целом, ничего особенного в парсинге HAR-файла нет. Вы можете написать класс-обертку и читать Response в его объект, оставив лишь нужные поля.