In questo articolo, discuteremo dei metodi per chiudere il browser. Selenio supporta due metodi per chiudere il browser: (1) metodo chiuso () e (2) smettere (). Ma entrambi sono usati in diverse situazioni. Spiegheremo come e dove usiamo ciascuno di essi con un esempio implementato. Questo articolo implementa due approcci per verificare se l'ID sessione del WebDriver è attivo o nullo.
Come chiudere un browser in selenio
La chiusura del browser è una delle operazioni al termine del test di verifica del sito Web. Il framework Selenium fornisce anche i comandi per chiudere l'intero browser o le schede dopo aver terminato i test di automazione con l'aiuto di WebDriver.
Selenio supporta due metodi per chiudere i browser: (1) Driver.Driver Close () e (2).esentato(). Come e quando viene utilizzato ciascuno dei metodi nel seguente:
Metodo Close ()
Il metodo Close () è una delle operazioni supportate da Selenio per chiudere la finestra del browser che è a fuoco. Se ci sono più schede aperte nel browser, il metodo Close (), con l'aiuto dei webdriver, chiude solo la scheda focalizzata su cui è attualmente in esecuzione il test di automazione del selenio e il resto delle schede non è chiuso. Il metodo Close () chiude solo la scheda corrente ma non distrugge la sessione del webdriver.
La sintassi per chiudere la finestra del browser è indicata nel seguente:
autista.vicino()
Dove il "driver" è l'istanza del webdriver.
METODO QUIT ()
Il framework Selenium supporta l'operazione Quit () per chiudere tutte le schede aperte del browser. Il metodo Quit () consente di chiudere tutte le schede aperte nel browser. Il WebDriver del browser utilizza il metodo Quit () per terminare la sessione del WebDriver che è attualmente attiva.
Il metodo Quit () non solo chiude tutte le schede del browser aperte, ma termina le sessioni di WebDriver chiamando il driver.Metodo di smaltimento. Nel caso in cui il WebDriver non distrugga la sessione dopo aver chiuso le finestre del browser, ci sono possibilità di percorrere file di memoria ed errori.
La sintassi per chiudere la finestra del browser è indicata nel seguente:
autista.esentato()
Dove il "driver" è l'istanza del webdriver.
Approccio 1: chiudere l'attuale finestra del browser mantenendo viva la sessione del webdriver
In selenio, il metodo Close () abilita la sessione WebDriver dopo aver chiuso la scheda corrente. Prendiamo uno scenario in cui apriamo il browser e chiudiamo la scheda attualmente focalizzata, quindi controlla se la sessione non è chiusa. Per fare ciò, usiamo https: // www.eBay.com/ sito web.
Cominciamo ad implementare!
Innanzitutto, crea il file java con il nome come chiust_browser.Giava. Inoltre, seleziona l'opzione della classe void statica. Quindi, il file Java crea automaticamente la classe pubblica con il nome del file e genera una classe principale statica pubblica. Il codice è menzionato come segue:
Classe pubblica Close_Browser
public static void main (string [] args)
Ora, importiamo i pacchetti necessari di WebDriver, SessionID, RemoteWebRiver e Time.Durata per la classe implicita.
Ecco il codice per il pacchetto di importazione necessario:
Importa Java.tempo.Durata;
Org di importazione.Openqa.selenio.cromo.Cromedriver;
Org di importazione.Openqa.selenio.a distanza.Remotewebdriver;
Org di importazione.Openqa.selenio.a distanza.Sessionid;
Puoi fare riferimento all'intero codice che abbiamo fornito di seguito. In seguito, abbattiamo questo codice in piccoli blocchi in modo da poter capire quale funzione svolge ognuno.
pacchetto UI;
Importa Java.tempo.Durata;
Org di importazione.Openqa.selenio.cromo.Cromedriver;
Org di importazione.Openqa.selenio.a distanza.Remotewebdriver;
Org di importazione.Openqa.selenio.a distanza.Sessionid;
Classe pubblica Close_Browser
public static void main (string [] args)
Sistema.setProperty ("WebDriver.cromo.Driver "," C: \\ browserdrivers \\ Chromedriver.exe");
Driver ChromeDriver = new ChromeDriver ();
autista.maneggio().finestra().massimizzare ();
autista.maneggio().timeouts ().Implicitamente salutare (durata.di Seconds (10));
autista.get ("https: // www.eBay.com/");
Sistema.fuori.println ("Apri il sito Web eBay nel browser Chrome");
autista.vicino();
Sistema.fuori.println ("Chiudi il browser");
SessionID ID = ((RemoteWEbDriver) driver).getSessionId ();
Sistema.fuori.println ("Ottieni ID sessione dopo aver chiuso il metodo:" + id);
Ora abbattiamo la linea di codice precedente per riga e spieghiamo come funziona ogni riga.
Per questa implementazione dello scenario, utilizziamo il browser Chrome. Nella sezione iniziale del codice, accedi alla directory locale dei driver Chrome prima di avviare i driver del browser Chrome.
La seguente sintassi viene utilizzata per implementarla:
Sistema.setProperty ("WebDriver.cromo.Driver "," C: \\ browserdrivers \\ Chromedriver.exe");
Driver ChromeDriver = new ChromeDriver ();
Successivamente, massimizziamo la finestra del browser usando la seguente sintassi:
autista.maneggio().finestra().massimizzare ();
Tieni presente che il caricamento di tutti gli elementi della pagina web, questa funzione attende fino a quando non viene fornita l'attesa implicita per il driver, come abbiamo fornito nel nostro codice seguente:
autista.maneggio().timeouts ().Implicitamente salutare (durata.di Seconds (10));
autista.get ("https: // www.eBay.com/");
L'implictlyWait () è il metodo per eseguire l'attesa implicita. La funzione di durata menziona il ritardo, il "Secondo" è l'unità temporale, mentre il programma attende 10 secondi per caricare gli elementi e aprire il sito Web URL richiesto.
Dopo che il sito Web richiesto si apriva nel browser, stampare il "Apri il sito Web eBay nel browser Chrome" nella console.
Ecco la sintassi per stampare il testo nella console:
Sistema.fuori.println ("Apri il sito Web eBay nel browser Chrome");
In questo pezzo di codice, ora chiudiamo la finestra del browser attualmente aperta usando il metodo Close ().
Ecco il codice di sintassi per chiudere la finestra del browser corrente e stampare il testo "Chiudi il browser" nella console:
autista.vicino();
Sistema.fuori.println ("Chiudi il browser");
Ora, il blocco finale del codice si riferisce al controllo se la sessione viene distrutta o no:
SessionID ID = ((RemoteWEbDriver) driver).getSessionId ();
Nel codice precedentemente offerto, la classe RemoteWebRiver viene utilizzata per recuperare l'ID sessione del WebDriver. Un server WebDriver viene utilizzato per comunicare con un browser Web remoto utilizzando la classe RemoteWebRiver, una sottoclasse della classe WebDriver. Il metodo getSessionid () viene utilizzato per recuperare l'ID sessione se attivo.
Sistema.fuori.println ("Ottieni ID sessione dopo aver chiuso il metodo:" + id);
Il sistema.fuori.println () è la funzione Java che viene utilizzata per stampare i valori di stringa e variabili. Qui, stampiamo l'ID sessione del webdriver.
Nella seguente screenshot, possiamo vedere il risultato di output del codice eseguito:
Come puoi osservare, dopo l'esecuzione del codice precedente, il metodo Close () chiude la scheda del browser di lavoro corrente. Tuttavia, viene attivato l'ID sessione del webdriver che viene stampato nella console precedente.
Approccio 2: chiudere ogni finestra del browser e terminare la sessione del webdriver
In selenio, il metodo Quit () consente alla sessione del WebDriver di terminare e chiudere tutte le schede aperte. Prendiamo lo scenario, dove apriremo il browser Chrome e chiudiamo tutte le schede aperte nel browser Chrome, quindi controlla se l'ID di sessione diventa nullo.
Cominciamo ad implementare!
Puoi fare riferimento all'intero codice che abbiamo fornito nella seguente illustrazione. In seguito, abbattiamo questo codice in piccoli blocchi in modo da poter capire quale funzione svolge ognuno.
pacchetto UI;
Importa Java.tempo.Durata;
Org di importazione.Openqa.selenio.cromo.Cromedriver;
Org di importazione.Openqa.selenio.a distanza.Remotewebdriver;
Org di importazione.Openqa.selenio.a distanza.Sessionid;
Classe pubblica Close_Browser
public static void main (string [] args)
Sistema.setProperty ("WebDriver.cromo.Driver "," C: \\ browserdrivers \\ Chromedriver.exe");
Driver ChromeDriver = new ChromeDriver ();
autista.maneggio().finestra().massimizzare ();
autista.maneggio().timeouts ().Implicitamente salutare (durata.di Seconds (10));
autista.get ("https: // www.eBay.com/");
Sistema.fuori.println ("Apri il sito Web eBay nel browser Chrome");
autista.esentato();
Sistema.fuori.println ("Chiudi il browser");
SessionID ID = ((RemoteWEbDriver) driver).getSessionId ();
Sistema.fuori.println ("Ottieni ID sessione dopo aver chiuso il metodo:" + id);
Ora abbattiamo la riga di codice fornita per riga e spieghiamo come funziona ogni riga.
Per questa implementazione dello scenario, ripetiamo tutti gli stessi passaggi dell'approccio n. 1. Per lanciare il browser, massimizzare il browser e implementare l'attesa implicita.
In questo pezzo di codice, ora chiudiamo tutta la finestra dei browser aperti usando il metodo Quit ().
Ecco il codice di sintassi per chiudere tutta la finestra dei browser e stampare il testo "Chiudi il browser" nella console:
autista.esentato();
Sistema.fuori.println ("Chiudi il browser");
Ora, il blocco finale del codice si riferisce al controllo se la sessione viene distrutta o no:
SessionID ID = ((RemoteWEbDriver) driver).getSessionId ();
Nel codice precedentemente offerto, la classe RemoteWebRiver viene utilizzata per recuperare l'ID sessione del WebDriver. Un server WebDriver viene utilizzato per comunicare con un browser Web remoto utilizzando la classe RemoteWebRiver, una sottoclasse della classe WebDriver. Il metodo getSessionid () controlla se la sessione è null.
Sistema.fuori.println ("Ottieni ID sessione dopo aver chiuso il metodo:" + id);
Il sistema.fuori.println () è la funzione Java che viene utilizzata per stampare i valori di stringa e variabili. Qui, stampiamo l'ID sessione del webdriver.
Nella seguente screenshot, possiamo vedere il risultato dell'output del codice eseguito:
Come puoi osservare, dopo aver eseguito il codice precedente, il metodo Quit () chiude tutte le schede del browser aperte e distrugge la sessione del WebDriver che viene stampata nella console precedente che è null.
Conclusione
Hai imparato i due metodi di chiusura del browser: chiust () e quit (). Questo articolo ha spiegato in dettaglio entrambi i metodi su dove utilizzare il metodo Close () e dove utilizzare il metodo Quit (). Quindi, abbiamo implementato entrambi gli approcci con l'esempio per verificare se l'ID della sessione del WebDriver è vivo o no. Questo tutorial è il migliore per gli sviluppatori sia per principianti che per.