ruby on rails - Краставица / Capybara - как да получите хоста и пристанището на текущото изпълнение

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. И така, какъв е най-добрият начин да получите HOST и по-важното PO ...

Това е резюмето след превода, ако трябва да видите пълния превод, моля, щракнете върху иконата „превод“


Всички отговори
  • 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).