【问题标题】:ERR_EMPTY_RESPONSE in Chrome when use BrowserMobProxy for selenium test使用 BrowserMobProxy 进行硒测试时,Chrome 中的 ERR_EMPTY_RESPONSE
【发布时间】:2017-08-18 16:10:05
【问题描述】:

我已经创建了从 Chrome 获取网络流量的简单方法:

 public void saveNetworkTraffic() {
    System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "/bin/chromedriver");
    String sFileName = "networklog.xar";

    BrowserMobProxy proxy = new BrowserMobProxyServer();
    proxy.start(0);

    Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxy);

    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(CapabilityType.PROXY, seleniumProxy);

    WebDriver driver = new ChromeDriver(capabilities);
    WebDriverRunner.setWebDriver(driver);

    proxy.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT);

    proxy.newHar("google.com");

    driver.get("http://google.com/");
    Har har = proxy.getHar();

    File harFile = new File(sFileName);
    try {
        har.writeTo(harFile);
    } catch (IOException ex) {
        System.out.println(ex.toString());
        System.out.println("Could not find file " + sFileName);
    }
}

浏览器打开页面时显示错误“ERR_EMPTY_RESPONSE” 在这一步 driver.get("http://google.com/") 而不是 Chrome 中通常的谷歌页面。 我试图找出错误的原因,但根据https://github.com/lightbody/browsermob-proxy#using-with-selenium,我的代码应该可以正常工作。

【问题讨论】:

  • 也可以试试 https。我假设代理没有与浏览器相关联
  • 与 https 的行为相同。
  • 完全相同的问题,ie 和 firefox 也是如此
  • 有人找到解决方案吗?

标签: selenium selenium-webdriver selenium-chromedriver browsermob


【解决方案1】:

添加这段代码,试试看:

proxy.addFirstHttpFilterFactory(new ResponseFilterAdapter.FilterSource(new ResponseFilter() {
            @Override
            public void filterResponse(HttpResponse response, HttpMessageContents contents, HttpMessageInfo messageInfo) {}}, Integer.MAX_VALUE));

【讨论】:

  • 欢迎来到 StackOverflow!请看一下how to format your code等,避免将图像作为代码
  • 这个答案对我有用。可能应该接受答案。为什么需要这个?
【解决方案2】:

您的代码看起来不错,尝试调整依赖项,例如:

        <dependency>
            <groupId>net.lightbody.bmp</groupId>
            <artifactId>browsermob-core</artifactId>
            <version>2.1.5</version>
        </dependency>

【讨论】:

    猜你喜欢
    • 2016-11-07
    • 2010-10-19
    • 2020-05-16
    • 1970-01-01
    • 2017-08-14
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多