2015-08-05 4 views
1

У меня есть настраиваемая интеграция GA, чтобы работать более плавно с turbolinks. (Основано свободно: http://reed.github.io/turbolinks-compatibility/google_analytics.html)Как проверить интеграцию с Google Analytics?

Теперь, как хорошая маленькая кодовая обезьяна, я хочу покрыть свой код в своих тестах. После долгих поисковых запросов я обнаружил удивительный недостаток приемлемых методов тестирования. В основном просто руководство убедитесь, что пиксель кода/отслеживания присутствует. Который, очевидно, не будет работать в долгосрочной перспективе; кто-то забудет проверить страницу или тип взаимодействия, и сломанный код будет отправлен.

Итак, как я могу автоматически проверить, что моя интеграция GA работает правильно? (Я уже использую capybara-webkit для тестирования интеграции)

ответ

0

Существует версия GA js, которая регистрирует всю активность на консоли браузера (ga_debug.js). Capybara-webkit позволяет вам получить доступ к журналу консоли браузера с помощью драйвера, что означает, что вы можете просто обернуть свои действия в assert_difference('page.driver.console_messages.select {|m| m[:message] == "Track Pageview" }.length',n) do ... end и получить действительно гладкую проверку вашего кода.

Существует также версия для универсальной аналитики: https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced#debug вам просто нужно настроить фильтр сообщений, чтобы поймать правильные сообщения.

Хотя существуют другие подходы, такие как издевательствование GA или настройка прокси-сервера; они больше работают и требуют, чтобы я знал, чего ожидает сервер GA от кода клиента GA, и обновите, когда это изменится. Таким образом, мне не нужно ничего менять, просто используйте правильную клиентскую библиотеку для задания.