ruby on rails - Cucumber / Capybara - comment obtenir l'hôte et le port de l'exécution en cours

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



Je dois télécharger un fichier csv depuis mon application en utilisant Open :: URI et pour ce faire, je dois lui donner un URI complet. Alors, quelle est la meilleure façon d'obtenir l'hôte et surtout PO ...

Ceci est le résumé après la traduction, si vous avez besoin de voir la traduction complète, veuillez cliquer sur l'icône «traduire»


Toutes les réponses
  • 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).