我想从牛排规格中访问user1.application.local.dev/panel/new。
我该怎么做?
答案 0 :(得分:6)
步骤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都能做到这一点。
创建规范/支持/ 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
答案 1 :(得分:4)
这是一个水豚问题。在需要时设置default_host
Capybara.default_host = 'sub.domain.com'