In diesem Artikel werden wir über die Methoden zum Schließen des Browsers diskutieren. Selenium unterstützt zwei Methoden zum Schließen des Browsers: (1) Close () -Methode und (2) Quit () -Methode. Aber beide werden in verschiedenen Situationen verwendet. Wir werden erklären, wie und wo wir jeden von ihnen mit einem implementierten Beispiel verwenden. Dieser Artikel implementiert zwei Ansätze, um zu überprüfen, ob die Webdriver -Sitzungs -ID aktiv oder null ist.
Wie man einen Browser in Selen schließt
Das Schließen des Browsers ist einer der Vorgänge, wenn wir die Überprüfung der Website beenden. Das Selenium -Framework bietet auch die Befehle, um den gesamten Browser oder die Registerkarten zu schließen, nachdem die Automatisierungstests mithilfe von Webdriver abgeschlossen sind.
Selenium unterstützt zwei Methoden, um die Browser zu schließen: (1) Treiber.Close () und (2) Fahrer.aufhören(). Wie und wenn jede der Methoden verwendet wird, wird im Folgenden erklärt:
Close () Methode
Die Close () -Methode ist eine der Operationen, die von Selen unterstützt werden, um das Browserfenster zu schließen, das sich im Fokus befindet. Wenn es mehrere Registerkarten gibt, die im Browser geöffnet sind, schließt die Methode close () mithilfe von Webdrivers nur die fokussierte Registerkarte, auf der der Selen -Automatisierungstest derzeit ausgeführt wird und der Rest der Registerkarten nicht geschlossen ist. Die Methode Close () schließt nur die aktuelle Registerkarte, sondern zerstört nicht die Webdriver -Sitzung.
Die Syntax zum Schließen des Browserfensters ist im Folgenden angegeben:
Treiber.schließen()
Wo der „Treiber“ die Instanz von Webdriver ist.
Quit () Methode
Das Selenium -Framework unterstützt den Betrieb von Quit (), um alle offenen Registerkarten des Browsers zu schließen. Mit Quit () können Sie alle Registerkarten schließen, die im Browser geöffnet sind. Der Browser -Webdriver verwendet die Methode Quit (), um die derzeit aktive Webdriver -Sitzung zu beenden.
Die Methode Quit () schließt nicht nur alle geöffneten Browser -Registerkarten, sondern beendet die Webdriver -Sitzungen, indem Sie den Treiber aufrufen.Methode entsorgen. Wenn der Webdriver die Sitzung nach dem Schließen des Browserfensters nicht zerstört, besteht die Chancen, Speicherdateien und Fehler aufzutreten.
Die Syntax zum Schließen des Browserfensters ist im Folgenden angegeben:
Treiber.aufhören()
Wo der „Treiber“ die Instanz von Webdriver ist.
Ansatz 1: Schließen Sie das aktuelle Browserfenster, während Sie die Webdriver -Sitzung am Leben erhalten
In Selen ermöglicht die Methode close () die Webdriver -Sitzung nach dem Schließen der aktuellen Registerkarte. Nehmen wir ein Szenario, in dem wir den Browser öffnen, und schließen die aktuell fokussierte Registerkarte, dann überprüfen Sie, ob die Sitzung nicht geschlossen ist. Dazu verwenden wir die https: // www.Ebay.com/ Website.
Beginnen wir mit der Implementierung!
Erstellen Sie zunächst die Java -Datei mit dem Namen als Close_browser.Java. Wählen Sie auch die Option der statischen Leerklasse aus. Anschließend erstellt die Java -Datei die öffentliche Klasse automatisch mit dem Dateinamen und generiert eine öffentliche statische Void -Hauptklasse. Der Code wird wie folgt erwähnt:
öffentliche Klasse Close_browser
public static void main (String [] args)
Importieren wir nun die erforderlichen Pakete von Webdriver, SessionID, Remotewebdriver und Zeit.Dauer für die implizite Klasse.
Hier ist der Code für das erforderliche Importpaket:
Java importieren.Zeit.Dauer;
import org.OpenQA.Selen.Chrom.Chromedriver;
import org.OpenQA.Selen.Fernbedienung.Remotewebdriver;
import org.OpenQA.Selen.Fernbedienung.Session-ID;
Sie können sich auf den gesamten Code beziehen, den wir im Folgenden angegeben haben. Anschließend zerlegen wir diesen Code in kleine Stücke, damit Sie verstehen können, welche Funktion jeder dient.
Paket UI;
Java importieren.Zeit.Dauer;
import org.OpenQA.Selen.Chrom.Chromedriver;
import org.OpenQA.Selen.Fernbedienung.Remotewebdriver;
import org.OpenQA.Selen.Fernbedienung.Session-ID;
öffentliche Klasse Close_browser
public static void main (String [] args)
System.setProperty ("Webdriver.Chrom.Treiber "," C: \\ Browserdivers \\ Chromedriver.exe ");
Chromedriver -Treiber = neuer Chromedriver ();
Treiber.verwalten().Fenster().maximieren();
Treiber.verwalten().Zeitüberschreitungen ().implizitlywait (Dauer.von Sekunden (10));
Treiber.Get ("https: // www.Ebay.com/");
System.aus.println ("Öffnen Sie die eBay -Website im Chrome -Browser");
Treiber.schließen();
System.aus.println ("den Browser schließen");
SessionID -ID = ((remotewebdriver) Treiber).getSessionid ();
System.aus.println ("Sitzungs -ID nach Schließen der Methode:" + id);
Lassen Sie uns nun die vorherige Codezeile nach der Zeile zerlegen und erklären, wie jede Zeile funktioniert.
Für dieses Szenario -Implementierung verwenden wir den Chrome -Browser. Greifen Sie im ersten Abschnitt des Codes auf das lokale Verzeichnis der Chrom -Treiber zu, bevor Sie die Chrome -Browser -Treiber starten.
Die folgende Syntax wird verwendet, um es zu implementieren:
System.setProperty ("Webdriver.Chrom.Treiber "," C: \\ Browserdivers \\ Chromedriver.exe ");
Chromedriver -Treiber = neuer Chromedriver ();
Danach maximieren wir das Browserfenster mit der folgenden angegebenen Syntax:
Treiber.verwalten().Fenster().maximieren();
Beachten Sie, dass diese Funktion das Laden aller Elemente der Webseite wartet, bis das implizite Warten für den Treiber gegeben wird, wie wir in unserem folgenden Code angegeben haben:
Treiber.verwalten().Zeitüberschreitungen ().implizitlywait (Dauer.von Sekunden (10));
Treiber.Get ("https: // www.Ebay.com/");
Das ImplictLyWait () ist die Methode, um implizite Warten durchzuführen. In der Dauerfunktion wird die Zeitverzögerung erwähnt, die "von Second" ist die Zeiteinheit, während das Programm 10 Sekunden darauf wartet, dass die Elemente die angeforderte URL -Website laden und öffnen können.
Drucken Sie nach dem Öffnen der angeforderten Website im Browser die "Ebay -Website im Chrome -Browser" in die Konsole aus.
Hier ist die Syntax, um den Text in die Konsole zu drucken:
System.aus.println ("Öffnen Sie die eBay -Website im Chrome -Browser");
In diesem Code -Stück schließen wir jetzt das aktuell geöffnete Browserfenster mit der Methode close ().
Hier ist der Syntaxcode, um das aktuelle Browserfenster zu schließen und den Text „Browser schließen“ in die Konsole zu drucken:
Treiber.schließen();
System.aus.println ("den Browser schließen");
Jetzt bezieht sich der letzte Code -Teil auf die Überprüfung, ob die Sitzung zerstört wird oder nicht:
SessionID -ID = ((remotewebdriver) Treiber).getSessionid ();
Im zuvor gegebenen Code wird in der RemotewebDriver-Klasse die Sitzungs-ID des Webdrivers abgerufen. Ein Webdriver -Server wird verwendet, um mit einem Remote -Webbrowser mithilfe der RemotewebDriver -Klasse, einer Unterklasse der Webdriver -Klasse, zu kommunizieren. Mit der Methode von GetSessionId () wird die Sitzungs -ID abgerufen, falls aktiv.
System.aus.println ("Sitzungs -ID nach Schließen der Methode:" + id);
Das System.aus.println () ist die Java -Funktion, mit der die Zeichenfolge und die Variablenwerte drucken. Hier drucken wir die Sitzungs -ID des Webdrivers aus.
Im folgenden Screenshot können wir das Ausgabeergebnis des ausgeführten Codes sehen:
Wie Sie beobachten können, schließt die Methode Close () nach dem Ausführen des vorherigen Code die Registerkarte "Current Working Browser" ab. Trotzdem wird die Webdriver -Sitzungs -ID aktiviert, die in die vorherige Konsole gedruckt wird.
Ansatz 2: Schließen Sie jedes Browserfenster und beenden Sie die Webdriver -Sitzung
In Selen können die Methode mit Quit () die Webdriver -Sitzung beenden und alle geöffneten Registerkarten schließen. Nehmen wir das Szenario, in dem wir den Chrombrowser öffnen und alle geöffneten Registerkarten im Chrom -Browser schließen und dann überprüfen, ob eine der einer Session -ID null wird.
Beginnen wir mit der Implementierung!
Sie können sich auf den gesamten Code beziehen, den wir in der folgenden Abbildung angegeben haben. Anschließend zerlegen wir diesen Code in kleine Stücke, damit Sie verstehen können, welche Funktion jeder dient.
Paket UI;
Java importieren.Zeit.Dauer;
import org.OpenQA.Selen.Chrom.Chromedriver;
import org.OpenQA.Selen.Fernbedienung.Remotewebdriver;
import org.OpenQA.Selen.Fernbedienung.Session-ID;
öffentliche Klasse Close_browser
public static void main (String [] args)
System.setProperty ("Webdriver.Chrom.Treiber "," C: \\ Browserdivers \\ Chromedriver.exe ");
Chromedriver -Treiber = neuer Chromedriver ();
Treiber.verwalten().Fenster().maximieren();
Treiber.verwalten().Zeitüberschreitungen ().implizitlywait (Dauer.von Sekunden (10));
Treiber.Get ("https: // www.Ebay.com/");
System.aus.println ("Öffnen Sie die eBay -Website im Chrome -Browser");
Treiber.aufhören();
System.aus.println ("den Browser schließen");
SessionID -ID = ((remotewebdriver) Treiber).getSessionid ();
System.aus.println ("Sitzungs -ID nach Schließen der Methode:" + id);
Lassen Sie uns nun die bereitgestellte Codezeile nach der Zeile aufschlüsseln und erklären, wie jede Zeile funktioniert.
Für diese Szenario -Implementierung wiederholen wir alle gleichen Schritte wie Ansatz Nr. 1. Maximieren Sie den Browser, um den Browser zu starten, und implementieren Sie das implizite Warten.
In diesem Code -Stück schließen wir jetzt alle geöffneten Browserfenster mit der Methode Quit ().
Hier ist der Syntaxcode zum Schließen des gesamten Browserfensters und druckte den Text „Browser schließen“ in die Konsole:
Treiber.aufhören();
System.aus.println ("den Browser schließen");
Jetzt bezieht sich der letzte Code -Teil auf die Überprüfung, ob die Sitzung zerstört wird oder nicht:
SessionID -ID = ((remotewebdriver) Treiber).getSessionid ();
Im zuvor gegebenen Code wird in der RemotewebDriver-Klasse die Sitzungs-ID des Webdrivers abgerufen. Ein Webdriver -Server wird verwendet, um mit einem Remote -Webbrowser mithilfe der RemotewebDriver -Klasse, einer Unterklasse der Webdriver -Klasse, zu kommunizieren. Die Methode getSessionId () prüft, ob die Sitzung null ist.
System.aus.println ("Sitzungs -ID nach Schließen der Methode:" + id);
Das System.aus.println () ist die Java -Funktion, mit der die Zeichenfolge und die Variablenwerte gedruckt werden. Hier drucken wir die Sitzungs -ID des Webdrivers aus.
Im folgenden Screenshot können wir das Ausgabeergebnis des ausgeführten Codes sehen:
Wie Sie beobachten können, schließt die Methode mit Quit () nach dem Ausführen des vorherigen Code alle geöffneten Browser -Registerkarten und zerstört die Webdriver -Sitzung, die in die vorherige Konsole gedruckt wird, die NULL ist.
Abschluss
Sie haben die beiden Methoden zum Schließen des Browsers gelernt: Close () und Quit () Methoden. In diesem Artikel wurden beide Methoden ausführlich darüber erläutert, wo die Methode close () und wo die Methode "Quit () verwendet werden soll. Dann haben wir beide Ansätze mit dem Beispiel implementiert, um zu überprüfen, ob die Webdriver -Sitzungs -ID am Leben ist oder nicht. Dieses Tutorial eignet sich sowohl für Anfänger als auch für erfahrene Entwickler am besten.