Ho un programma di test che imita il dispositivo iOS di un utente inviando blocchi di dati a un server di rotaie. Questo programma funziona bene al di fuori dei test. All'interno del test, il programma scade immediatamente poiché non riesce a trovare il server.Come posso ottenere l'hostname e la porta correnti quando si esegue Capybara con Poltergeist?
La mia configurazione, in env.rb:
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist
Capybara.server_port = 3123
Capybara.app_host = "http://0.0.0.0:3123"
All'interno del test, ho provato cose come
puts Capybara.current_session.current_host
puts Capybara.current_session.current_url
e così via, ma quelli sono tutti in bianco. Fare:
mette Capybara.current_session
produce un indirizzo di memoria, quindi so che la sessione corrente è in funzione.
Questo è con Capybara impostato in questo modo nella Gemfile:
gem 'capybara', '~> 2.0.2
Ho visto diverse domande sulla base di questo, ma le loro risposte non funzionano per me. In particolare, Capybara non sembra impostare l'host o l'url corrente come ho specificato, né è in realtà mi permette di vedere il contenuto della sessione corrente. Quindi, come posso risolvere questo problema e specificare una porta e un URL particolare?
Suppongo che tu abbia ragione, ma mi rifugio' t testato la risposta. Non sono più in questo progetto :) – mmr