I denne artikkelen vil vi diskutere om metodene for å lukke nettleseren. Selenium støtter to metoder for å lukke nettleseren: (1) Lukk () -metode og (2) Quit () -metoden. Men begge brukes i forskjellige situasjoner. Vi vil forklare hvordan og hvor vi bruker hver av dem med et implementert eksempel. Denne artikkelen implementerer to tilnærminger for å sjekke om WebDriver Session ID er aktiv eller null.
Hvordan lukke en nettleser i Selenium
Å stenge nettleseren er en av operasjonene når vi er ferdige med verifiseringstesting av nettstedet. Selenium -rammeverket gir også kommandoene for å lukke hele nettleseren eller fanene etter å ha fullført automatiseringstestingen ved hjelp av WebDriver.
Selenium støtter to metoder for å lukke nettleserne: (1) Driver.Lukk () og (2) driver.slutte(). Hvordan og når hver av metodene brukes blir forklart i følgende:
Lukk () Metode
Den lukkede () -metoden er en av operasjonene som støttes av Selenium for å lukke nettleservinduet som er i fokus. Hvis det er flere faner som er åpne i nettleseren, lukker bare den lukkede () -metoden, ved hjelp av webdrivere. Lukk () -metoden lukker bare den nåværende fanen, men ødelegger ikke WebDriver -økten.
Syntaksen for å lukke nettleservinduet er gitt i følgende:
sjåfør.Lukk()
Der "driveren" er forekomsten av webdriver.
Quit () Metode
Selenium -rammeverket støtter Quit () -operasjonen for å lukke alle de åpne fanene i nettleseren. Quit () -metode lar deg lukke alle fanene som er åpne i nettleseren. Nettleser -webdriver bruker Quit () -metoden for å avslutte WebDriver -økten som for tiden er aktiv.
Quit () -metoden lukker ikke bare alle åpnede nettleserfaner, men avslutter WebDriver -øktene ved å ringe driveren.Kast metode. I tilfelle webdriveren ikke ødelegger økten etter å ha lukket nettleservinduene, er det sjanser for å lekke minnefiler og feil som skal oppstå.
Syntaksen for å lukke nettleservinduet er gitt i følgende:
sjåfør.slutte()
Der "driveren" er forekomsten av webdriver.
Tilnærming 1: Lukk det gjeldende nettleservinduet mens du holder liv i WebDriver -økten
I Selenium muliggjør den lukkede () metoden WebDriver -økten i live etter å ha stengt den nåværende fanen. La oss ta et scenario der vi åpner nettleseren og lukker den for øyeblikket fokuserte fanen, og sjekk om økten ikke er stengt. For å gjøre det, bruker vi https: // www.eBay.com/ nettsted.
La oss begynne å implementere!
Først må du opprette Java -filen med navnet som Close_Browser.Java. Velg også alternativet med den statiske tomromsklassen. Deretter oppretter Java -filen automatisk den offentlige klassen med filnavnet og genererer en offentlig statisk tomrom hovedklasse. Koden er nevnt som følger:
public class close_browser
public static void main (String [] args)
La oss nå importere de nødvendige pakkene med WebDriver, SessionId, Remotewebdriver og Time.Varighet for implisitt klasse.
Her er koden for den nødvendige importpakken:
Importer Java.tid.Varighet;
Import org.Openqa.Selen.krom.Chromedriver;
Import org.Openqa.Selen.Fjernkontroll.Remotewebdriver;
Import org.Openqa.Selen.Fjernkontroll.Øktnummer;
Du kan henvise til hele koden som vi ga i det følgende. Etter det deler vi ned denne koden i små biter slik at du kan forstå hvilken funksjon hver og en serverer.
pakke ui;
Importer Java.tid.Varighet;
Import org.Openqa.Selen.krom.Chromedriver;
Import org.Openqa.Selen.Fjernkontroll.Remotewebdriver;
Import org.Openqa.Selen.Fjernkontroll.Øktnummer;
public class close_browser
public static void main (String [] args)
System.SetProperty ("Webdriver.krom.Driver "," C: \\ nettleserdrivere \\ Chromedriver.exe ");
Chromedriver Driver = new Chromedriver ();
sjåfør.få til().vindu().maksimere ();
sjåfør.få til().Timeouts ().Implisitt vises (varighet.av sekunder (10));
sjåfør.få ("https: // www.eBay.com/");
System.ute.Println ("Åpne eBay -nettstedet i Chrome Browser");
sjåfør.Lukk();
System.ute.Println ("Lukk nettleseren");
SessionId ID = ((RemoteWeBdriver) Driver).getSessionId ();
System.ute.println ("Få økt -ID etter å ha avsluttet metoden:" + ID);
La oss nå bryte ned den forrige kodelinjen for linje og forklare hvordan hver linje fungerer.
For denne scenarioimplementeringen bruker vi Chrome -nettleseren. I den første delen av koden, får du tilgang til den lokale katalogen til Chrome -driverne før du starter Chrome Browser -driverne.
Følgende syntaks brukes til å implementere den:
System.SetProperty ("Webdriver.krom.Driver "," C: \\ nettleserdrivere \\ Chromedriver.exe ");
Chromedriver Driver = new Chromedriver ();
Etter det maksimerer vi nettleservinduet ved å bruke følgende gitt syntaks:
sjåfør.få til().vindu().maksimere ();
Husk at å laste inn alle elementer på websiden, denne funksjonen venter til den implisitte ventetiden er gitt for sjåføren som vi har gitt i vår følgende kode:
sjåfør.få til().Timeouts ().Implisitt vises (varighet.av sekunder (10));
sjåfør.få ("https: // www.eBay.com/");
Det implictlyWait () er metoden for å utføre implisitt vent. Varighetsfunksjonen nevner tidsforsinkelsen, "av sekundet" er tidsenheten, mens programmet venter 10 sekunder på at elementene skal laste og åpne den forespurte URL -nettstedet.
Etter at den forespurte nettstedet åpnes i nettleseren, skriver du ut "Åpne eBay -nettstedet i Chrome Browser" i konsollen.
Her er syntaksen for å skrive ut teksten i konsollen:
System.ute.Println ("Åpne eBay -nettstedet i Chrome Browser");
I denne delen av koden lukker vi nå det for øyeblikket åpnet nettleservinduet ved hjelp av close () -metoden.
Her er syntakskoden for å lukke det gjeldende nettleservinduet og skrive ut “Lukk nettleseren” -teksten inn i konsollen:
sjåfør.Lukk();
System.ute.Println ("Lukk nettleseren");
Nå refererer den endelige delen av koden til å sjekke om økten er ødelagt eller ikke:
SessionId ID = ((RemoteWeBdriver) Driver).getSessionId ();
I den tidligere gitt koden brukes Remotewebdriver-klassen til å hente økt-IDen til webdriveren. En webdriver -server brukes til å kommunisere med en ekstern nettleser ved hjelp av RemoteWeBdriver -klassen, en underklasse av WebDriver -klassen. GetSessionId () -metoden brukes til å hente økt -IDen hvis den er aktiv.
System.ute.println ("Få økt -ID etter å ha avsluttet metoden:" + ID);
Systemet.ute.println () er Java -funksjonen som brukes til å skrive ut strengen og variable verdier. Her trykker vi økt -IDen til webdriveren.
I det følgende skjermbildet kan vi se utgangsresultatet av den utførte koden:
Som du kan observere, lukker den forrige koden for forrige kode (). Men likevel er WebDriver Session ID aktivert som skrives ut til forrige konsoll.
Tilnærming 2: Lukk hvert nettleservindu og avslutt WebDriver -økten
I Selenium gjør metoden Quit (). La oss ta scenariet, der vi åpner Chrome -nettleseren og lukker alle de åpnede fanene i Chrome -nettleseren, og sjekk om begge økt -ID -en blir null.
La oss begynne å implementere!
Du kan henvise til hele koden som vi ga i følgende illustrasjon. Etter det deler vi ned denne koden i små biter slik at du kan forstå hvilken funksjon hver og en serverer.
pakke ui;
Importer Java.tid.Varighet;
Import org.Openqa.Selen.krom.Chromedriver;
Import org.Openqa.Selen.Fjernkontroll.Remotewebdriver;
Import org.Openqa.Selen.Fjernkontroll.Øktnummer;
public class close_browser
public static void main (String [] args)
System.SetProperty ("Webdriver.krom.Driver "," C: \\ nettleserdrivere \\ Chromedriver.exe ");
Chromedriver Driver = new Chromedriver ();
sjåfør.få til().vindu().maksimere ();
sjåfør.få til().Timeouts ().Implisitt vises (varighet.av sekunder (10));
sjåfør.få ("https: // www.eBay.com/");
System.ute.Println ("Åpne eBay -nettstedet i Chrome Browser");
sjåfør.slutte();
System.ute.Println ("Lukk nettleseren");
SessionId ID = ((RemoteWeBdriver) Driver).getSessionId ();
System.ute.println ("Få økt -ID etter å ha avsluttet metoden:" + ID);
La oss nå bryte ned den medfølgende kodelinjen for linje og forklare hvordan hver linje fungerer.
For dette scenarioimplementeringen gjentar vi alle de samme trinnene i tilnærmingen nr. 1. For å starte nettleseren, maksimere nettleseren og implementere den implisitte ventetiden.
I denne delen av koden lukker vi nå alle vinduene åpnet nettlesere ved hjelp av QUIT () -metoden.
Her er syntakskoden for å lukke alle nettleservinduene og skrive ut "Lukk nettleseren" -teksten inn i konsollen:
sjåfør.slutte();
System.ute.Println ("Lukk nettleseren");
Nå refererer den endelige delen av koden til å sjekke om økten er ødelagt eller ikke:
SessionId ID = ((RemoteWeBdriver) Driver).getSessionId ();
I den tidligere gitt koden brukes Remotewebdriver-klassen til å hente økt-IDen til webdriveren. En webdriver -server brukes til å kommunisere med en ekstern nettleser ved hjelp av RemoteWeBdriver -klassen, en underklasse av WebDriver -klassen. GetSessionId () -metoden sjekker om økten er null.
System.ute.println ("Få økt -ID etter å ha avsluttet metoden:" + ID);
Systemet.ute.println () er Java -funksjonen som brukes til å skrive ut strengen og variable verdier. Her trykker vi økt -IDen til webdriveren.
I det følgende skjermbildet kan vi se utgangsresultatet av utført kode:
Som du kan observere, lukker metoden for forrige kode () -metoden alle de åpnede nettleser -fanene og ødelegger WebDriver -økten som er skrevet ut i forrige konsoll som er NULL.
Konklusjon
Du lærte de to metodene for å lukke nettleseren: lukk () og avslutte () metoder. Denne artikkelen forklarte begge metodene i detalj om hvor du kan bruke close () -metoden og hvor du kan bruke Quit () -metoden. Deretter implementerte vi begge tilnærmingene med eksemplet for å sjekke om WebDriver -sesjons -IDen er i live eller ikke. Denne opplæringen er best for både nybegynnere og erfarne utviklere.