2016-10-28 36 views
7

水豚使用Chrome驅動程序安裝崩潰水豚:的EOFError:到達文件結尾 - 所有的JS規格與舊的鍍鉻驅動

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測試時,我用鉻驅動程序運行它們。

這似乎已經在10月27日或前後開始年,2016年

與騷靈運行,他們工作得很好。

•還當他們崩潰,他們似乎要打開的掛起(但不退出)看到http://screencast.com/t/Worwl9d6Iuhr截圖例如

•這些看起來隻影響我的JavaScript規範(鉻的多個實例:在水豚JS =>真)

•重新啓動我的機器並沒有解決問題

•我的Chrome的Mac OS X目前在54.0.2840.71

•我不知道什麼時候分次點71版了[R當然,因爲Chrome並沒有告訴你,甚至似乎在某種更新歷史中都可以使用它。公開信息稱子版本54.0.2840已於2016-10-12發佈,但未指定何時發佈子版本71的版本

•我可以在主版本上重現我的代碼另外,本週早些時候,我有一個關於使用Chrome驅動程序運行這些規格的具體記憶,所以我強烈懷疑Chrome在這裏做了一個子分發布並打破了這一點。

如果其他人可以證實我會很感激。否則,如果我發現本地問題,我會在這裏發佈答案。

•水豚2.7.1

•硒的webdriver 2.53.0

•我位於我的機器Chromedriver可執行在/usr/local/bin/chromedriver [這是正確的 - 我似乎有一老一在/Users/jason/bin/chromedriver?]

$ which chromedriver /usr/local/bin/chromedriver

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

+0

當他們崩潰時,他們似乎打開掛起的多個chrome實例(但不會退出),請參閱http://screencast.com/t/Worwl9d6Iuhr屏幕截圖示例 –

+1

請確保您正在運行最新的chromedriver。 2.25截至目前 –

回答

10

升級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 
+0

這是現貨;在[capybara郵件列表](https://groups.google.com/forum/#!topic/ruby-capybara/YyuolCN182o)上有類似的解決方案 –

+0

如果chromedriver沒有升級到您期望的版本,請嘗試運行'釀更新「來獲取最新版本的自制軟件和所有的公式,然後嘗試'釀造升級chromedriver' –

+0

@ NickTomlin--是的,我是交叉發佈像瘋狂交叉發佈尋覓瘋子。 –

1

希望這可以幫助別人。最近我在一個特定的端口上使用了水豚/ poltergeist時出現了這個錯誤(`。然後我有一個崩潰的測試過程仍在監聽特定的端口。

0

如果您正在使用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 

謝謝