0

我正在尝试收集网络流量数据,在将其与我们的测试框架集成之前,我已经设置了一个概念验证。我可以得到 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/我什么也没得到。还需要做什么?

4

2 回答 2

2

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

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

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

于 2014-11-07T16:33:54.397 回答
1

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

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

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

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

于 2014-08-30T02:23:49.477 回答