2012-12-20 145 views
2

我使用HtmlUnit對我的網站進行自動測試。 我的網站使用gmaps API - 並且它需要很多時間來發送外部網站的請求(我有幾百個測試和幾千頁的頁面加載)。HtmlUnit禁止外部請求

我需要一些方法來告訴HtmlUnit只加載本地頁面(存儲在IIS Express中),並且加載外部資源以使我的測試更快地運行。

回答

4

可以防止的HtmlUnit訪問使用特定的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的項目,我覺得這也加速起來。