【问题标题】:What do I do with HAR information我如何处理 HAR 信息
【发布时间】:2014-08-29 20:14:35
【问题描述】:

我正在尝试收集网络流量数据,在将其与我们的测试框架集成之前,我已经设置了概念验证。我可以得到 har 数据,它作为字典回来了,不知道之后该怎么处理它?我假设我需要将其写入文件以便上传,但我是将其保存为 .har 还是 .json?

server = Server("C:\\Users\\E003048\\Downloads\\browsermob-proxy-2.0-beta-9\\bin\\browsermob-proxy.bat")
server.start()
proxy = server.create_proxy()

profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)

proxy.new_har("Network Traffic")
driver.get("http://URL GOES HERE")
har_information = proxy.har
target_file = open("har_file.har", 'a')
target_file.write(str(har_information))
sleep(10)
proxy.close()
server.stop()
driver.quit()

我在脚本中添加了写入 har 文件的位置,但是当我将其插入 har 查看器时:http://www.softwareishard.com/har/viewer/ 我什么也没得到。还需要做什么?

【问题讨论】:

  • HAR 是以 JSON 格式存储的 HTTP 存档结构,因此扩展名 .har 或 .json 无关紧要。

标签: python-2.7 selenium-webdriver browsermob


【解决方案1】:

HAR 代表 HTTP 存档。这是记录 HTTP 跟踪信息的常用格式。该文件包含各种信息,但出于我们的目的,它记录了浏览器加载的每个对象。每个对象的时间都会被记录下来。

您可以在此处了解有关 HAR 文件规范的更多信息: http://www.softwareishard.com/blog/har-12-spec/

下面的这个页面列出了许多 HAR 解析和可视化工具: http://www.softwareishard.com/blog/har-adopters/

【讨论】:

    【解决方案2】:

    嗯,保存的 har 文件可以用来做下一步:

    1. 您可以使用已保存在 har 文件中的通信信息执行负载测试。例如。您编写测试(登录到站点)。然后保存到har文件中。之后,您可以根据需要使用某些已知框架多次重复该操作。已知的框架之一是BrowserMob-Proxy

    2. 作为第一个,性能测试 =) 使用相同的框架。步骤几乎一样。记录您的交通信息(例如登录并等待页面加载),然后将信息保存到 har.之后使用另一个框架(例如 YSLowcommand line version),您可以收集有关请求、时间、大小等的信息。

    这是最知名的(对我而言)如何使用 har 文件的方法。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-04-08
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 2019-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多