2010-11-03 13 views
12

Sto provando a eseguire un test su un server remoto. Ad esempio:come eseguire un test Capybara standalone?

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 

la domanda è, come si esegue?

risposta

18

Salva

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 

al test.rb e semplicemente: ruby test.rb

+1

Buona risposta. Funziona così com'è per me con capybara (0.4.1.2) e capybara-webkit (0.5.0) sotto Ruby 1.9.3. –

+3

Inoltre, per eseguire questo tipo di test senza testa, utilizzare la gemma 'capybara-mechanize'. Aggiungi 'require 'capybara/mechanize'' e' Capybara.current_driver =: mechanize' al codice. –

+1

Funziona anche con le versioni più recenti: capybara-1.1.2 e capybara-webkit 0.11.0 –

0

ho trovato questo coso cetriolo standalone utilizzando il driver di selenio un paio di giorni fa e ce l'ha installato e funzionante in pochi minuti:

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

Ho dovuto fare alcune modifiche:

mio Gemfile è

source "http://rubygems.org" 

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

E questo è il mio 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) 
Problemi correlati