În acest tutorial, vom învăța cum să gestionăm fereastra popup în Selenium și diferite tipuri de alerte găsite în Testarea aplicațiilor web. De asemenea, vom vedea cum să gestionăm Alerta în Selenium WebDriver și vom afla cum acceptăm și respingem alerta în funcție de tipurile de alertă.
În acest tutorial, veți învăța-
- Ce este Alert?
- Cum să gestionați Alertă în Selenium WebDriver
- Cum să gestionați fereastra Popen Selenium utilizând Webdriver
Ce este alerta în seleniu?
O alertă în seleniu este o mică casetă de mesaj care apare pe ecran pentru a oferi utilizatorului informații sau notificări. Notifică utilizatorul cu anumite informații sau erori specifice, solicită permisiunea de a efectua anumite sarcini și oferă, de asemenea, mesaje de avertizare.
Iată câteva alerte în tipurile de seleniu:
1) Alertă simplă
Clasa simplă de alertă din Selenium afișează unele informații sau avertisment pe ecran.
2) Alertă promptă.
Această alertă de solicitare solicită informații de la utilizator, iar Selenium webdriver poate introduce textul folosind tastele send („input”
…. ").3) Alertă de confirmare.
Această alertă de confirmare cere permisiunea de a efectua un anumit tip de operație.
Cum să gestionați Alertă în Selenium WebDriver
Interfața de alertă oferă câteva metode de mai jos, care sunt utilizate pe scară largă în Selenium Webdriver.
1) void dismiss () // Pentru a face clic pe butonul „Cancel” din alertă.
driver.switchTo (). alert (). dismiss ();
2) void accept () // Pentru a face clic pe butonul „OK” din alertă.
driver.switchTo (). alert (). accept ();
3) String getText () // Pentru a captura mesajul de alertă.
driver.switchTo (). alert (). getText ();
4) void sendKeys (String stringToSend) // Pentru a trimite câteva date în caseta de alertă.
driver.switchTo (). alert (). sendKeys ("Text");
Puteți vedea un număr de metode de alertă sunt afișate așa cum se arată în ecranul de mai jos sugerat de Eclipse.
Putem trece cu ușurință la alertă din fereastra principală utilizând metoda .switchTo () a lui Selenium .
Acum automatizăm scenariul de mai jos.
În acest scenariu, vom utiliza site-ul de demonstrație Guru99 pentru a ilustra modul de manipulare a alertelor de seleniu.
Pasul 1) Lansați browserul web și deschideți site-ul „http://demo.guru99.com/test/delete_customer.php”
Pasul 2) Introduceți orice ID de client.
Pasul 3) După introducerea codului de client, faceți clic pe butonul „Trimiteți”.
Pasul 4) Respingeți / acceptați alerta.
Gestionarea alertei în Selenium Webdriver folosind scenariul de mai sus
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.NoAlertPresentException;import org.openqa.selenium.Alert;public class AlertDemo {public static main principal (String [] args) aruncă NoAlertPresentException, InterruptedException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Driver WebDriver = nou ChromeDriver ();// Gestionarea mesajelor de alertădriver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("submit")). submit ();// Trecerea la AlertăAlert alert = driver.switchTo (). Alert ();// Captarea mesajului de alertă.String alertMessage = driver.switchTo (). Alert (). GetText ();// Afișarea mesajului de alertăSystem.out.println (alertMessage);Thread.sleep (5000);// Acceptarea alerteialert.accept ();}}
Ieșire:
Când executați codul de mai sus, acesta lansează site-ul. Încercați să ștergeți ID-ul clientului gestionând alerta de confirmare care se afișează pe ecran și ștergând astfel ID-ul clientului din aplicație.
Cum să gestionați fereastra pop-up Selenium utilizând Webdriver
În automatizare, atunci când avem mai multe ferestre în orice aplicație web, activitatea poate fi necesară pentru a comuta controlul între mai multe ferestre de la una la alta pentru a finaliza operațiunea. După finalizarea operației, trebuie să revină la fereastra principală, adică la fereastra părinte din Selenium. Vom vedea acest lucru mai departe în articol cu un exemplu.
În driverul web Selenium există metode prin care putem gestiona mai multe ferestre.
Driver.getWindowHandles ();
Pentru a gestiona toate ferestrele deschise de driverul web, putem folosi „Driver.getWindowHandles ()” și apoi putem comuta fereastra de la o fereastră la alta într-o aplicație web. Tipul său de returnare este Iterator
Driver.getWindowHandle ();
Când site-ul se deschide, trebuie să gestionăm fereastra principală de driver.getWindowHandle () . Aceasta va gestiona fereastra curentă care o identifică în mod unic în această instanță a driverului. Tipul său de returnare este String.
Pentru manipularea ferestrelor în seleniu, vom urma pașii de mai jos:
Acum, vom automatiza scenariul de mai jos pentru a vedea cum să gestionați mai multe ferestre folosind Selenium Webdriver.
În acest scenariu, vom folosi site-ul demonstrativ „Guru99” pentru a ilustra modul de gestionare a ferestrelor.
Pasul 1) Lansați site-ul.
Lansați browserul și deschideți site-ul „ http://demo.guru99.com/popup.php ”
Pasul 2) Faceți clic pe linkul „Faceți clic aici”.
Când utilizatorul face clic pe linkul „Faceți clic aici”, se deschide o nouă fereastră copil.
Pasul 3) Se deschide fereastra pentru copii noi.
Se deschide o nouă fereastră, cereți utilizatorului să introducă un e-mail și să trimită pagina.
Pasul 4) Introduceți ID-ul de e-mail și trimiteți.
Pasul 5) Afișați acreditările de acces la trimiterea paginii.
Când executați codul, veți vedea că fereastra copilului este deschisă în fila nouă.
- Închideți fereastra Child pe care sunt afișate acreditările.
- Treceți la fereastra părinte.
Gestionarea mai multor ferestre în selenium webdriver folosind scenariul de mai sus.
import java.util.Iterator;import java.util.Set;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;public class WindowHandle_Demo {public static main principal (String [] args) aruncă InterruptedException {Driver WebDriver = nou FirefoxDriver ();// Lansarea site-ului.driver.get ("http://demo.guru99.com/popup.php");driver.manage (). window (). maximize ();driver.findElement (By.xpath ("// * [contains (@ href, 'popup.php')]")). click ();String MainWindow = driver.getWindowHandle ();// Pentru a gestiona toate ferestrele noi deschise.Setațis1 = driver.getWindowHandles ();Iterator i1 = s1.iterator ();while (i1.hasNext ()){String ChildWindow = i1.next ();if (! MainWindow.equalsIgnoreCase (ChildWindow)){// Comutarea la fereastra Copildriver.switchTo (). window (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys (" Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza.");driver.findElement (By.name ("btnLogin")). faceți clic pe ();// Închiderea ferestrei copil.driver.close ();}}// Comutarea la fereastra părinte, adică fereastra principală.driver.switchTo (). fereastră (MainWindow);}}
Ieșire:
Când executați codul de mai sus, acesta lansează site-ul și făcând clic pe linkul „Faceți clic aici”, deschide o fereastră copil într-o filă nouă. Puteți închide fereastra copil și puteți trece la fereastra părinte odată ce operațiunea este completă. Prin urmare, gestionarea mai multor ferestre din aplicație.
Manipularea ferestrelor multiple în seleniu
Concluzie:
- Am definit tipurile de alertă și le-am arătat cu o captură de ecran.
- Demonstrarea manipulării Alertei cu Selenium WebDriver folosind un scenariu special.
- Am gestionat mai multe ferestre cu Selenium WebDriver folosind un scenariu special.