Quindi quando eseguo i miei test individualmente, funzionano alla grande. Tuttavia, quando eseguo la mia funzione (test multipli) il mio codice non funziona.
Questo perché quando capybara esiste, non tutte le finestre si stanno chiudendo e quindi i miei driver di selenio non sanno quale finestra usare.Puoi chiudere tutte le finestre aperte in capybara?
Fondamentalmente, ciò che sta accadendo è che il mio test sta aprendo più finestre. Questo sta accadendo perché i miei test fanno clic sui collegamenti che aprono nuove finestre e controllano il contenuto nelle nuove finestre. Anche se sto dicendo page.quit
alla fine di ogni test, questa funzione non sta chiudendo tutte le finestre aperte (chiude la finestra attiva ma non la finestra originale). Quando viene eseguito il secondo test, utilizza la finestra di creazione originale, ma quando apre il nuovo pop-up, utilizza la finestra sbagliata.
Come è possibile garantire che durante ogni test venga utilizzato un nuovo browser e tutte le finestre del test precedente vengano chiuse.
Attualmente sto usando page.reset!
e page.quit
.
Non sicuro, ma posso dire session.quit
per chiudere tutte le finestre del browser aperte?
Questo non funziona, la funzione 'esci' non esiste. Lo stesso con Close. – Jason
Questo non funziona – Jason
Questo funziona comunque a caso.Questa volta mi ha dato "Errore/Errore: impossibile trovare la linea corrispondente da backtrace Selenium :: Errore Web :: Errore :: NoSuchWindowError: esecuzione getUrl non riuscita; Impossibile trovare la finestra' – Ava