Я использую Selenium Web-драйвер для перехода на страницу.Я использую HtmlUnitDriver для автономного тестирования (без графического интерфейса).Вот мой простой код:
/*
* Create web driver object
*/
WebDriver webDriver = new HtmlUnitDriver(){
//@override
protected WebClient getWebClient() {
WebClient webClient = super.getWebClient();
//webClient.getCache().setMaxSize(0);
//webClient.getOptions().setUseInsecureSSL(true); //ignore ssl certificate
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setPrintContentOnFailingStatusCode(false);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(true);
webClient.setCssErrorHandler(new SilentCssErrorHandler());
webClient.getOptions().setRedirectEnabled(true);
//webClient.getOptions().setTimeout(10000);
return webClient;
}
};
Теперь я перехожу на страницу - http://google.com
long startTime = System.currentTimeMillis();
webDriver.get("http://google.com");
long timeTaken = System.currentTimeMillis() - startTime;
System.out.println(Thread.currentThread().getName()+" Result:: Title: "+webDriver.getTitle()+" Current URL: "+webDriver.getCurrentUrl()+" Time taken(ms): "+timeTaken);
Я вижу, что время перехода к указанному выше URL составляет ~ 3 секунды
Если JavaScript отключен как webClient.getOptions().setJavaScriptEnabled(false);
, это займет около ~ 1 секунды
А также в моем браузере с включенным JavaScript, когда я перехожу к http://google.com без какого-либо предыдущего кэша, этозанимает около 1 секунды.
Теперь мой вопрос: почему включение javascript в коде требует дополнительного времени и какие изменения кода мне нужно сделать, чтобы удалить это дополнительное время, оставив javascript включенным.Это происходит и с другим сайтом.
Любая помощь будет оценена.Спасибо