Ответ 1
Capybara использует RackTest в качестве драйвера по умолчанию, и этот драйвер не позволяет посещать внешние URL-адреса (т.е. тестировать удаленные приложения).
Если вы хотите посетить внешние URL-адреса (чтобы проверить, например, что ваше приложение перенаправляет правильно), у вас есть в основном два варианта:
1/Используйте другой драйвер, например, selenium:
before do
Capybara.current_driver = :selenium
end
Затем в коде вы можете вызвать url так:
visit 'http://en.wikipedia.org/wiki/Baltimore_Ravens'
Или, если вы установили app_host по умолчанию так:
Capybara.app_host = 'http://en.wikipedia.org'
Capybara.run_server = false # don't start Rack
Затем вы можете вызвать URL:
visit '/wiki/Baltimore_Ravens'
Вы можете настроить хост драйвера и приложения в свой spec_helper.rb, чтобы включить их в глобальном масштабе по всем вашим спецификациям:
Capybara.configure do |config|
config.current_driver = :selenium
config.run_server = false
config.app_host = 'http://en.wikipedia.org'
end
2/Используйте capybara-mechanize