9

Homebrew कैस्क मैक ओएस एक्स पर कुछ ऐप लिंकिंग जादू करता है। जाहिर है, यह पर्याप्त नहीं है क्योंकि सेलेनियम वेबड्राइवर फ़ायरफ़ॉक्स निष्पादन योग्य की तलाश में नहीं है। निम्नलिखित RSpec परीक्षण से Capybara सेलेनियम ड्राइविंग परीक्षण त्रुटि से एक त्रुटि संदेश है।सेलेनियम वेबड्राइवर फ़ायरफ़ॉक्स नहीं ढूंढ सकता है जब होमब्री कैस्क

फ़ायरफ़ॉक्स निष्पादन योग्य स्थान को इंगित करने का एक अच्छा तरीका क्या है?

Failure/Error: Unable to find matching line from backtrace 
Selenium::WebDriver::Error::WebDriverError: 
    Could not find Firefox binary (os=macosx). Make sure Firefox is installed or set the path manually with Selenium::WebDriver::Firefox::Binary.path= 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/binary.rb:127:in `path' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/binary.rb:60:in `execute' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/binary.rb:34:in `start_with' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/launcher.rb:70:in `start_silent_and_wait' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/launcher.rb:35:in `block in launch' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/socket_lock.rb:20:in `locked' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/launcher.rb:32:in `launch' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/firefox/bridge.rb:24:in `initialize' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/common/driver.rb:31:in `new' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver/common/driver.rb:31:in `for' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/selenium-webdriver-2.43.0/lib/selenium/webdriver.rb:67:in `for' 
# /Users/mende/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/capybara-2.4.4/lib/capybara/selenium/driver.rb:13:in `browser' 
+0

में उपलब्ध होगा एफएफ स्थापित है? –

+0

शीर्षक के अनुसार, होमफ्रू कास्क के माध्यम से एफएफ स्थापित किया गया है। यह एक मैक ऐप के रूप में ठीक चलता है लेकिन यह निष्पादन योग्य सेलेनियम-वेबड्राइवर द्वारा खोजने योग्य नहीं है। – Sim

उत्तर

19

त्रुटि संदेश के रूप में कहते हैं: आप कस्टम एप्लिकेशन पथ के लिए Selenium::WebDriver::Firefox::Binary.path निर्दिष्ट करना होगा।

# in spec_helper.rb 
require 'selenium/webdriver' 

Selenium::WebDriver::Firefox::Binary.path = 
    "/opt/homebrew-cask/Caskroom/Firefox/latest/Firefox.app/Contents/MacOS/firefox" 

आप परीक्षण ढांचे को छूने के लिए नहीं करना चाहते हैं, तो आप इसे Binary.path की स्थापना के बिना काम करने के लिए /Applications (के लिए डिफ़ॉल्ट पथ सेलेनियम खोज) के लिए फ़ायरफ़ॉक्स स्थापित कर सकते हैं।

brew cask install --appdir="/Applications" firefox 
+0

मैं कास्क पक्ष पर एक फिक्स ढूंढ रहा था लेकिन ऐसा लगता है कि जल्द ही कोई भी जल्द ही नहीं आ रहा है इसलिए मैं इस जवाब को स्वीकार करूंगा। – Sim

+2

मैंने डिफ़ॉल्ट उत्तर में फ़ायरफ़ॉक्स को स्थापित करने के तरीके के साथ अपना उत्तर अपडेट किया (जो कि "आप जिसकी तलाश कर रहे हैं" पर एक फिक्स है)। – Markus

+0

अच्छा! इस उत्तर के लिए निहित आधार यह है कि डिफ़ॉल्ट रूप से कास्क बाइनरी '/ उपयोगकर्ता//अनुप्रयोगों' में सिम्लिंक किए जाते हैं लेकिन सेलेनियम-ड्राइवर सिस्टम-व्यापी 'अनुप्रयोगों फ़ोल्डर में देख रहा है क्योंकि यह GUI के लिए सामान्य डिफ़ॉल्ट स्थापना पथ है क्षुधा। –

4

मैंने इस निर्देशिका को विशेष रूप से सेट करने या एपडिर बदलने की आवश्यकता के बिना इस निर्देशिका को देखने के लिए सेलेनियम के लिए कोड जोड़ा है। यह सेलेनियम-वेबड्रिवर मणि 2.49+

+0

यह बढ़िया है; धन्यवाद। – Sim

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