2016-10-28 10 views
7

Kapibara korzystając z ustawień sterownika Chrome:EOFError: Osiągnięto koniec pliku - wszystko js specyfikacje są upaść Capybara ze starszym sterownikiem Chrome

spec_helper

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

I wydają się być coraz

EOFError: 
    end of file reached 

Na wszystkie z moich testów JavaScript po uruchomieniu ich ze sterownikiem chrome.

Wydaje się, że rozpoczęła się lub około 27 Paź, 2016

Biegając z poltergeist one działać prawidłowo.

• również, gdy awarii wydają się otworzyć wiele wystąpień chromu, który zawiesił się (ale nie zakończą) patrz przykład http://screencast.com/t/Worwl9d6Iuhr zrzucie

• te wydają się dotyczyć tylko moje javascript specyfikacje (JS => true w Kapibara)

• Ponowne mój komputer nie nie rozwiąże problemu

• Moje Chrome Mac OS X jest obecnie 54.0.2840.71

• nie jestem pewien, kiedy sub-sub-punkt wersja 71 dostał r od tego czasu Chrome nie mówi ani nawet nie udostępnia go w jakiejś historii aktualizacji. Informacja publiczna mówi, że subpunkt wersji 54.0.2840 został wydany 2016-10-12, ale nie określa, kiedy podpunkt sub-wersja 71 został wydany

• Mogę odtworzyć efekt zarówno na moim kodzie na master , mam też specyficzną pamięć o uruchomieniu tych specyfikacji ze sterownikiem Chrome wcześniej w tym tygodniu, więc mocno podejrzewam, że Chrome zrobił tutaj pod-punktowe zwolnienie i złamał to.

jeśli ktoś inny może potwierdzić, że byłbym wdzięczny. w przeciwnym razie, jeśli znajdę lokalny problem, opublikuję odpowiedź tutaj.

• Kapibara 2.7.1

• selen-webdriver 2.53.0

• I znajduje się plik wykonywalny Chromedriver w moim komputerze na /usr/local/bin/chromedriver [jest to słuszna - I wydaje się, że starszym w /Users/jason/bin/chromedriver?]

$ which chromedriver /usr/local/bin/chromedriver

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

+0

również po awarii zdają się otwierać wiele wystąpień chrome, które zawiesza się (ale nie wychodzi), patrz http://screencast.com/t/Worwl9d6Iuhr screenshot example –

+1

Upewnij się, że używasz najnowszej chromedriver. 2.25 od teraz –

Odpowiedz

10

Aktualizacja Chrome Sterownik do 2,25 rozwiązać problem

to zrobić poprzez wywaru

$ 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

To jest na miejscu; istnieje podobne rozwiązanie na liście dyskusyjnej [kapibara] (https://groups.google.com/forum/#!topic/ruby-capybara/YyuolCN182o) –

+0

Jeśli chromeedriver nie uaktualnia się do wersji, której się spodziewasz, spróbuj uruchomić ' napisz update', aby pobrać najnowszą wersję Homebrew i wszystkie formuły, a następnie spróbuj 'brew upgrade chromedriver' –

+0

@ NickTomlin-- Tak, to ja jestem cross-postingiem, jak szalenie polowanie na błąd maniaka polującego na błędy. –

1

nadzieję, że ktoś pomaga. Niedawno dostałem ten błąd, gdy używałem capybara/poltergeist na określonym porcie (`., Wtedy miałem rozbity proces testowy wciąż nasłuchujący na określonym porcie.

0

Jeśli używasz rbenv można uaktualnić chromedriver stosując napar niż skopiować plik wykonywalny:

na przykład używam 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 

dziękuję

Powiązane problemy