今天运行我的 rspec 测试,只要测试中的某个地方有“page.execute_script”调用,我就会收到以下错误。
Selenium::WebDriver::Error::JavascriptError:
waiting for evaluate.js load failed
# [remote server] file:///tmp/webdriver-profile20130807-3105-fpynb7/extensions/fxdriver@googlecode.com/components/driver_component.js:8360:in `r'
# [remote server] file:///tmp/webdriver-profile20130807-3105-fpynb7/extensions/fxdriver@googlecode.com/components/driver_component.js:392:in `fxdriver.Timer.prototype.runWhenTrue/g'
# [remote server] file:///tmp/webdriver-profile20130807-3105-fpynb7/extensions/fxdriver@googlecode.com/components/driver_component.js:386:in `fxdriver.Timer.prototype.setTimeout/<.notify'
上面路径的/resources目录(而不是components)中有一个evaluate.js文件,和其他机器上一样。
这是在 Firefox 从 22 更新到 23 后发生的。我还无法回滚以确认返回 22 确实可以解决问题,但我相信这就是所有改变。
还有其他人遇到过这个问题吗?
运行 Kubuntu 12.04、Capybara 1.1.4、selenium-webdriver gem 2.33.0
我尝试将 Capybara 更新为 2.whatever,将 selenium-webdriver 更新为 2.34.0,没有任何变化。
请您参考如下方法:
我在使用 FF 23 的 Mac OS X Lion 上也遇到了同样的问题。
但是当我将 selenium-webdriver 更新到 2.34.0 时,问题就消失了
我将gem "selenium-webdriver", "~> 2.34.0"
添加到我的 Gemfile 中。
捆绑更新 selenium-webdriver
捆绑安装
cucumber 现在可以很好地与 Selenium 配合使用。