HtmlUnit禁止外部请求

时间:2012-12-20 18:16:16

标签: htmlunit

我使用HtmlUnit进行自己的网站测试。 我的网站使用gmaps api - 并且需要花费大量时间来发送外部网站的请求(我有几百个测试和几千个页面加载)。

我需要一些方法告诉HtmlUnit只加载本地页面(存储在IIS express中),然后加载外部资源以便我的测试运行得更快。

1 个答案:

答案 0 :(得分:5)

您可以阻止HTMLUnit使用WebConnectionWrapper

访问某些网址
browser.setWebConnection(new WebConnectionWrapper(browser) {
  @Override
  public WebResponse getResponse(final WebRequest request) throws IOException {
    if (<<CONDITION HERE(such as `request.getUrl().toString().contains("uq.edu.au")`)>>) {
      return super.getResponse(request);
    } else {
      return new StringWebResponse("", request.getUrl());
    }
  }
});

除非您需要测试它们,否则您可能需要考虑禁用JavaScript和CSS之类的项目,我发现它也可以加快速度。