J'intègre capybara à un projet. En première instance, je voulais juste vérifier ce qui affiche la page de connexion, donc je fait ce code:RoutingError sur capybara avec rubycas
require 'acceptance/acceptance_helper'
feature 'Login' do
scenario 'sign in with right credentials' do
visit '/'
save_and_open_page
end
end
Mais quand je lance le test, il me montre:
Failure/Error: visit '/'
ActionController::RoutingError:
No route matches "/login"
# ./spec/acceptance/login_spec.rb:6
Si j'entre à l'application sans une session valide, il me redirige (code 302) vers un serveur Rubycas pour me connecter (qui a le contexte/login au démarrage) et après cela, il me redirige à mon serveur. Que dois-je faire pour afficher simplement la page de connexion ou comment gérer les références de redirection dans capybara?
Mais '/ login' est pas une voie valable sur ma demande, est une route du système d'authentification (rubycas-sever) qui se trouve dans une autre application et adresse. Par exemple, si j'entre dans mon application (http: // localhost: 3000) et que je n'ai pas de session, elle me redirige instantanément vers le serveur d'authentification (http: //www.authserver.com/login? .) Voici donc la page de connexion et après me connecter, elle me redirige vers localhost. Pourquoi ajouter '/ login' comme route valide sur mon application? –
quelque chose que vous assurez est que, capybara ne remplit pas les champs ne font pas partie de celui-ci, par exemple, vous visitez une page facebook à distance et tapez remplir alors il ne fonctionnera pas. vous devez exécuter des cas de test sur l'hôte local au lieu d'autres sites Web. –