Подтвердить что ты не робот

Cucumber/Capybara - как получить хост и порт текущего исполнения

Мне нужно загрузить csv файл из моего приложения, используя Open:: URI, и для этого мне нужно предоставить ему полный URI. Так что лучший способ получить HOST и, что еще важнее, PORT в моем огурце script?

Примечание. Я использую Capybara и Selenium

4b9b3361

Ответ 1

Вы можете установить порт, который будет использоваться для создания сервера приложений

Capybara.server_port = 31337

Ответ 2

Для capybara < 2.0:

Capybara.current_session.driver.rack_server.host
Capybara.current_session.driver.rack_server.port

Capybara 2.0:

Capybara.current_session.server.host
Capybara.current_session.server.port

FYI, мой прецедент имеет кликабельные ссылки в почте, сгенерированной интеграционными тестами.

Ответ 3

Вы можете использовать current_host, но я не знаю, содержит ли он порт. В качестве альтернативы вы можете использовать current_url и разбить путь (и, возможно, строку запроса).