2013-02-08 89 views
1

與許多人一樣,我使用HtmlUnit來爲用戶測試我的應用程序。我的大多數網頁都包含谷歌分析,KISSmetrics等javascript,我想停止加載HtmlUnit,以便測試不會花費時間從Internet上多次加載腳本。停止HtmlUnit加載外部JavaScript/CSS的測試性能?

有沒有辦法阻止HtmlUnit加載這些腳本?

謝謝!

回答

1

通過實施您自己的 ScriptPreProcessor,您可能會禁止執行separae javasript。我還沒有嘗試過,但它是一種很有前途的方法。 您可以通過它檢測您不想執行的jsvascript並將它從網站中刪除的方式來實現您的ScriptPreProcessor。

+0

從我可以告訴,它仍然加載遠程JavaScript - 你只是有一個變化修改或使用ScriptPreProcessor遠程腳本返回不同的內容,但你可以」先停止HtmlUnit加載它。還是)感謝你的建議! – 2013-02-21 12:35:51

1

你可以這樣做:

WebClient client=new WebClient(); 
new FalsifyingWebConnection(client) 
{ 
    @Override 
    public WebResponse getResponse(WebRequest settings) throws IOException 
    { 
     if (settings.getUrl().toExternalForm().startsWith("http://analytics.google.com")) 
     { 
      return createWebResponse(settings, "", "text/javascript"); 
     } 
     return super.getResponse(settings); 
    } 
};