Насколько стабильным и быстрым является HtmlUnit? - PullRequest
7 голосов
/ 19 июня 2011

Я обновляю селен-1 до селен-2 и пробую новый драйвер HtmlUnit.Я попробовал несколько базовых тестов (откройте страницу, get_text, ..), и кажется,

  1. Очень медленно (я думаю, что удаленные драйверы Chrome / FF быстрее, чем он)
  2. Чрезвычайно нестабильный (открытие yahoo.com с использованием HTMLUNIT и HTMLUNITWITHJS приводило к ошибкам) ​​

Я был бы очень рад услышать ваше впечатление об этом.Я надеюсь, вы поймете, что я не прав (я могу жить без (1) скорости, но (2) стабильность важна)?Есть ли сравнение скорости HtmlUnit против драйверов селена?

Ответы [ 2 ]

7 голосов
/ 21 июня 2011

По моему опыту, HtmlUnit намного быстрее, чем Firefox, заметно быстрее, чем Chrome (это самый быстрый полнофункциональный браузер с селеном 2.0rc2). HtmlUnit не нужно загружать внешние ресурсы, и если вы используете его без BrowserVersion, тогда javascript по умолчанию отключен:

WebDriver driver = new HtmlUnitDriver();

Но если вы передадите версию браузера, она будет включена, но будет работать медленнее, поскольку она загрузит файлы javascript:

WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);

При этом javascript не на высоте реальных браузеров. Домашняя страница Google и Yahoo не работает должным образом. Современные браузеры допускают определенные ошибки JavaScript (эксплойты / хаки), а HtmlUnit - нет.

Я обычно использую HtmlUnitDriver на страницах / потоках, которые не требуют тяжелого JavaScript, и мне просто нужно проверить элементы / данные, существующие на страницах (которые не загружаются динамически).

1 голос
/ 03 июля 2012

Вы также можете включить JavaScript следующим образом.

((HtmlUnitDriver) драйвер) .setJavascriptEnabled (true);

...