HtmlUnit的稳定性和快速性

时间:2011-06-19 12:13:21

标签: selenium selenium-rc webdriver htmlunit selenium-webdriver

我正在从selenium-1升级到selenium-2并试用新的HtmlUnit驱动程序。我已经尝试了一些基本测试(打开一个页面,get_text,..),似乎

  1. 非常慢(我认为chrome / FF远程驱动程序比它快)
  2. 非常不稳定(使用HTMLUNIT和HTMLUNITWITHJS打开yahoo.com都会导致错误)
  3. 我很高兴听到你对它的印象。我希望你会发现我错了(我可以没有(1)速度但(2)稳定性至关重要)?是否有HtmlUnit与selenium驱动程序的速度比较?

2 个答案:

答案 0 :(得分:7)

根据我的经验,HtmlUnit比Firefox快得多,明显快于chrome(这是使用selenium 2.0rc2的最快的完整浏览器)。 HtmlUnit不需要下载外部资源,如果你在没有BrowserVersion的情况下使用它,那么默认情况下会禁用javascript:

WebDriver driver = new HtmlUnitDriver();

但是如果你传入浏览器版本然后启用它,但运行速度较慢,因为它会下载javascript文件:

WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);

话虽如此,javascript并不符合真正的浏览器。谷歌和雅虎的主页无法正常运作。现代浏览器容忍某些javascript错误(漏洞利用/攻击),而HtmlUnit则不然。

我通常在不需要大量javascript的页面/流上使用HtmlUnitDriver,我只需要验证页面上存在的元素/数据(不是动态加载的)。

答案 1 :(得分:1)

你也可以按如下方式启用javascript。

((HtmlUnitDriver)驱动程序).setJavascriptEnabled(true);