我正在尝试自动化页面加载时间测试。我想象每隔几个小时运行一次 cron 作业,它将从我的网站加载各种页面,检索相关的 har 文件并处理数据。我不知道的部分是如何以编程方式生成 har 文件......我现在知道的唯一方法是通过 chrome 开发人员工具手动进行。有谁知道这是否可以做到,如果可以,怎么做?
6 回答
我们最近刚刚用 Firebug 和 NetExport 做到了这一点:
http://www.softwareishard.com/blog/netexport/
您可以将 NetExport 配置为自动将 HAR 文件导出到指定目录(压缩可选)。这对我们获取特定 Web 应用程序的资源加载数据样本很有用。
查看BrowserMob 代理或运行 WebPageTest 的私有实例并使用 WPT Monitor
PhantomJS(Node.js 上的无头 Webkit 浏览器)可以直接导出 .har 文件。
这样,您应该能够构建一个返回给定 URL 的 .har 文件的工具......
在您选择的语言绑定(java、python、c#)中使用 Selenium Server、Browsermob-Proxy 和 Chromedriver(如果您希望使用 Chrome 进行测试)的组合是以编程方式生成 HAR 文件的最佳方式,恕我直言.
我编写了这个小 Python 工具,它使用 Browsermob 代理使用 Chrome 或 Firefox 无头生成 HAR 文件。它还生成 NavigationTimingAPI 数据,让您可以了解页面加载时间的微小细节。
如果您无法按照 Davies 先生的建议运行自己的实例,您可以使用 REST API。
Marcel Duran 为 nodejs 编写了一个 WebPageTest API 包装器。它可以从结果测试中返回 HAR。https://github.com/marcelduran/webpagetest-api
har 文件阅读器 API 也可用,它将帮助您解析 har 文件,基本上是 JSON 格式。
您还可以获取每个 http/https 请求/响应等的详细信息,以准备指标。