ruby-on-rails – EOFError:文件结束 – 所有js规格都在使用较旧的Chrome驱动程序崩溃Capybara

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – EOFError:文件结束 – 所有js规格都在使用较旧的Chrome驱动程序崩溃Capybara前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用Chrome驱动程序的Capybara设置:

spec_helper

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app,:browser => :chrome)
end
Capybara.javascript_driver = :chrome

我似乎越来越好

EOFError:
   end of file reached

在我使用chrome驱动程序运行它们的所有Javascript测试中.

这似乎是在2016年10月27日左右开始的

与恶作剧一起运行他们工作正常.

•当他们崩溃时,他们似乎打开多个挂起(但不退出)的chrome实例,请参阅http://screencast.com/t/Worwl9d6Iuhr截图示例

•这些似乎只影响我的javascript规范(:js =>在Capybara中为true)

•重新启动我的机器无法解决问题

•我的Chrome Mac OS X目前为54.0.2840.71

•我不确定子点子版本71何时发布,因为Chrome当然没有告诉您,或者甚至似乎在某种更新历史记录中提供它.公共信息称子点版本54.0.2840于2016-10-12发布,但未指定何时发布子点版本71

•我可以重现我在master上的代码效果,同样,我有一个特定的内存,在本周早些时候使用Chrome驱动程序运行这些规范,所以我强烈怀疑Chrome在这里发布了一个子点发布,打破了这个.

如果有其他人可以确认我会很感激.否则,如果我发现当地问题,我会在这里发布答案.

•Capybara 2.7.1

•selenium-webdriver 2.53.0

•我将Chromedriver可执行文件放在我的机器中/usr/local / bin / chromedriver [这是正确的 – 我似乎在/ Users / jason / bin / chromedriver中有一个较旧的?]

$chromedriver
在/usr/local / bin目录/ chromedriver

$/usr/local / bin / chromedriver -v
ChromeDriver 2.20.353124(035346203162d32c80f1dce587c8154a1efa0c3b)

解决方法

将Chrome驱动程序升级到2.25解决了这个问题

通过brew来做到这一点

$brew unlink chromedriver
Unlinking /usr/local/Cellar/chromedriver/2.20... 1 symlinks removed
$brew install chromedriver
==> Using the sandBox
==> Downloading https://chromedriver.storage.googleapis.com/2.25/chromedriver_mac6
######################################################################## 100.0%
==> Caveats
To have launchd start chromedriver now and restart at login:
  brew services start chromedriver
Or,if you don't want/need a background service you can just run:
  chromedriver
==> Summary

猜你在找的Ruby相关文章