相关疑难解决方法(0)

使用WebDriver时是否可以忽略JavaScript异常(HtmlUnit,Ruby绑定)

当我加载页面时,HtmlUnit抛出异常并导致我的测试崩溃

caps = Selenium::WebDriver::Remote::Capabilities.htmlunit(:javascript_enabled => true)
driver = Selenium::WebDriver.for(:remote, :desired_capabilities => caps)
driver.navigate.?? url
Run Code Online (Sandbox Code Playgroud)

ReferenceError:未定义"x".(net.sourceforge.htmlunit.corejs.javascript.EcmaError)

如果我使用Firefox驱动程序,则不会抛出异常.

caps = Selenium::WebDriver::Remote::Capabilities.firefox
Run Code Online (Sandbox Code Playgroud)

或者为HtmlUnit驱动程序禁用JavaScript

caps = Selenium::WebDriver::Remote::Capabilities.htmlunit(:javascript_enabled => false)
Run Code Online (Sandbox Code Playgroud)

我无法更改测试页面上的代码并解决问题,因此我需要忽略它或以任何方式使用Firefox JavaScript Engine而不是标准的HtmlUnit JavaScript引擎.

是否可以在不更改测试页代码的情况下解决我的问题?

更新: 尝试Capybara + WebKit作为Selenium + HtmlUnit的替代品 - 工作正常,没有错误.但我还是想在不改变框架的情况下解决问题.

javascript ruby selenium webdriver htmlunit

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

htmlunit ×1

javascript ×1

ruby ×1

selenium ×1

webdriver ×1