当我加载页面时,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的替代品 - 工作正常,没有错误.但我还是想在不改变框架的情况下解决问题.