2012-12-02 3 views
5

Ich bin mit Capybara mit Selen in Ruby (nicht innerhalb eines Test-Framework.)Capybara Anschluss Refused

Wenn ich eine rubin Konsole öffnen und das Verfahren laufen, es funktioniert, aber wenn ich dann die gleiche Methode laufen wieder ich Erhalte diesen Fehler.

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>' 

Der Code ist wie folgt aus:

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

Wenn Sie 'reload!' Eingeben, nachdem dieser Fehler auftritt, funktioniert es wieder? Wenn ja, versuchen Sie, 'page.driver.browser.close' und' Capybara.reset_sessions' zu entfernen! ' – CharlesJHardy

+0

Was ist, wenn Sie ohne die Zeile' Capybara.app_host = "http://example.com" 'versuchen? AFAIK, Selenium verwendet Host '127.0.0.1'. – etagwerker

Antwort

2

Könnten Sie nach ein paar Standardzeit eingestellt versucht.

Capybara.default_wait_time = 10 

Geben Sie einfach diesen Kommentar nach dem aktuellen Treiber. Es kann Ihnen helfen, das Problem zu überwinden.

+0

Dies sollte als Antwort @Ross markiert werden? – zrl3dx