2012-12-02 10 views
5

मैं रूबी में सेलेनियम के साथ Capybara उपयोग कर रहा हूँ (एक परीक्षण ढांचे के भीतर नहीं।)Capybara कनेक्शन

इनकार कर दिया अगर मैं एक गहरे लाल रंग का कंसोल खोलें तथा विधि चलाते हैं, यह काम करता है, लेकिन अगर मैं उसके बाद फिर से एक ही विधि चलाने मैं यह त्रुटि प्राप्त करें।

Errno::ECONNREFUSED: Connection refused - connect(2) 
from /home/ross/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/net/http.rb:762:in `initialize' 
from /home/ross/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/net/http.rb:762:in `open' 
from /home/ross/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/net/http.rb:762:in `block in connect' 
from /home/ross/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/timeout.rb:54:in `timeout' 
from /home/ross/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/timeout.rb:99:in `timeout' 
from /home/ross/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/net/http.rb:762:in `connect' 
from /home/ross/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/net/http.rb:755:in `do_start' 
from /home/ross/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/net/http.rb:744:in `start' 
from /home/ross/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/net/http.rb:1284:in `request' 
from /home/ross/.rvm/gems/ruby-1.9.3-p327/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/remote/http/default.rb:83:in `response_for' 
from /home/ross/.rvm/gems/ruby-1.9.3-p327/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/remote/http/default.rb:39:in `request' 
from /home/ross/.rvm/gems/ruby-1.9.3-p327/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call' 
from /home/ross/.rvm/gems/ruby-1.9.3-p327/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/remote/bridge.rb:598:in `raw_execute' 
from /home/ross/.rvm/gems/ruby-1.9.3-p327/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/remote/bridge.rb:576:in `execute' 
from /home/ross/.rvm/gems/ruby-1.9.3-p327/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/remote/bridge.rb:99:in `get' 
from /home/ross/.rvm/gems/ruby-1.9.3-p327/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/common/navigation.rb:14:in `to' 
from /home/ross/.rvm/gems/ruby-1.9.3-p327/gems/capybara-2.0.1/lib/capybara/selenium/driver.rb:34:in `visit' 
from /home/ross/.rvm/gems/ruby-1.9.3-p327/gems/capybara-2.0.1/lib/capybara/session.rb:180:in `visit' 
from /home/ross/.rvm/gems/ruby-1.9.3-p327/gems/capybara-2.0.1/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>' 

कोड निम्नलिखित की तरह है:

class ExampleClass 
    include Capybara::DSL 

    def do_capybara 

    Capybara.app_host = "http://example.com" 
    Capybara.run_server = false 
    Capybara.current_driver = :selenium 

    visit '/' 

    page.driver.browser.close 

    Capybara.reset_sessions! 
    end 
+0

यदि आप इस त्रुटि को प्राप्त करने के बाद 'पुनः लोड करें' टाइप करते हैं तो यह फिर से काम करता है? यदि ऐसा है तो शायद 'page.driver.browser.close' और' Capybara.reset_sessions! ' – CharlesJHardy

+0

को हटाने का प्रयास करें यदि आप' Capybara.app_host = "http://example.com" लाइन के बिना प्रयास करते हैं तो क्या होगा? AFAIK, सेलेनियम मेजबान '127.0.0.1' का उपयोग करता है। – etagwerker

उत्तर

2

आप के बाद कुछ डिफ़ॉल्ट समय निर्धारित की कोशिश की जा सकी।

Capybara.default_wait_time = 10 

वर्तमान ड्राइवर को सेट करने के बाद बस यह टिप्पणी दें। यह आपको इस मुद्दे से उबरने में मदद कर सकता है।

+0

इसे उत्तर के रूप में चिह्नित किया जाना चाहिए, @Ross? – zrl3dx

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

  • कोई संबंधित समस्या नहीं^_^