2010-11-03 10 views
12

Ich versuche, einen Test gegen einen Remote-Server auszuführen. d. h .:Wie wird ein eigenständiger Capybara-Test durchgeführt?

require 'rubygems' 
require 'capybara' 
require 'capybara/dsl' 

Capybara.default_driver = :selenium 
Capybara.app_host = 'http://www.google.com' 


module MyCapybaraTest 
    include Capybara 

    def test_google 
    visit('/') 
    end 
end 

Frage ist, wie führen Sie es?

Antwort

18

Speicher

require 'rubygems' 
require 'capybara' 
require 'capybara/dsl' 

Capybara.run_server = false 
Capybara.current_driver = :selenium 
Capybara.app_host = 'http://www.google.com' 

module MyCapybaraTest 
    class Test 
    include Capybara::DSL 
    def test_google 
     visit('/') 
    end 
    end 
end 

t = MyCapybaraTest::Test.new 
t.test_google 

zu test.rb und einfach: ruby test.rb

+1

Gute Antwort. Dies funktioniert für mich mit Capybara (0.4.1.2) und Capybara-Webkit (0.5.0) unter Ruby 1.9.3. –

+3

Um diese Art von Test ohne Kopf durchzuführen, benutze den Edelstein "Capybara-mechanize". Fügen Sie "capybara/mechanize" und "Capybara.current_driver =: mechanize" zum Code hinzu. –

+1

Funktioniert auch mit den neuesten Versionen: Capybara-1.1.2 und Capybara-Webkit 0.11.0 –

0

fand ich dieses eigenständige Gurke Dingen der Selen-Treiber vor ein paar Tagen und bekam es und laufe in wenigen Minuten mit:

https://github.com/thuss/standalone-cucumber

Ich musste ein paar Mods machen:

Mein Gemfile ist

source "http://rubygems.org" 

group(:test) do 
    gem 'cucumber' 
    gem 'capybara' 
    gem 'rspec' 
    gem 'selenium-webdriver', '2.5.0' 
end 

Und das ist mein env.rb

begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end 
require 'capybara' 
require 'capybara/dsl' 
require 'capybara/cucumber' 
require 'selenium-webdriver' 

Capybara.default_driver = :selenium 
Capybara.app_host = 'http://something' 
World(Capybara) 
Verwandte Themen