基本上我需要的是一种自动化以下操作结果的方法:
打开一个新的选项卡;
在开发人员工具中打开网络选项卡;
加载一个URL;
选择“保存所有为HAR”。
通常,提出的解决方案涉及使用PhantomJS、browsermob-proxy或pcap2har等工具;但由于我需要处理SPDY流量,所以这些方法都不适用于我的情况。
我尝试深入研究了Google Chrome扩展API,确实成功地自动化了一些任务,但对于HAR文件生成,仍然没有成功。现在这个方法特别有希望,但我仍然无法想象如何使用它。
换句话说,我需要像谷歌团队的这个实验一样的东西。请注意以下内容:
我们使用了Chrome的远程调试接口,配合一个自定义的客户端,在手机上启动浏览器,清除其缓存和其他状态,启动网页加载,并接收Chrome开发人员工具消息以确定页面加载时间和其他性能指标。
有什么想法吗?
解决方案
好奇的话,我最终使用了一个Node.js模块来自动化此类测试:chrome-har-capturer。这也让我有机会深入挖掘远程调试协议并编写了一个更通用的基于Node.js的Chrome自动化低级接口:chrome-remote-interface。