2

我使用 HtmlUnit 对我的站点进行自动化测试。我的站点使用 gmaps api - 发送外部站点请求需要花费大量时间(我有数百个测试和数千个页面加载)。

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

4

1 回答 1

6

您可以阻止 HTMLUnit 使用 as 访问某些 URL 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 等项目,我发现这也可以加快速度。

于 2013-01-09T02:49:08.303 回答