我正在尝试设置BrowserMobProxy来捕获性能数据。然而,目前我没有取得多大成功。我发现的大多数(如果不是全部)文档似乎都使用现已弃用的ProxyServer。 BrowserMobProxy git上的文档没有提供任何完整的示例(除非我遗漏了一些内容)。
所以目前我已经启动并运行了代理服务器并且还创建了一个har。但是在测试套件的最后,文件中没有太多内容。
{"log":{"version":"1.2","creator":{"name":"BrowserMob Proxy","version":"2.1.0-beta-1-littleproxy","comment":""},"pages":[{"id":"pageName","startedDateTime":"2015-07-08T16:43:57.838+01:00","title":"pageName","pageTimings":{"comment":""},"comment":""}],"entries":[],"comment":""}}
以下是我目前拥有的代理设置:
在@BeforeSuite中的每个测试套件之前运行:
BrowserMobProxy server = new BrowserMobProxyServer();
server.start(0);
Proxy proxy = new Proxy();
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
driver = new FirefoxDriver(capabilities);
server.newHar();
然后在@AfterSuite完成测试后
String timestamp = Long.toString(System.currentTimeMillis()/1000L);
String strFilePath = timestamp+ ".har";
Har har = server.getHar();
FileOutputStream fos = new FileOutputStream(strFilePath);
har.writeTo(fos);
server.stop();
driver.quit();
任何人都可以填写我需要离开的地方吗?还是指出我正确的方向?
答案 0 :(得分:2)
为其他任何偶然发现的人做好准备。问题是我正在使用的网站使用ssl。所以我需要将selenium代理配置的setSSLProxy设置为" trustAllSSLCertificates"。所以现在我把它作为我的browsermob代理配置:
server = new BrowserMobProxyServer();
server.start(0);
Proxy proxy = ClientUtil.createSeleniumProxy(server);
proxy.setSslProxy("trustAllSSLCertificates");