ruby on rails - Ogórek / Kapibara - jak uzyskać host i port bieżącej realizacji

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



Muszę pobrać plik csv z mojej aplikacji przy użyciu Open :: URI i aby to zrobić, muszę dać mu w pełni kwalifikowany URI. Więc jaki jest najlepszy sposób na uzyskanie HOST i, co ważniejsze, PO ...

To jest podsumowanie po przetłumaczeniu, jeśli chcesz zobaczyć całe tłumaczenie, kliknij ikonę „przetłumacz”


Wszystkie odpowiedzi
  • 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).