2016-10-28 7 views
7

Capybara सेटअप के साथ का उपयोग कर क्रोम ड्राइवर के साथ Capybara दुर्घटनाग्रस्त कर रहे हैं:EOFError: फ़ाइल के अंत तक पहुँच - सभी जे एस चश्मा एक पुराने क्रोम ड्राइवर

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 
हो रही होना दिखाई देते हैं

पर मेरे जावास्क्रिप्ट परीक्षणों के सभी जब मैं उन्हें क्रोम ड्राइवर के साथ चलाता हूं।

यह अक्टू 27 पर या आसपास शुरू किया है प्रकट होता है, 2016

poltergeist के साथ चल रहा है वे ठीक काम करते हैं।

• भी जब वे दुर्घटना वे जो लटका (लेकिन बाहर निकलने नहीं करते हैं) को देखने के http://screencast.com/t/Worwl9d6Iuhr स्क्रीनशॉट उदाहरण

इन • सिर्फ अपने जावास्क्रिप्ट चश्मा (प्रभावित करने के लिए दिखाई देते हैं क्रोम के कई उदाहरण खोलने के लिए दिखाई देते हैं: js => Capybara में सच)

मेरी मशीन रीबूट हो रहा है समस्या

का समाधान नहीं • मेरा क्रोम मैक ओएस एक्स • 54.0.2840.71

पर वर्तमान में है • मुझे यकीन है कि जब सब-सब सूत्री संस्करण 71 आर मिला नहीं हूँ निश्चित रूप से ग्यारह से क्रोम आपको नहीं बताता है या ऐसा लगता है कि यह किसी प्रकार के अद्यतन इतिहास में उपलब्ध है। सार्वजनिक सूचना का कहना है कि उप-बिंदु संस्करण 54.0.2840 2016-10-12 जारी किया गया था, लेकिन यह निर्दिष्ट नहीं करता है कि उप-सब-पॉइंट संस्करण 71 जारी किया गया था जब

• मैं मास्टर पर अपने कोड दोनों पर प्रभाव पुन: उत्पन्न कर सकता हूं साथ ही, मेरे पास इस सप्ताह में क्रोम ड्राइवर के साथ इन चश्मा चलाने की एक विशिष्ट स्मृति है, इसलिए मुझे दृढ़ता से संदेह है कि क्रोम ने उप-उप-बिंदु रिलीज किया और इसे तोड़ दिया।

यदि कोई और पुष्टि कर सकता है तो मैं इसकी सराहना करता हूं। अन्यथा, अगर मुझे स्थानीय समस्या मिलती है, तो मैं यहां जवाब पोस्ट करूंगा। मैं लगता है करने के लिए एक पुराने एक -

• Capybara 2.7.1

• सेलेनियम-webdriver 2.53.0

• मैं /usr/local/bin/chromedriver पर मेरी मशीन में Chromedriver निष्पादन स्थित [यह सही एक है /Users/jason/bin/chromedriver में?]

$ which chromedriver /usr/local/bin/chromedriver

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

+0

:

उदाहरण के लिए

, मैं गहरे लाल रंग का उपयोग कर रहा हूँ 2.4.1 जब वे दुर्घटनाग्रस्त हो जाते हैं तो वे क्रोम के कई उदाहरण खोलने लगते हैं जो लटकते हैं (लेकिन बाहर निकलें नहीं) http://screencast.com/t/Worwl9d6Iuhr स्क्रीनशॉट उदाहरण –

+1

सुनिश्चित करें कि आप नवीनतम क्रोमरेड्रिवर चला रहे हैं। 2.25 अब के रूप में –

उत्तर

10

उन्नयन क्रोम 2.25 करने के लिए चालक मुद्दा

$ 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

यदि क्रोमेड्रिवर आपके द्वारा अपेक्षित संस्करण में अपग्रेड नहीं कर रहा है, तो ' होमब्रू और सभी सूत्रों के नवीनतम संस्करण को लाने के लिए ब्रू अपडेट ', फिर क्रोमड्राइवर को अपग्रेड करें' –

+0

@ निकटॉम्लिन - हाँ, मैं पागल क्रॉस-पोस्टिंग बग-शिकार पागल की तरह क्रॉस-पोस्टिंग कर रहा हूं। –

1

आशा है कि यह किसी को मदद मिलती है काढ़ा के माध्यम से ऐसा करने के लिए हल किया। मुझे हाल ही में यह त्रुटि मिली जब मैं एक विशिष्ट बंदरगाह पर कैपिबरा/पोल्टरजिस्ट का उपयोग कर रहा था (`।, तब मुझे एक विशिष्ट बंदरगाह पर एक क्रैश परीक्षण प्रक्रिया अभी भी सुन रही थी।

0

आप rbenv का उपयोग कर रहे हैं, तो आप काढ़ा का उपयोग कर chromedriver उन्नयन कर सकते हैं की तुलना में निष्पादन योग्य कॉपी:

$ 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 

धन्यवाद

संबंधित मुद्दे