HtmlUnit的稳定性和快速性

Guy*_*Guy 7 selenium webdriver selenium-rc htmlunit selenium-webdriver

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

  1. 非常慢(我认为chrome/FF远程驱动程序比它快)
  2. 非常不稳定(使用HTMLUNIT和HTMLUNITWITHJS打开yahoo.com都会导致错误)

我很高兴听到你对它的印象.我希望你会发现我错了(我可以没有(1)速度但(2)稳定性至关重要)?是否有HtmlUnit与selenium驱动程序的速度比较?

luk*_*eis 7

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

WebDriver driver = new HtmlUnitDriver();
Run Code Online (Sandbox Code Playgroud)

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

WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);
Run Code Online (Sandbox Code Playgroud)

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

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