【发布时间】:2012-02-03 10:16:59
【问题描述】:
当我加载页面时,HtmlUnit 抛出异常并导致我的测试崩溃
caps = Selenium::WebDriver::Remote::Capabilities.htmlunit(:javascript_enabled => true)
driver = Selenium::WebDriver.for(:remote, :desired_capabilities => caps)
driver.navigate.то url
ReferenceError:“x”未定义。 (net.sourceforge.htmlunit.corejs.javascript.EcmaError)
如果我使用 Firefox 驱动程序,则不会引发异常。
caps = Selenium::WebDriver::Remote::Capabilities.firefox
或者为 HtmlUnit 驱动禁用 JavaScript
caps = Selenium::WebDriver::Remote::Capabilities.htmlunit(:javascript_enabled => false)
我无法更改测试页面上的代码并修复问题,因此我需要忽略它或以任何方式使用 Firefox JavaScript 引擎而不是标准的 HtmlUnit JavaScript 引擎。
不修改测试页代码可以解决我的问题吗?
更新: 尝试将 Capybara + WebKit 作为 Selenium + HtmlUnit 的替代品 - 工作正常,没有错误。但我仍然想在不改变框架的情况下解决问题。
【问题讨论】:
-
您好,我也有同样的问题。帮助([stackoverflow.com/questions/23659340/…)[1]:stackoverflow.com/questions/23659340/…
-
解决方案基于设置final字段stackoverflow.com/questions/8745061/…
标签: javascript ruby selenium webdriver htmlunit