Ho aggiunto alcune finestre di dialogo di conferma per la mia applicazione Rails 3.1 e, prima ancora, i test corrispondenti. Seguendo il modello di Railscast #257, ho aggiunto ": js => true" al test, aggiunto database_cleaner e modificato il file spec_helper.rb di conseguenza.Errore di accesso durante il test con Capybara, Rspec e selenio in Rails 3.1
Quando eseguo il test, Firefox viene avviato, Capybara-Selenium compila nei campi il nome utente e la password appropriati, ma il log-in non riesce (ad esempio, "nome utente/password non validi".) Altri test che non hanno ': js => true' e inoltre accedi, continua a passare.
vorrei aggiungere più javascript per la mia applicazione in futuro e sto evitando soluzioni che hackerare Capybara per ottenere questo al lavoro (ad esempio, fare clic su 'OK' su tutte le finestre di dialogo.)
Tutte le idee che Potrei essere disperso? Non riescono, qualche suggerimento su come eseguire il debug di questo problema?
Grazie.
Grazie per la risposta. Ho avuto fixture transazionali disabilitate nel mio spec_helper.rb e non ha funzionato. Ma farlo con il test specifico ha funzionato! Mi ha registrato e non ha superato il test quando ha fatto clic sul pulsante. Ma è apparso il dialogo di conferma, ora ho solo bisogno di capire come fare clic attraverso il test di integrazione. Grazie ancora! – JHo
se è una finestra di dialogo delle rotaie comuni puoi provare: page.driver.browser.switch_to.alert.accept –
Cosa succede se sto usando mongoid? non posso impostare use_transactional_fixtures = false –