Czas przećwiczyć to, co przerobiliśmy wspólnie na ostatnim filmie, czyli pracę na kilku oknach przeglądarki. Przed Tobą zadanie, w którym konieczne będzie przełączenie się do nowego okna, żeby móc wykonać jakąś akcję.
Na początku filmu tłumaczę polecenie, a następnie rozwiązanie. Będzie moment żeby zatrzymać film na czas wykonania zadania – dam znać w filmie kiedy.
Polecenie do zadania
Rozwiązanie
Lepiej nie podglądać przed rozwiązaniem zadania ⚠️
Czy takie rozwiązanie może być ?
Halko! A czego dokładnie dotyczy Twoja wątpliwo [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.
Ok dzięki ;]
Nie ma sprawy! Jeżeli nadal masz pytanie o jakiś [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.
Cześć,
Czy mogłabyś proszę wytłumaczyć czemu poprzez poniższy kod otwierają mi się dwa okna z Listą życzeń? 🙂
Halko! Użyłam tego fragmentu kodu:
Hej, z jakiegoś powodu po otwarciu wishlisty getWindowHandles na FF zwraca mi tylko 1 obiekt, za to na Chromie jest ok. Tylko ja tak mam?
Halko! Użyłam kodu, który podałam w tym zadani [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.
hej!
mam jakiś taki kłopot, że nie działa mi dodawanie produktu do listy życzeń... nie do końca wiem czemu:
Po tym mam komunikat, że dodano do listy życzeń, a jak kliknie na link 'Lista życzeń' na górze strony to jest tam pusto.
PS. Jak się formatowało kod w komentarzach na javę?
Halko! Spróbuj teraz, zmieniłam ustawienia cache [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.
Hej! A gdybym chciał dodatkowo na koniec testu zamknąć okno z listą życzeń, wrócić do poprzednio otwartego okna i wykonać tam jakąś akcję (np. kliknąć w przycisk "Sklep") to jak powinienem napisać kod by prawidłowo przełączyć się do poprzedniego okna?
Próbowałem między innymi w poniższy sposób, ale z marnym skutkiem.
Dzięki z góry 🙂
Halko! Pierwsza moja rada to polecam czytać błę [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.
Zadziałało, dzięki! 🙂 A gdybym własnie najpierw chciał zamknąć kartę z listą życzeń to co zrobić by ta poprzednia karta została uznana jako aktywna?
No tak, jak pokazałam. Jak już wspomniałam, to [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.
Hej taka mała uwaga na koniec tego zadania. W 12 minucie pokazujesz jak "zepsuc" test tak aby Assercja nie przeszła. Wiec jak zauważyłem że jak jak nic nie grzebałem w samej asercji a tylko zmienilem selector na nieistniejacy i przestestowałem kod w 2 przypadkach. I tak w #1 przypadku kiedy zastosowałem wait przed Asercją to w momencie nie odnalezienia webelementu "td.wishlist-emptyy" w consoli pojawia sie TimeoutException i kod nie dochodzi nawet do Asercji i jej komunikatu. W #2 przypadku po usunieciu linijki z wait wszystko dziala jak trzeba czyli asercja sie wywala i wypisuje message.
#1.
...
driver.switchTo().window(wishListWindow);
By removeFromWishList = By.cssSelector(".remove_from_wishlist");
driver.findElement(removeFromWishList).click();
By emptyWishList = By.cssSelector("td.wishlist-emptyy");
wait.until(ExpectedConditions.presenceOfElementLocated(emptyWishList));
Assertions.assertDoesNotThrow(()->wait.until(ExpectedConditions.presenceOfElementLocated(emptyWishList)),"Wishlist is not empty");
}
}
#2
...
driver.switchTo().window(wishListWindow);
By removeFromWishList = By.cssSelector(".remove_from_wishlist");
driver.findElement(removeFromWishList).click();
By emptyWishList = By.cssSelector("td.wishlist-emptyy");
Assertions.assertDoesNotThrow(()->wait.until(ExpectedConditions.presenceOfElementLocated(emptyWishList)),"Wishlist is not empty");
}
}
Halko! Tak, masz rację, tego pierwszego waita prz [...] CAŁOŚĆ KOMENTARZA WIDOCZNA DLA SUBSKRYBENTÓW.