W tym artykule omówimy metody zamykania przeglądarki. Selen obsługuje dwie metody zamykania przeglądarki: (1) Metoda zamknięcia () i (2) metoda rezygnacji (). Ale oba są używane w różnych sytuacjach. Wyjaśnimy, jak i gdzie używamy każdego z nich za pomocą wdrożonego przykładu. W tym artykule implementuje dwa podejścia, aby sprawdzić, czy identyfikator sesji WebDriver jest aktywny, czy zerowy.
Jak zamknąć przeglądarkę w selen
Zamknięcie przeglądarki jest jedną z operacji po zakończeniu testowania weryfikacji strony internetowej. Framework Selenium zapewnia również polecenia zamykania całej przeglądarki lub zakładek po zakończeniu testowania automatyzacji za pomocą Webdriver.
Selen obsługuje dwie metody zamykania przeglądarek: (1) Kierowca.Close () i (2) sterownik.zrezygnować(). Jak i kiedy każda z metod jest wyjaśniona w następujący sposób:
Metoda blisko ()
Metoda Close () jest jedną z operacji obsługiwanych przez selen w celu zamknięcia okna przeglądarki, które jest w centrum uwagi. Jeśli w przeglądarce jest wiele zakładek, metoda Close (), z pomocą WebRivers, zamyka tylko skoncentrowaną kartę, na której obecnie uruchomi się test automatyzacji selenu, a reszta kart nie jest zamknięta. Metoda Close () zamyka tylko bieżącą kartę, ale nie niszczy sesji WebDriver.
Składnia do zamknięcia okna przeglądarki jest podana w następujący sposób:
kierowca.zamknąć()
Gdzie „sterownik” jest instancją Webdriver.
Metoda requit ()
Framework Selenium obsługuje operację Quit () w celu zamknięcia wszystkich otwartych zakładek przeglądarki. Metoda requit () umożliwia zamykanie wszystkich otwartej zakładki w przeglądarce. WebDriver przeglądarki używa metody quit () do zakończenia sesji WebDriver, która jest aktualnie aktywna.
Metoda quit () zamyka nie tylko wszystkie otwartą karty przeglądarki, ale kończy sesje WebDriver, dzwoniąc do sterownika.usuń metodę. W przypadku, gdy Webdriver nie niszczy sesji po zamknięciu okien przeglądarki, istnieje szansa na wyciek plików pamięci i błędów.
Składnia do zamknięcia okna przeglądarki jest podana w następujący sposób:
kierowca.zrezygnować()
Gdzie „sterownik” jest instancją Webdriver.
Podejście 1: Zamknij bieżące okno przeglądarki, jednocześnie utrzymując sesję WebDriver przy życiu
W Selenium metoda Close () umożliwia sesję WebDriver Alive po zamknięciu bieżącej karty. Weźmy scenariusz, w którym otwieramy przeglądarkę i zamykamy kartę aktualnie ukierunkowaną, a następnie sprawdź, czy sesja nie jest zamknięta. Aby to zrobić, używamy https: // www.eBay.com/ strona internetowa.
Zacznijmy wdrażać!
Najpierw utwórz plik Java o nazwie jako Close_Browser.Jawa. Wybierz także opcję statycznej klasy pustki. Następnie plik Java automatycznie tworzy klasę publiczną z nazwą pliku i generuje publiczną statyczną klasę główną. Kod jest wspomniany w następujący sposób:
klasa publiczna Close_Browser
public static void main (string [] args)
Teraz zaimportujmy niezbędne pakiety WebDriver, SessionID, RemotewebDriver i czas.Czas trwania klasy niejawnej.
Oto kod dla niezbędnego pakietu importu:
Importuj Java.czas.Czas trwania;
import org.Openqa.selen.chrom.Chromedriver;
import org.Openqa.selen.zdalny.RemotewebDriver;
import org.Openqa.selen.zdalny.SessionID;
Możesz odwołać się do całego kodu, który przedstawiliśmy następująco. Następnie rozkładamy ten kod na małe fragmenty, abyś mógł zrozumieć, jaką funkcję służy każda.
pakiet interfejsu użytkownika;
Importuj Java.czas.Czas trwania;
import org.Openqa.selen.chrom.Chromedriver;
import org.Openqa.selen.zdalny.RemotewebDriver;
import org.Openqa.selen.zdalny.SessionID;
klasa publiczna Close_Browser
public static void main (string [] args)
System.setProperty („Webdriver.chrom.sterownik "," c: \\ przeglądarki \\ chromedriver.exe ”);
Chromedriver Driver = new Chromedriver ();
kierowca.zarządzać().okno().Wyolbrzymiać();
kierowca.zarządzać().Timeouts ().Impliccilelowit (czas trwania.sekund (10));
kierowca.Get ("https: // www.eBay.com/”);
System.na zewnątrz.println („Otwórz stronę internetową eBay w przeglądarce Chrome”);
kierowca.zamknąć();
System.na zewnątrz.println („Zamknij przeglądarkę”);
SessionID ID = ((RemoteWeBDriver) Driver).getSessionid ();
System.na zewnątrz.println („Uzyskaj identyfikator sesji po zamknięciu metody:” + id);
Teraz rozbijmy poprzednią linię kodu po wierszu i wyjaśnij, jak działa każda linia.
Do tego scenariusza używamy przeglądarki Chrome. W początkowej sekcji kodu uzyskaj dostęp do lokalnego katalogu kierowców Chrome przed rozpoczęciem sterowników 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 ”);
Chromedriver Driver = new Chromedriver ();
Następnie zmaksymalizujemy okno przeglądarki za pomocą następującej podanej składni:
kierowca.zarządzać().okno().Wyolbrzymiać();
Należy pamiętać, że ładowanie wszystkich elementów strony internetowej ta funkcja czeka, aż nie dorozumiane oczekiwanie na sterownik, jak podaliśmy w naszym następującym kodzie:
kierowca.zarządzać().Timeouts ().Impliccilelowit (czas trwania.sekund (10));
kierowca.Get ("https: // www.eBay.com/”);
InspictlyWait () to metoda wykonywania ukrytego oczekiwania. Funkcja czasu trwania wspomina o opóźnieniu czasowym, „drugiego” jest jednostką czasową, podczas gdy program czeka 10 sekund na załadowanie elementów i otwarcie żądanej strony internetowej adresu URL.
Po otwarciu żądanej witryny w przeglądarce wydrukuj „Otwórz stronę internetową eBay w Chrome Browser”.
Oto składnia do wydrukowania tekstu w konsoli:
System.na zewnątrz.println („Otwórz stronę internetową eBay w przeglądarce Chrome”);
W tym fragmencie kodu zamykamy obecnie otwarte okno przeglądarki za pomocą metody Close ().
Oto kod składniowy, aby zamknąć bieżące okno przeglądarki i wydrukować tekst „Zamknij przeglądarkę” do konsoli:
kierowca.zamknąć();
System.na zewnątrz.println („Zamknij przeglądarkę”);
Teraz ostateczna część kodu odnosi się do sprawdzania, czy sesja jest zniszczona, czy nie:
SessionID ID = ((RemoteWeBDriver) Driver).getSessionid ();
W uprzednio danym kodzie klasa RemotewebDriver służy do pobrania identyfikatora sesji WebDriver. Serwer WebDriver służy do komunikowania się ze zdalną przeglądarką internetową za pomocą klasy zdalnej. Metoda getteSession () służy do pobierania identyfikatora sesji, jeśli jest aktywna.
System.na zewnątrz.println („Uzyskaj identyfikator sesji po zamknięciu metody:” + id);
System.na zewnątrz.println () to funkcja Java, która służy do drukowania wartości i wartości zmiennych. Tutaj drukujemy identyfikator sesji Webdriver.
Na poniższym zrzucie ekranu możemy zobaczyć wynik wyjściowy wykonanego kodu:
Jak można obserwować, po uruchomieniu poprzedniego kodu metoda Close () zamyka bieżącą kartę przeglądarki roboczej. Ale nadal aktywowany jest identyfikator sesji WebDriver, który jest drukowany w poprzedniej konsoli.
Podejście 2: Zamknij każde okno przeglądarki i zakończ sesję WebDriver
W Selenium metoda Quit () umożliwia sesję WebDriver zakończenie i zamknięcie wszystkich otwartych kart. Weźmy scenariusz, w którym otworzymy przeglądarkę Chrome i zamkniemy wszystkie otwarte zakładki w przeglądarce Chrome, a następnie sprawdź, czy którykolwiek identyfikator sesji staje się NULL.
Zacznijmy wdrażać!
Możesz odwołać się do całego kodu, który przedstawiliśmy na następującej ilustracji. Następnie rozkładamy ten kod na małe fragmenty, abyś mógł zrozumieć, jaką funkcję służy każda.
pakiet interfejsu użytkownika;
Importuj Java.czas.Czas trwania;
import org.Openqa.selen.chrom.Chromedriver;
import org.Openqa.selen.zdalny.RemotewebDriver;
import org.Openqa.selen.zdalny.SessionID;
klasa publiczna Close_Browser
public static void main (string [] args)
System.setProperty („Webdriver.chrom.sterownik "," c: \\ przeglądarki \\ chromedriver.exe ”);
Chromedriver Driver = new Chromedriver ();
kierowca.zarządzać().okno().Wyolbrzymiać();
kierowca.zarządzać().Timeouts ().Impliccilelowit (czas trwania.sekund (10));
kierowca.Get ("https: // www.eBay.com/”);
System.na zewnątrz.println („Otwórz stronę internetową eBay w przeglądarce Chrome”);
kierowca.zrezygnować();
System.na zewnątrz.println („Zamknij przeglądarkę”);
SessionID ID = ((RemoteWeBDriver) Driver).getSessionid ();
System.na zewnątrz.println („Uzyskaj identyfikator sesji po zamknięciu metody:” + id);
Teraz rozbijmy dostarczoną linię kodu po wierszu i wyjaśnij, jak działa każda linia.
W przypadku tego scenariusza powtarzamy wszystkie te same kroki podejścia nr 1. Aby uruchomić przeglądarkę, zmaksymalizować przeglądarkę i wdrożyć niejawne oczekiwanie.
W tym fragmencie kodu zamykamy teraz wszystkie otwarte okno przeglądarki za pomocą metody quit ().
Oto kod składniowy, który zamyka wszystkie okno przeglądarki i wydrukować tekst „Zamknij przeglądarkę” do konsoli:
kierowca.zrezygnować();
System.na zewnątrz.println („Zamknij przeglądarkę”);
Teraz ostateczna część kodu odnosi się do sprawdzania, czy sesja jest zniszczona, czy nie:
SessionID ID = ((RemoteWeBDriver) Driver).getSessionid ();
W uprzednio danym kodzie klasa RemotewebDriver służy do pobrania identyfikatora sesji WebDriver. Serwer WebDriver służy do komunikowania się ze zdalną przeglądarką internetową za pomocą klasy zdalnej. Metoda getteSession () sprawdza, czy sesja jest zerowa.
System.na zewnątrz.println („Uzyskaj identyfikator sesji po zamknięciu metody:” + id);
System.na zewnątrz.println () to funkcja Java, która służy do drukowania wartości i wartości zmiennych. Tutaj drukujemy identyfikator sesji Webdriver.
Na poniższym zrzucie ekranu możemy zobaczyć wynik wyjściowy wykonanego kodu:
Jak można zauważyć, po uruchomieniu poprzedniego kodu metoda quit () zamyka wszystkie otwartą karty przeglądarki i niszczy sesję WebDriver, która jest wydrukowana w poprzedniej konsoli, która jest null.
Wniosek
Nauczyłeś się dwóch metod zamykania przeglądarki: Close () i Quit () Methods. W tym artykule szczegółowo wyjaśniono obie metody, gdzie zastosować metodę Close () i gdzie użyć metody Quit (). Następnie zaimplementowaliśmy oba podejścia z przykładem, aby sprawdzić, czy identyfikator sesji WebDriver jest żywy, czy nie. Ten samouczek jest najlepszy zarówno dla początkujących, jak i doświadczonych programistów.