1

我正在尝试设置 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();

任何人都可以填写我需要从这里去哪里吗?或者指出我正确的方向?

4

1 回答 1

2

为其他偶然发现此问题的人弄清楚。问题是我正在处理的网站使用 ssl。所以我需要将 selenium 代理配置的 SSLProxy 设置为“trustAllSSLCertificates”。所以现在我把它作为我的 browsermob 代理配置:

server = new BrowserMobProxyServer();
server.start(0);
Proxy proxy = ClientUtil.createSeleniumProxy(server);
proxy.setSslProxy("trustAllSSLCertificates");
于 2015-07-10T12:27:33.820 回答