停止HtmlUnit加载外部Javascript / CSS以获得测试性能?

时间:2013-02-08 21:58:07

标签: java testing integration-testing htmlunit

像许多人一样,我使用HtmlUnit为我的应用程序进行用户测试。我的大多数网页都包含谷歌分析,KISSmetrics等javascript,我想阻止HtmlUnit加载,以便测试不会花时间从互联网上多次加载脚本。

有没有办法阻止HtmlUnit加载这些脚本?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以通过实现自己来禁止执行separae javasript ScriptPreProcessor。我还没有尝试过,但接缝是一种很有前途的方法。 你可以像检测到你不想执行的jsvascript一样实现ScriptPreProcessor,而不是从网站上删除它。

答案 1 :(得分: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);
    }
};