【问题标题】:Tool to test website tracking测试网站跟踪的工具
【发布时间】:2013-12-09 01:32:47
【问题描述】:
我们使用谷歌和双击调用来跟踪用户的行为。我们有许多跟踪组件。
有谁知道是否有一种工具可以“测试”这些分析调用以确保它们被解雇并发送正确的数据?它可以是免费的,也可以是付费的。
我正在寻找的是一个像提琴手一样工作的自动化测试工具,除了基于被调用的网页,检查结果和正则表达式的重要部分,然后给出通过/失败。一个易于使用的工具会很好,但不是必需的。
【问题讨论】:
标签:
google-analytics
automated-tests
【解决方案1】:
我知道这是一个老问题,但假设您想要测试的所有跟踪器都是基于 Javascript 的,您可以使用 JS-Unit-Tests 来实现这一点。基本思想是这样的,可以使用所有流行的 JS-Unit-Testing 框架(例如 Jasmine 或 Mocha)来实现:
- 用存根替换跟踪库的实际跟踪对象,例如Google Analytics 跟踪器的
push-方法
- 调用您为其定义事件的操作,例如点击带有一些 JS 代码的链接(如 jQuery 的
trigger-method)
- 将调用存根而不是实际
_ga-object 的 push-method,您可以检查函数调用的参数是否符合您的预期
- 您可以针对 HTML-Fixtures 执行此操作,或者,如果您想在您的实时站点上进行完整的功能测试,请将其与 PhantomJS 的脚本(或使用 CasparJS)相结合,以在网页中注入测试脚本并正确运行它们那里。
这里有一篇文章讨论了一种类似于我建议的方法:http://viget.com/extend/testing-google-analytics-with-phantomjs
根据您要测试的内容,该方法可能会受到限制,但如果您要跟踪的用户交互可以使用 PhantomJS 进行,您应该能够走得更远。
【解决方案2】:
虽然它可能不是您正在寻找的,但谷歌分析有一个调试模式,可以在控制台中显示所有跟踪数据。这是一个手动而不是自动测试选项,但我仍然觉得它非常有用。
如果您正在测试您拥有的网站,您可以更改分析跟踪代码以使用此模式:在该页面的跟踪代码中将所有对 /ga.js 的引用替换为 /u/ga_debug.js
(https://developers.google.com/analytics/resources/articles/gaTrackingTroubleshooting#gaDebug)
请注意,您只想暂时或在测试站点上执行此操作,因为调试文件较大并且会减慢页面速度。
如果您使用 Chrome 浏览器,则可以使用更简单的选项 - 安装 Google Analytics 调试器扩展程序,当您打开它时,您访问的任何网站的所有 GA 跟踪数据都将记录在控制台中。可以在这里找到扩展:
https://chrome.google.com/webstore/detail/jnkmfdileelhofjcijamephohjechhna
我仍在寻找一种自动化测试的方法,以便您可以获取输出并使用正则表达式或类似的东西对其进行测试。如果有人知道如何以可以测试的形式捕获 GA 调试输出 - 通过重定向到文本文件等,那么我很想知道!