Google chrome 从Google Chrome自动生成HAR文件

Google chrome 从Google Chrome自动生成HAR文件,google-chrome,automation,spdy,har,Google Chrome,Automation,Spdy,Har,基本上,我需要的是一种自动化以下操作结果的方法: 打开一个新标签 在开发者工具中打开网络选项卡 加载一个URL 选择“全部另存为HAR” 通常,建议的解决方案涉及使用或;这些不适合我的情况,因为我需要处理交通问题 我试图深入到HAR中,确实我成功地实现了一些任务的自动化,但对于涉及HAR文件生成的内容,仍然没有运气。现在它特别有希望,但我仍然不知道如何使用它 换句话说,我需要一些来自谷歌的东西。注意以下几点: 我们将Chrome与一个定制客户端一起使用,该客户端启动手机上的浏览器,清除其缓存和其

基本上,我需要的是一种自动化以下操作结果的方法:

  • 打开一个新标签

  • 在开发者工具中打开网络选项卡

  • 加载一个URL

  • 选择“全部另存为HAR”

  • 通常,建议的解决方案涉及使用或;这些不适合我的情况,因为我需要处理交通问题

    我试图深入到HAR中,确实我成功地实现了一些任务的自动化,但对于涉及HAR文件生成的内容,仍然没有运气。现在它特别有希望,但我仍然不知道如何使用它

    换句话说,我需要一些来自谷歌的东西。注意以下几点:

    我们将Chrome与一个定制客户端一起使用,该客户端启动手机上的浏览器,清除其缓存和其他状态,启动网页加载,并接收Chrome developer tools消息,以确定页面加载时间和其他性能指标

    有什么想法吗


    解决方案
    出于好奇,我最终得到了一个Node.js模块,它可以自动执行此类测试:。这也让我有机会深入研究,并为通用的Chrome自动化编写一个较低级别的Node.js接口:。

    简单的回答是,没有办法直接获取所需的数据。
    getHAR
    方法仅适用于扩展DevTools本身的扩展。好消息是,您可以自己构建HAR文件,而不会有太多麻烦-这正是

  • 通过远程调试启动Chrome
  • 使用websocket连接在调试端口上连接到Chrome
  • 启用“网络”调试,还可以清除缓存等-请参阅
  • 告诉浏览器导航到您想要捕获的页面,Chrome会将所有请求元数据流式返回给您
  • 将网络数据转换为HAR格式,ala phantom.js
  • 利润

  • 首先,我有一篇文章介绍了示例Ruby代码,您应该从步骤1-4开始:

    现在有一个浏览器插件可以做到这一点:

    它使用WebExtensions开发工具API,我让它与Firefox和Chrome一起使用

    请参见我的Chrome代码:


    在Chrome中自动安装插件比在Firefox中要复杂一点,但可行——我在本地提取了插件存档,然后在Chrome_prefs.json中链接到它(参见同一个存储库)。

    很有趣,一个真正的谷歌人回答了我的问题!:)这几天我对你提到的话题略知一二,最后你给了我胶水。让我试试看,我很快就会回来,有一些反馈……好的,这绝对是正确的选择。现在我有了一个nodejs脚本,可以启动Chrome,启动tcpdump,打开WebSocket,进行一些设置,加载一个URL,最后转储HAR文件。。。我遵循了您提供的PhantomJS示例、HAR规范和网络API,但仍然有一些关于计时的信息我没有得到,特别是:如何填写
    计时。接收
    字段?据我所知:请求开始于
    requestTime
    ;从服务器等待从
    requestTime+sendEnd
    开始,到
    网络结束。responseReceived
    时间戳
    ),这是否正确?或者可能整个响应都是在
    网络接收的。responseReceived
    时间戳
    )?responseReceived应该包含其中的所有计时数据(作为NAVTimination的一部分)。你肯定不想自己计算这些时间。我希望如此,但我只有这个对象,我不知道如何确定何时完全收到响应,没有像
    responseEnd
    这样的字段。如何使用chrome har capturer?你能给我引路吗?自述还不够吗?如果您有任何疑问,请随时提出问题。