Je suis nouveau dans l'écriture de tests en capybara et j'ai du mal à obtenir l'URL actuelle d'une page. Je l'ai écrit comme ceci:
url = page.current_url + page.current_path
D'une manière ou d'une autre, il s'agit simplement de renvoyer l'URL de base. L'aide est très appréciée.
Essaye ça:
url = URI.parse(current_url)
de doc de session capybara :
URL complète de la page actuelle
def current_url
driver.current_url
end
Chemin de la page actuelle, sans aucune information de domaine
def current_path
URI.parse(current_url).path
end
Je pense que ce que tu fais n'est pas bien
vous pourriez utiliser have_current_path
:
expect(page).to have_current_path(new_user_path)
avant de voir que je faisais quelque chose comme:
def current_path
current_uri = URI.parse(page.current_url)
current_path = current_uri.path
current_path += "?#{current_uri.query}" if current_uri.query.present?
current_path
end