微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – Rails3:如何使用Capybara访问牛排(rspec)规范中的子域

我想从牛排规格访问user1.application.local.dev/panel/new.

我该怎么做?

解决方法

步骤1.设置本地DNS.

http://intridea.com/2010/6/2/using-bind-locally-on-os-x-for-easy-access-to-subdomains?blog=company

步骤2.使用支持子域的Capybara驱动程序.

无论是Selenium还是Akephalos都能做到这一点.

创建spec / support / custom_env并将此内容放入其中:

#Capybara.default_driver = :selenium
Capybara.default_driver = :akephalos
Capybara.app_host = 'http://davinci.testing.dev:8082'
Capybara.run_server = false
Capybara.server_port = 8082

选择你想要的水豚驱动程序,Selenium或akpehalos或任何你想要的,除了机架测试(认)

当然,请选择您选择的域名和端口.

第3步:

将config.before块添加到spec / spec_helper.rb

RSpec.configure do | config |
config.before:每个都做
Capybara.app_host =“http://davinci.testing.dev:8082
结束
结束

当然,请选择您选择的域名和端口.

第4步:

添加帮助以切换子域.

规格/接受/支持/ helpers.rb

def switch_to_subdomain(subdomain)
   Capybara.app_host = "http://#{subdomain}.davinci.testing.dev:8082"
end

当然,请选择您选择的域名和端口.

步骤5.使用规范中的帮助方法.

现在每次你想要更改子域名时:

scenario "Show school" do                        
   school = School.make!(:name=>"perico")
   switch_to_subdomain(school.name)    
   visit("/")                      
   page.has_content?("Welcome to perico")
end

原文地址:https://www.jb51.cc/ruby/264717.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐