2010-11-03 64 views
12

我想对远程服务器运行测试。即:如何运行独立的水豚测试?

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 

问题是,你如何运行它?

回答

18

保存

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 

test.rb和简单:ruby test.rb

+1

很好的回答。这适用于我在水宝宝1.9.3下的水豚(0.4.1.2) 和capybara-webkit(0.5.0)。 – 2012-05-11 15:29:04

+3

此外,要运行这种无头测试,请使用'水豚 - 机械化'宝石。在代码中添加'require'capybara/mechanize''和'Capybara.current_driver =:mechanize'。 – 2012-05-11 15:40:49

+1

也适用于最新的版本:水豚-1.1.2和水豚-webkit 0.11.0 – 2012-05-11 16:30:54

0

我发现使用硒司机,前几天这个独立的黄瓜啄它拿了起来,并在几分钟内运行:

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

我不得不做几个mods:

我的Gemfile是

source "http://rubygems.org" 

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

这是我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)