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

Solution 1:

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.

Solution 2:

You can set port that will be used to spawn an application server

Capybara.server_port = 31337