EOFError: end of file reached -- all js specs are crashing Capybara with an older Chrome driver
EOFError: end of file reached -- all js specs are crashing Capybara with an older Chrome driver
水豚使用 Chrome 驱动程序,设置:
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
在我 Javascript 的 所有 测试中,我 运行 使用 chrome 驱动程序进行测试。
这似乎是在 2016 年 10 月 27 日左右开始的
运行 闹鬼他们工作得很好。
• 同样,当它们崩溃时,它们似乎会打开 chrome 的多个实例,这些实例会挂起(但不会退出)参见 http://screencast.com/t/Worwl9d6Iuhr 屏幕截图示例
• 这些似乎只影响我的 javascript 规格(:js => 在水豚中为真)
• 重启我的机器没有解决问题
• 我的 Chrome Mac OS X 目前在 54.0.2840.71
• 我不确定 sub-sub-point 版本 71 何时发布,因为当然 Chrome 没有告诉您,甚至似乎在某种更新历史记录中也没有它。 public 信息说 sub-point 版本 54.0.2840 发布于 2016-10-12 但它没有指定 sub-sub-point 版本 71 何时发布
• 我可以在 master 上重现我的代码的效果,同时,我对本周早些时候使用 Chrome 驱动程序 运行 调整这些规格有特定的记忆,所以我强烈怀疑Chrome在这里做了一个分分点的发布,破坏了这个。
如果其他人可以确认,我将不胜感激。否则,如果我发现本地问题,我会post在这里回答。
• 水豚 2.7.1
• selenium-webdriver 2.53.0
• 我在我的机器中找到 Chrome 驱动程序可执行文件 /usr/local/bin/chromedriver
[这是正确的 -- 我似乎在 /Users/jason/bin/chromedriver
中有一个旧版本吗?]
$ which 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
/usr/local/Cellar/chromedriver/2.25: 4 files, 10.3M, built in 7 seconds
希望这对某人有所帮助。我最近在特定端口上使用 capybara/poltergeist 时遇到此错误(`.,然后我有一个崩溃的测试进程仍在侦听特定端口。
如果您使用的是 rbenv,则可以使用 brew 升级 chromedriver,而不是复制可执行文件:
例如,我正在使用 ruby 2.4.1:
$ cp /usr/local/Cellar/chromedriver/2.30/bin/chromedriver $HOME/.rbenv/versions/2.4.1/bin/
$ chmod +x $HOME/.rbenv/versions/2.4.1/bin/chromedriver
谢谢
水豚使用 Chrome 驱动程序,设置:
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
在我 Javascript 的 所有 测试中,我 运行 使用 chrome 驱动程序进行测试。
这似乎是在 2016 年 10 月 27 日左右开始的
运行 闹鬼他们工作得很好。
• 同样,当它们崩溃时,它们似乎会打开 chrome 的多个实例,这些实例会挂起(但不会退出)参见 http://screencast.com/t/Worwl9d6Iuhr 屏幕截图示例
• 这些似乎只影响我的 javascript 规格(:js => 在水豚中为真)
• 重启我的机器没有解决问题
• 我的 Chrome Mac OS X 目前在 54.0.2840.71
• 我不确定 sub-sub-point 版本 71 何时发布,因为当然 Chrome 没有告诉您,甚至似乎在某种更新历史记录中也没有它。 public 信息说 sub-point 版本 54.0.2840 发布于 2016-10-12 但它没有指定 sub-sub-point 版本 71 何时发布
• 我可以在 master 上重现我的代码的效果,同时,我对本周早些时候使用 Chrome 驱动程序 运行 调整这些规格有特定的记忆,所以我强烈怀疑Chrome在这里做了一个分分点的发布,破坏了这个。
如果其他人可以确认,我将不胜感激。否则,如果我发现本地问题,我会post在这里回答。
• 水豚 2.7.1
• selenium-webdriver 2.53.0
• 我在我的机器中找到 Chrome 驱动程序可执行文件 /usr/local/bin/chromedriver
[这是正确的 -- 我似乎在 /Users/jason/bin/chromedriver
中有一个旧版本吗?]
$ which 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
/usr/local/Cellar/chromedriver/2.25: 4 files, 10.3M, built in 7 seconds
希望这对某人有所帮助。我最近在特定端口上使用 capybara/poltergeist 时遇到此错误(`.,然后我有一个崩溃的测试进程仍在侦听特定端口。
如果您使用的是 rbenv,则可以使用 brew 升级 chromedriver,而不是复制可执行文件:
例如,我正在使用 ruby 2.4.1:
$ cp /usr/local/Cellar/chromedriver/2.30/bin/chromedriver $HOME/.rbenv/versions/2.4.1/bin/
$ chmod +x $HOME/.rbenv/versions/2.4.1/bin/chromedriver
谢谢