29 votes

Cucumber / Capybara -- Comment obtenir l'hôte et le port de l'exécution en cours ?

J'ai besoin de télécharger un fichier csv à partir de mon application en utilisant Open::URI et pour ce faire, je dois lui donner un URI entièrement qualifié. Alors, quelle est la meilleure façon d'obtenir le HOST et surtout le PORT dans mon script de Cucumber ?

Note : J'utilise Capybara et Selenium.

44voto

woahdae Points 1973

Pour le 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

Pour information, mon cas d'utilisation est d'avoir des liens cliquables dans le courrier généré par les tests d'intégration.

23voto

iafonov Points 3270

Vous pouvez définir le port qui sera utilisé pour lancer un serveur d'application.

Capybara.server_port = 31337

0voto

moritz Points 9491

Vous pouvez utiliser current_host mais je ne sais pas s'il contient le port. Vous pouvez également utiliser current_url et supprimer le chemin (et éventuellement la chaîne de requête).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X