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

标签 google-chrome automation spdy har

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

  • 打开一个新标签;
  • 在开发者工具中打开网络标签;
  • 加载一个 URL;
  • 选择“全部保存为 HAR”。

  • 通常,建议的解决方案涉及使用 PhantomJS , browsermob-proxy , 或 pcap2har ;这些不适合我的情况,因为我需要使用 SPDY交通。

    我试图潜入Google Chrome Extensions API事实上,我设法自动化了一些任务,但对于 HAR 文件生成方面的问题仍然没有运气。现在this method特别有希望,但我仍然无法弄清楚我将如何使用它。

    换句话说,我需要像 this experiment 这样的东西来自谷歌的家伙。请注意以下事项:

    We used Chrome's remote debugging interface with a custom client that starts up the browser on the phone, clears its cache and other state, initiates a web page load, and receives the Chrome developer tools messages to determine the page load times and other performance metrics.



    有任何想法吗?

    解决方案

    出于好奇,我最终得到了一个自动化此类测试的 Node.js 模块:chrome-har-capturer .这也让我有机会深入研究 Remote Debugging Protocol并为通用 Chrome 自动化编写一个较低级别的 Node.js 接口(interface):chrome-remote-interface .

    最佳答案

    简短的回答是,没有办法直接获取您所追求的数据。 getHAR方法仅适用于旨在扩展 DevTools 本身的扩展。好消息是,您可以自己构建 HAR 文件而不会太麻烦 - 这正是 what phantom.js does .

  • 使用远程调试启动 Chrome
  • 使用 websocket 连接在调试端口上连接到 Chrome
  • 启用“网络”调试,还可以清除缓存等-见Network API .
  • 告诉浏览器导航到您要捕获的页面,Chrome 会将所有请求元数据流式传输给您。
  • 将网络数据按摩成 HAR 格式,ala phantom.js
  • ...
  • 利润。

  • 为了抢先一步,我有一篇文章,其中包含示例 Ruby 代码,您应该从步骤 1-4 开始:http://www.igvita.com/2012/04/09/driving-google-chrome-via-websocket-api/

    关于google-chrome - 从 Google Chrome 自动生成 HAR 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13537533/

    相关文章:

    google-chrome - 301重定向后如何防止chrome从磁盘缓存中加载index.html

    java - 自动完成 Java EE Web 应用程序测试

    spdy - 如果服务器实现 spdy/3 而浏览器只支持 spdy/2 会发生什么?

    java - 是什么导致 okhttp 和 spdy 出现 "java.io.IOException: stream was reset: CANCEL"?

    google-chrome - google chrome什么时候支持1.1版本的远程调试协议(protocol)?

    javascript - Google 云端硬盘如何知道我安装了哪些应用程序?

    shell - CL程序作为shell脚本调用时如何使用quicklisp?

    wireshark - 为什么这个 SPDY SYN_STREAM 样本的 header 显然未压缩?

    html amp 按钮禁用

    java - 需要一种使用 xmlSuites 在 TestNG 中顺序运行测试的方法