Kiedy więc przeprowadzam moje testy indywidualnie, działają świetnie. Jednak po uruchomieniu mojej funkcji (wiele testów) mój kod się nie udaje.
Dzieje się tak dlatego, że gdy istnieje kapibara, nie wszystkie moje okna są zamykane, a zatem moje sterowniki selenu nie wiedzą, którego okna użyć.Czy możesz zamknąć wszystkie otwarte okna w kapibarze?
Zasadniczo, moim testem jest otwieranie wielu okien. Dzieje się tak, ponieważ moje testy powodują kliknięcie linków, które otwierają nowe okna i sprawdzają zawartość w nowych oknach. Chociaż na koniec każdego testu mówię: page.quit
, ta funkcja nie zamyka wszystkich otwartych okien (zamyka aktywne okno, ale nie jest oryginalne). Po uruchomieniu drugiego testu korzysta z pierwotnie utworzonego okna, ale gdy otwiera się nowe okno podręczne, używa niewłaściwego okna.
W jaki sposób mogę zagwarantować, że podczas każdego testu będzie używana nowa przeglądarka, a wszystkie okna z poprzedniego testu zostaną zamknięte.
Obecnie używam page.reset!
i page.quit
.
Nie jestem pewien, ale czy mogę powiedzieć, że session.quit
zamyka wszystkie otwarte okna przeglądarki?
To nie zadziała, funkcja "quit" nie istnieje. To samo z zamknięciem. – Jason
To nie działa – Jason
Działa to jednak losowo.Tym razem dało mi 'Failure/Error: Nie można znaleźć pasującej linii z śledzenia wstecznego Selenium :: WebDriver :: Błąd :: NoSuchWindowError: Wykonanie getUrl nie powiodło się; Nie można znaleźć okna ' – Ava