我正在尝试收集网络流量数据,在将其与我们的测试框架集成之前,我已经设置了概念验证。我可以得到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代表HTTP Archive。这是记录HTTP跟踪信息的常见格式。该文件包含各种信息,但出于我们的目的,它记录了浏览器加载的每个对象。每个对象的时间都会被记录下来。
您可以在此处了解有关HAR文件规范的更多信息:http://www.softwareishard.com/blog/har-12-spec/
下面的页面列出了许多HAR解析和可视化工具:http://www.softwareishard.com/blog/har-adopters/
好吧,保存的har文件可以用来做下一步:
-
您可以使用har文件中已保存的通信信息执行负载测试。例如,您编写测试(登录到站点)。然后将其保存到har文件中。之后,您可以使用一些已知的框架多次重复该操作。其中一个已知的框架是BrowserMob代理
-
作为第一个,性能测试=)使用相同的框架。步骤几乎相同。记录您的交通信息(例如登录并等待页面加载),然后将信息保存到har。之后,使用另一个框架(例如YSLow和命令行版本),您可以收集有关请求、时间、大小等的信息。
这是(对我来说)最为人所知的关于如何使用har文件的方法。希望这会有所帮助。