0

设置 Http 代理时,我无法使用 Browsermob 代理获取网络日志,它只会创建一个 har 文件,但我看不到文件中的任何日志

以下是我的代码:-

String strFilePath = "./PerformanceLogs/PerformanceLogs.har";
            String noProxy = "localhost, 127.0.0.1";

        LegacyProxyServer server = new BrowserMobProxyServer();
        server.start();
        server.setCaptureHeaders(true);
        server.setCaptureContent(true);
        Proxy proxy = server.seleniumProxy().setHttpProxy(PROXY)
                .setFtpProxy(PROXY)
                .setSslProxy(PROXY)
                .setNoProxy(noProxy);

         DesiredCapabilities capabilities = DesiredCapabilities.firefox();
         capabilities.setCapability(CapabilityType.PROXY, proxy);

         WebDriver driver = new FirefoxDriver(capabilities);

        server.newHar("NetworkLogs");
        driver.navigate().to("https://url-");

        driver.findElements(xpath="").click();

        pMonitor = new Prism_Selenium_Monitor_Tab(driver);
        pMonitor.prism_monitor_credentialDeploy(URL,excelfile[0], excelfile[4]);

        Har har = server.getHar();
        File harFile = new File(strFilePath);
        har.writeTo(harFile);
        server.stop();

有人可以取悦我吗?提前致谢

4

1 回答 1

0
  1. 出于某种原因,您正在启动 LegacyProxy,请尝试启动 BrowserMobProxyServer,即

    BrowserMobProxyServer 服务器 = new BrowserMobProxyServer();

  2. 默认代理类型为HTTP,即尝试删除这部分:

    .setNoProxy(noProxy);

  3. 这实际上不应该是一个问题,但在默认情况下没有必要命名你的 HAR,即此代码是多余的:

    server.newHar("NetworkLogs");

你可能只是:

server.newHar();

于 2016-05-14T13:07:02.023 回答