【问题标题】:How can I consume Firebug net panel data programmatically?如何以编程方式使用 Firebug 网络面板数据?
【发布时间】:2009-01-30 21:14:00
【问题描述】:

我的敏捷团队将为现有房地产网站添加新功能。 随着我们添加功能,我们希望更好地处理网站的整体性能以及特定页面的性能。

我想根据每个页面的请求/响应自动收集性能指标(例如,浏览器发送了哪些子请求,有多少子请求,传输了多少数据,以及如何每个请求需要很长时间才能完成)。

Firebug 目前在其网络面板中捕获此信息,但是,我还没有找到任何以编程方式提取此信息的方法。

有谁知道在页面加载后提取此信息的方法?

我们目前正在使用 Selenium 运行我们的用户接受度测试,我已经考虑将此功能添加到 selenium 接口,以便我们的测试可以在不启动任何其他服务的情况下运行并收集数据。

欢迎所有建议,包括利用其他工具/方法收集性能指标的建议。

谢谢。

【问题讨论】:

    标签: performance testing selenium firebug metrics


    【解决方案1】:

    Jan Odvarko 写了一篇Tutorial,介绍了如何在 Firebug 中使用新的侦听器功能来记录网络面板结果:

    “自 Firebug 1.4a13 以来,网络面板引入了几个新事件,其中包括允许轻松收集所有网络请求以及 Firebug 收集和计算的相关信息。

    如果 Firebug 扩展想要将网络活动信息存储到本地数据库或将其发送回服务器以进行进一步分析(我在这里考虑性能统计信息),此功能也应该很有用。”

    【讨论】:

      【解决方案2】:

      看看 FireBug 的 NetExport 扩展。

      步骤:

      1. 在首选项中启用自动导出(您也可以自动执行此操作)
      2. 选择要添加数据的文件夹
      3. 读取文件

      【讨论】:

      • 好的,这很酷。该文件可以通过编程方式读取,但特定网页必须在 FF 中打开。所以这意味着我们必须自动化?
      【解决方案3】:

      虽然它不是直接的 Firebug 解决方案,但也许像 Jiffy 这样的解决方案会有所帮助?

      Jiffy 的工作方式非常类似于 Firebug 测量工具的基于服务器的版本。我还没有在愤怒中使用它,但它可能会做你想要的?

      http://code.google.com/p/jiffy-web/

      Jiffy 允许开发人员:

      • 测量每个客户端上的各个页面呈现(脚本加载、AJAX 执行、页面加载等)
      • 将这些测量结果和其他元数据报告给网络服务器
      • 将 Web 服务器日志聚合到数据库中
      • 生成报告

      【讨论】:

      • 我对 Jiffy 解决方案的唯一担心是它似乎需要将 Jiffy .js 和信号代码注入到应用程序的页面中。鉴于我们许多页面的现有复杂性以及我们正在寻找的交互数据类型,这可能不可行。不过建议很好。
      【解决方案4】:

      有一种方法可以使用 ySlow 将性能数据发送到您选择的 URL。它没有很好的记录,我找到的唯一信息在这里:

      http://tech.groups.yahoo.com/group/exceptional-performance/messages/490?threaded=1&m=e&var=1&tidx=1

      除此之外,我会考虑编写一个 Firebug 插件,我认为您可以访问大多数 Firebug 属性。这是一个教程:http://www.firephp.org/Reference/Developers/ExtendingFirebug.htm

      【讨论】:

      • 非常有趣。这正是我正在寻找的那种东西。我一直在阅读 Firebug 和 FF 插件试图做这件事。感谢您提供 YSlow 链接。
      【解决方案5】:

      本, 我通过扩展 Selenium RC 的 ProxyHandler 将看到的 URL 排队,然后允许您通过其他一些 API 将它们拉下来。它要求您代理 everything,这不是 Selenium 的默认行为。好消息是 Selenium 最终成为推动自动化和收集所见结果的地方。

      这可能是我们在推出 1.0 后不久将添加到 Selenium RC 的一项功能(我们已经非常接近了!)。

      【讨论】:

      • 非常酷。就在今天,我正在与一位同事讨论扩展他编写的代理 API 来做类似的事情……我们唯一关心的是与 Selenium 或任何其他 Web 测试工具的集成。感谢您的提示。
      • 本 - 没问题。如果您需要一些示例代码来帮助您入门,请随时通过 browsermob dot com 的 patrick 给我发送电子邮件。
      【解决方案6】:

      好的,我承认这不是一个直接的答案,但是直接找到源代码怎么样?删除 FireBug 并转到 Web 服务器。服务器能否以足够的粒度记录事件以允许计算您需要的信息?将日志文件解析为有用的数据应该不是特别困难,并且具有独立于用户平台的优势,并且有可能记录比 FireBug 提供的数据集更大的数据(顺便说一句很棒的工具)。

      【讨论】:

      • 这绝对是一个选项,但是,鉴于我们当前的服务器配置,我们没有捕获该数据。感谢您的建议。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-19
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多