2011-03-21 3 views

답변

3

Webrat을 사용하여 이전에 제출 한 답변을 수행하려면 다음을 수행하십시오. 당신의 오이 env.rb에 :

require 'webrat' 

Webrat.configure do |config| 
    config.mode = :mechanize 
end 

World do 
    session = Webrat::Session.new 
    session.extend(Webrat::Methods) 
    session.extend(Webrat::Matchers) 
    session.visit 'http://yoursite/yourbasepath/' 
    session 
end 

은 서로 다른 환경에서 사용으로, 더 강력한 만들려면, 당신은 할 수 있습니다 : 당신은 기계화를 사용하는 경우 있음을

ENV['CUCUMBER_HOST'] ||= 'yoursite' 
ENV['CUCUMBER_BASE_PATH'] ||= '/yourbasepath/' 

# Webrat 
require 'webrat' 

Webrat.configure do |config| 
    config.mode = :mechanize 
end 

World do 
    session = Webrat::Session.new 
    session.extend(Webrat::Methods) 
    session.extend(Webrat::Matchers) 
    session.visit('http://' + ENV['CUCUMBER_HOST'] + ENV['CUCUMBER_BASE_PATH']) 
    session 
end 

주, Webrat 것 또한 현재 호스트를 올바르게 해석하지 않으므로 리디렉션을 따르지 못합니다. 이 문제를 해결하려면 위에 session.header('Host', ENV['CUCUMBER_HOST'])을 추가하면됩니다.

방문 및 검색에 올바른 경로가 사용되고 있는지 확인하려면 경로를 사용하는 경우 ENV['CUCUMBER_BASE_PATH'] +을 paths.rb의 paths_to 메소드 시작 부분에 추가하십시오. 나는 원래 주석으로 게시 시도 스택 오버플로의 자극 UI는 나를 더 나은있어 - 사람이에서 몇 이메일을 가지고있는 경우

def path_to(page_name) 
    ENV['CUCUMBER_BASE_PATH'] + 

    case page_name 

사과를 : 그것은 다음과 같아야합니다.

+0

위대한 답변, 감사합니다! – Andrew

1

Mechanize의 경우 지정한 첫 번째 URL이 기본 URL로 간주됩니다. 예 :

이렇게하면 기본 URL을 한 번만 지정할 수 있습니다.