ruby on rails - Огурец / Капибара - как получить хост и порт текущего исполнения

original title: "ruby on rails - Cucumber / Capybara -- how to get the host and port of the current execution"


Translate

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



Мне нужно скачать CSV-файл из моего приложения, используя Open :: URI, и для этого мне нужно дать ему полный идентификатор URI. Так что лучший способ получить Хост и, что более важно, ПО ...

Это резюме после перевода, если вам нужно просмотреть полный перевод, нажмите значок «перевести»


Все ответы
  • Translate

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

    Capybara.server_port = 31337
    

  • Translate

    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.


  • Translate

    You can use current_host but I don't know if it contains the port. Alternatively you can use current_url and strip the path (and possibly the query string).