Jakie są oczekiwania w frameworku selenu?
Oczeki selenowe pomagają rozwiązać problemy z synchronizacją. Synchronizacja to proces dopasowywania „prędkości narzędzia do automatyzacji testu” do prędkości „testowanej strony internetowej”. W tym procesie WebDriver wykonuje określone zadanie na stronie internetowej, ale internetowy nie jest ładowany w „testowanej stronie internetowej”. W tej sytuacji Webdriver rzuca wyjątki „NosuchelementExpection” lub „ElementNotvisibleExpection”. Istnieją trzy rodzaje metody Waits, które są dostarczane przez Selenium Framework.
Domyślny oczekiwanie
Ten rodzaj oczekiwania dotyczy wszystkich elementów strony internetowej, dlatego nazywa się go globalnym oczekiwaniem. Metoda Impliccilelewait () służy do tego, aby ją nazwać.
Już wyraźne czekanie
Jest to typ oczekiwania specyficznego dla sieci Webelement. Czeka na określony czas, aby załadować konkretny element przed rzuceniem wyjątku.
Biegły czekaj
Daje to maksymalny czas na znalezienie internetowego.
Co to jest wyraźne oczekiwanie w selenium?
Jawny typ oczekiwania różni się od niejawnego oczekiwania. Ta metoda oczekiwania utrzymuje określony czas, aż nastąpi określony warunek przed przejściem do następnego wiersza kodu. Pomocne jest, gdy niektóre elementy ładują się szybciej, a niektóre elementy są wolniejsze. Na przykład: na stronie internetowej są dwa lub trzy elementy, które zajmują od 20 do 30 sekund. Tutaj nie możesz iść i zmienić oczekiwanie zgodnie z maksymalnym czasem, który jest przyjmowany przez jeden z internetowych. Tam właśnie odgrywa wyraźne oczekiwanie. Już samo oczekiwanie określa oczekiwanie na ten konkretny element na stronie internetowej. Możesz określić, aby długi czas czekać na konkretny element; Tam używamy wyraźnego oczekiwania. Metoda WebDriverWait jest używana do wywołania Eexticiting Wait.
Interfejs Selenium WebBrowser
Interfejs WebDriver umożliwia implementację testu automatyzacji. Webdriver służy do kontrolowania i tworzenia interakcji między stroną internetową a narzędziami automatyzacji selenu, takich jak znalezienie elementów, nawigacja na adresie URL, uzyskiwanie właściwości atrybutów, potwierdzanie, czy tekst jest dostępny w Internecie, wyszukiwanie elementu i więcej.
Możesz korzystać z różnych przeglądarek internetowych, w tym Firefox, Safari i Chrome. Każdy typ przeglądarki ma określoną klasę dla tego rodzaju przeglądarki, takiej jak FirefoxDriver, Chromedriver, InternetExplorerdriver itp. Wszystkie przeglądarki można zaimplementować metodą WebDriver.
Oto składnia do korzystania z interfejsu WebDriver:
od selenu importu WebdriverW dostarczonym kawałku kodu tworzymy obiekt „sterownika” Webdriver. Tutaj używamy przeglądarki Chrome z metodą.Chrome () klasa. Następnie przeglądarka uruchamia i otwiera podany adres URL.
Przykład 1:
W tym pierwszym programie wdrożony jest bardzo podstawowy przykład wyraźnego oczekiwania, który jest bardzo przydatny dla początkujących i doświadczonych programistów.
Istnieją scenariusze, w których po raz pierwszy znajdujemy internetowe „codzienne oferty” i przejdź do strony Daily Deals. Jeśli warunek jest prawdziwy, wydrukuj „warunek prawdziwy”. W przeciwnym razie wydrukuj wyjątek „Fałsz”.
Po pierwsze, importujemy wszystkie niezbędne biblioteki selenu i internetowej. Aby użyć wyraźnego oczekiwania, zaimportuj następujące biblioteki:
import org.Openqa.selen.wsparcie.UI.Oczekiwane warunki;Podajemy pełny kod: następujące:
pakiet interfejsu użytkownika;Teraz zrozummy poprzedni kod krok po kroku i wyjaśnij, jakie działania wykonuje każda linia.
W pierwszej fragmencie kodu otrzymujemy biblioteki przeglądarki z komputera, a następnie uruchamiamy sterowniki przeglądarki Chrome.
W tym przykładzie używamy przeglądarki Chrome. Do wdrożenia jej wdrożenia jest używana następująca składnia:
System.setProperty („Webdriver.chrom.sterownik "," c: \\ przeglądarki \\ chromedriver.exe ”);Następnie zmaksymalizujemy okno przeglądarki i otwieramy podaną witrynę za pomocą następującej podanej składni:
kierowca.zarządzać().okno().Wyolbrzymiać();W tym przykładzie używamy strony internetowej eBay znajdującej się pod adresem https: // www.eBay.com/.
Jeśli chcemy sprawdzić, czy istnieje hiper-linia „codziennej oferty”, czy nie, powinniśmy wiedzieć, gdzie „codzienna oferta” jest obecna na stronie internetowej. Aby znaleźć lokalizator LinkText w hiper-line „Daily Deals”, musimy sprawdzić „codzienne oferty” konkretne na stronie internetowej i znaleźć tag innertext. Zrzut ekranu jest dołączony do następujących, aby zobaczyć, gdzie możemy znaleźć znacznik „codziennych ofert”.
Na poprzednim zrzucie ekranu widzimy, że na stronie internetowej jest obecny „codzienne oferty”. Jeśli nie ma obecnego znacznika, nie ma obecnych hiper-linii „codziennych ofert”. Musimy użyć tej poniższej wskazówki:
kierowca.FindElement (przez.LocatorType („locatorValue”));Używamy sterownika.Metoda FINDELEMENTES () do sprawdzenia, czy element jest obecny na stronie internetowej, czy nie. Obiekt „przez” jest parametrem dla polecenia Find Element, który dostarcza obiekt typu Webelement. Różne techniki lokalizacyjne, takie jak nazwa, id, klasa, Xpath itp. Tekst łącza może być używany z obiektem „przez”. Jak wiemy, lista internetowych, które znajdują się przy użyciu parametru „według lokaliatora”, jest zwracana przez funkcję FINDELENETIONS (). Jeśli element zostanie znaleziony, zwracana jest lista niezerowych internetowych. W przeciwnym razie zwracana jest lista rozmiaru 0. W rezultacie długość listy można wykorzystać do ustalenia, czy wpis jest obecny, czy nie.
W tym przykładzie używamy lokalizatora LinkText, jak pokazano w poniższej składni:
kierowca.FindElement (przez.LinkText („Daily Deals”)).Kliknij();W poprzednim fragmencie kodu najpierw znajdź tekst „Daily Deals”. Następnie użyj funkcji kliknij (), aby przejść do innej strony.
Następnie wyraźne oczekiwanie jest wdrażane w poniższej składni:
WebDriverWait Wait = New WebDriverwait (sterownik, czas trwania.sekund (10));Kiedy używamy poprzedniego kawałka kodu do wyraźnego oczekiwania, pamiętaj, że funkcja czeka 10 sekund zgodnie z definicją w metodzie WebDriverWait, dopóki nie zostanie znaleziony podany lokalizator.
Metoda WebDriverWait jest używana do wyraźnego wdrażania. Utwórz obiekt odniesienia „Poczekaj” klasy WebDriverwait. Następnie przydziel pamięć z nowym WebDriverwait i przejdź dwa parametry (1) obiekt referencyjny sterownika internetowego i wspomniany (2) czas trwania (sterownik, czas trwania.sekund (10)).
Teraz użyj obiektu referencyjnego klasy WebDriverWait, który jest „poczekaj”, aby wywołać metodę do () i przejść oczekiwaną widoczność.id) warunek. Jeśli oczekiwany warunek jest prawdziwy, zwróć internet i poczekaj na 10 sekund, aż ten warunek się spełni. Ten oczekiwany warunek to specyfikacja internetowa. Tutaj musimy poczekać na widoczność „elementu”. Jeśli element jest widoczny w ciągu 5 sekund, poczekaj wyjście. Jeśli nie, maksymalizuje oczekiwanie przez 10 sekund.
Oto podana składnia dla oczekiwanego warunku:
Czekać.do (oczekiwane warunki.Widoczność Felementloked (przez.id („element”)));Istnieje wiele oczekiwanych warunków, które są dostarczane przez selen, takie jak alertispresent (), inlementelectionStateTobe (), elementTobeclickable () itp. Tutaj, w tym samouczku, używamy warunku „VisiBlityOfElementLocated ()”.
Przejdźmy do następnego kawałka kodu, gdzie mamy „warunek prawdziwy”:
próbowaćAby sprawdzić, czy element istnieje, czy nie, używamy bloku próbowania. Wszystko, co musimy zrobić, to spróbować znaleźć element i wchodzić w jego interakcję.
Element Webelement = Poczekaj.do (oczekiwane warunki.Widoczność Felementloked (przez.linkText („Daily Deals”)));Poczekaj na element z „codziennymi ofertami”. Jeśli znajdziemy internet, kliknij ten element, aby przejść do innej strony i wydrukuj „Warunek prawdziwy” w konsoli.
Tutaj, w poniższym zrzucie ekranu wyjściowego, widzimy, że element znaleziono sukces. Przejdź do strony:
Przejdźmy do następnego kawałka kodu, gdzie mamy „Warunek fałszywy”:
próbowaćJeśli hiper-linia „niewłaściwy element” nie jest obecny na stronie internetowej, wyrzuć wyjątek i wydrukuj wyjście „Fałsz” w konsoli.
W poniższym zrzucie ekranu wyjściowego widzimy, że element został uznany za nieuzasadniony:
Wreszcie, po wykonaniu całego kodu, zamknij przeglądarkę za pomocą metody quet ().
kierowca.zrezygnować();
Wniosek
Teraz dowiedziałeś się o selenium wyraźne zalety oczekiwania. Dowiesz się, jak to wdrożyć w prawdziwym scenariuszu. W tym artykule implementuje przykład, w którym utrzymujesz wykonanie dalszego kodu, dopóki nie znajdziesz elementu w danym czasie oczekiwania. Ten artykuł zawiera warunki próby i złapania. Jeśli element wychodzi, wydrukuj „Warunek prawdziwy”. W przeciwnym razie wydrukuj „Warunek fałszywy”.