2010-11-03 19 views
12

Estoy intentando ejecutar una prueba contra un servidor remoto. es decir:cómo ejecutar una prueba de Capibara independiente?

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 

pregunta es, ¿cómo se ejecuta?

Respuesta

18

Guardar

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 

a test.rb y simplemente: ruby test.rb

+1

Buena respuesta. Esto funciona como está para mí con capibara (0.4.1.2) y capybara-webkit (0.5.0) bajo Ruby 1.9.3. –

+3

Además, para ejecutar este tipo de prueba sin cabeza, use la gema 'capybara-mechanize'. Agrega 'require 'capybara/mechanize'' y' Capybara.current_driver =: mecanize' al código. –

+1

También funciona con las versiones más recientes: capybara-1.1.2 y capybara-webkit 0.11.0 –

0

Me encontraron esta cosita pepino independiente mediante el controlador de selenio hace unos días y lo consiguió en marcha y funcionando en pocos minutos:

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

Tuve que hacer algunas modificaciones:

Mi Gemfile es

source "http://rubygems.org" 

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

Y esta es mi 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) 
Cuestiones relacionadas