加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

gwt – HtmlUnitDriver的可靠性如何?

发布时间:2020-12-14 16:35:58 所属栏目:资源 来源:网络整理
导读:显然,问题的答案取决于许多环境因素. 总的来说,我想知道人们的经验是什么, HtmlUnitDriver 作为一个可靠的工具,可以“信任”导航网站基本上与其他浏览器一样. 当然,我意识到“其他浏览器的做法”非常模糊;自然每个浏览器都会有它的怪癖.但我正处于一个项目中
显然,问题的答案取决于许多环境因素.

总的来说,我想知道人们的经验是什么,HtmlUnitDriver作为一个可靠的工具,可以“信任”导航网站基本上与其他浏览器一样.

当然,我意识到“其他浏览器的做法”非常模糊;自然每个浏览器都会有它的怪癖.但我正处于一个项目中,我们有数百个验收测试场景(编写于JBehave)并使用FirefoxDriverInternetExplorerDriver,所有这些都需要两个多小时,从持续集成的角度来看,这是一种粗略的.所以我想知道我们是否至少可以将接受测试转换为使用HtmlUnitDriver,并期望更快的时间与大多数相同的行为(也许我们可以期待少数测试失败使用HtmlUnitDriver并专门运行这些测试使用基于浏览器的驱动程序).

我们的UI使用GWT,这可能会或可能不会使事情复杂化(我不知道).

基本上,在其他人的经验中,HtmlUnitDriver是否与其他浏览器一样运行,或者它是否真的只适用于使用最少JavaScript的非常简单的HTML网站,不应该用于企业Web应用程序?

解决方法

根据我使用HtmlUnitDriver的经验,我会说如果你在编写测试时不使用它作为基线浏览器,那么将它们转换为使用它会变得有点噩梦.当涉及到javascript繁重的网站时尤其如此.

主要原因是htmlunit的明显底层使用,默认情况下使用Rhino javascript引擎.在过去,我总是必须指定HtmlUnitDriver使用Firefox的javascript引擎启动htmlunit.在大多数情况下,这解决了我在使用HtmlUnitDriver运行测试时发现的javascript问题.

在为每个浏览器使用相同的测试代码时,我遇到的最大问题之一是,在测试的网站上,UI开发人员已将javascript事件(如onClick())分配给html元素,例如< span> .

这样做的原因是,如果你在表示< span>的WebElement上使用WebDriver的.click()方法,那么htmlunit将不会做任何事情(它希望在诸如<的元素上调用onClick().输入&GT).
为了解决这个问题,我不得不在javascript中手动调用click()事件.您可以使用WebDriver的JavascriptExecutor或使用WebDriverBackedSelenium和Selenium的.fireEvent()方法来完成此操作.

因此,如果您的网站使用此类事件,那么我会说切换到使用HtmlUnitDriver可能是一项艰巨的任务.

尽管如此,我实际上使用HtmlUnitDriver进行所有测试.但是,我经历了一段时间后发现上述所有内容的痛苦,所以现在在编写测试时使用HtmlUnitDriver作为我的基线浏览器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读