如何检查黄瓜和黄瓜的正确子域名rspec的

时间:2012-04-25 07:19:25

标签: ruby-on-rails rspec cucumber

目前,我需要测试以下情况。

  • 如果我用学校名称填写文本字段。
  • 然后它应该转到那个子域名url

EG。如果我把xyz college放在文本字段中那么它应该是xz.lvh.me:3000 xyz college的短名称是xz,存储在数据库中。

homepage.feature       特色:主页         需要检查大学领域

  Scenario Outline: Fill up universities
    When i fillup university name "<name>"
    Then it should go to their login page "<subdomain>"

  Examples:
    | name |   subdomain |
    | sp College  |  sp  |  

homepage.rb

When /^i fillup university name "([^"]*)"$/ do |name|
  visit @@url
  choose('institution_category_school')
  fill_in "search_institution_name", :with => name
  click_button "Go"
end

Then /^it should go to their login page "([^"]*)"$/ do |subdomain|
  #so i need to check that produced url == "#{subdomain}.lvh.me:3000/"
end

以下是我的配置文件。 支撑/ env.rb

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

Capybara.run_server = false
Capybara.default_driver = :selenium
Capybara.default_selector = :css

module Helpers
  def without_resynchronize
    page.driver.options[:resynchronize] = false
    yield
    page.driver.options[:resynchronize] = true
  end
end

World(Capybara::DSL, Helpers)

@@url= "http://lvh.me:3000/"

使用Rails 3.1.1,黄瓜1.1.4,rspec 2.8.0

1 个答案:

答案 0 :(得分:1)

使用Capybara,您可以使用以下方式获取浏览器的当前网址:

current_url

然后你可以使用正常的rspec断言:

current_url.should == "#{subdomain}.lvh.me:3000/"
相关问题