ruby on rails - Cucumber / Capybara - wie man den Host und den Port der aktuellen Ausführung erhält

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



Ich muss eine CSV-Datei mit Open :: URI von meiner App herunterladen und dazu muss ich ihr eine vollqualifizierte URI geben. Also, was ist der beste Weg, um den Host und vor allem PO zu bekommen ...

Dies ist die Zusammenfassung nach der Übersetzung. Wenn Sie die vollständige Übersetzung anzeigen möchten, klicken Sie auf das Symbol "Übersetzen"


Alle Antworten
  • 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).