3

我们使用谷歌和双击调用跟踪用户的行为。我们有许多跟踪组件。有谁知道是否有一种工具可以“测试”这些分析调用以确保它们被解雇并发送正确的数据?它可以是免费的或付费的。

我正在寻找的是一个像提琴手一样工作的自动化测试工具,除了基于被调用的网页,检查结果和正则表达式的重要部分,然后给出通过/失败。一个易于使用的工具会很好,但不是必需的。

4

2 回答 2

2

我知道这是一个老问题,但是假设您想要测试的所有跟踪器都是基于 Javascript 的,您可以使用 JS-Unit-Tests 来实现这一点。基本思想是这样的,可以使用所有流行的 JS-Unit-Testing 框架(例如JasmineMocha)来实现:

  • 用存根替换跟踪库的实际跟踪对象,例如pushGoogle Analytics 跟踪器的 -method
  • 调用您为其定义事件的操作,例如单击带有一些 JS 代码的链接(如 jQuery 的trigger-method)
  • 将调用存根而不是push实际对象的 - 方法,您可以检查函数调用的参数是否与您期望的一样_ga
  • 您可以针对 HTML-Fixtures 执行此操作,或者,如果您想在您的实时站点上进行完整的功能测试,请将其与 PhantomJS 的脚本(或使用 CasparJS)结合起来,将测试脚本注入网页并在那里运行它们。

这是一篇讨论类似于我建议的方法的文章:http: //viget.com/extend/testing-google-analytics-with-phantomjs

根据您要测试的内容,该方法可能会受到限制,但如果您要跟踪的用户交互可以使用 PhantomJS 进行,您应该能够走得更远。

于 2013-12-08T17:32:47.840 回答
1

虽然它可能不是您正在寻找的东西,但谷歌分析有一个调试模式,可以在控制台中显示所有跟踪数据。这是一个手动而不是自动测试选项,但我仍然觉得它非常有用。

如果您正在测试您拥有的网站,您可以更改分析跟踪代码以使用此模式:在该页面的跟踪代码中将所有对 /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 调试输出 - 通过重定向到文本文件等,那么我很想知道!

于 2012-08-17T21:32:09.713 回答