Cucumber / Capybara -- how to get the host and port of the current execution

Jonathan picture Jonathan · Jul 22, 2011 · Viewed 20k times · Source

I need to download a csv file from my app using Open::URI and to do that I need to give it a fully qualified URI. So whats the best way to get the HOST and more importantly PORT in my cucumber script?

Note I am using Capybara and Selenium

Answer

Woahdae picture Woahdae · Mar 2, 2012

For 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, my use case is having clickable links in the mail generated by the integration tests.