Upozorenje o selenu & Rukovanje skočnim prozorima: kako postupati?

Sadržaj:

Anonim

U ovom uputstvu naučit ćemo kako se rukuje iskačućim prozorima u selenu i različitim vrstama upozorenja koja se nalaze u testiranju web aplikacija. Također ćemo vidjeti kako postupati s upozorenjem u programu Selenium WebDriver i naučiti kako prihvaćamo i odbijamo upozorenje, ovisno o vrstama upozorenja.

U ovom vodiču naučit ćete-

  • Što je Alert?
  • Kako se rukuje upozorenjem u programu Selenium WebDriver
  • Kako postupati sa skočnim prozorom Selenium pomoću Webdrivera

Što je Alert u selenu?

Uzbuna u selena je mali okvir s porukom koji se pojavljuje na zaslonu da korisnik neku informaciju ili obavijest. Obavještava korisnika s određenim informacijama ili pogreškama, traži dopuštenje za obavljanje određenih zadataka, a također pruža i poruke upozorenja.

Evo nekoliko upozorenja u vrstama selena:

1) Jednostavno upozorenje

Jednostavna klasa upozorenja u seleniju prikazuje neke informacije ili upozorenja na zaslonu.

2) promptno upozorenje.

Ovo promptno upozorenje traži od korisnika unos, a selenium webdriver može unijeti tekst pomoću tipki za slanje ("input

... ").

3) Upozorenje o potvrdi.

Ovo upozorenje za potvrdu traži dopuštenje za izvršavanje neke vrste radnje.

Kako se rukuje upozorenjem u programu Selenium WebDriver

Sučelje upozorenja nudi nekoliko metoda koje se široko koriste u Selenium Webdriver.

1) void dismiss () // Za klik na gumb "Odustani" upozorenja.

driver.switchTo (). alert (). dismiss ();

2) void accept () // Za klik na gumb "U redu" upozorenja.

driver.switchTo (). alert (). accept ();

3) String getText () // Za snimanje poruke upozorenja.

driver.switchTo (). alert (). getText (); 

4) void sendKeys (String stringToSend) // Za slanje nekih podataka u okvir upozorenja.

driver.switchTo (). alert (). sendKeys ("Tekst");

Možete vidjeti kako se prikazuju brojne metode upozorenja kako je prikazano na donjem zaslonu koji je predložio Eclipse.

Pomoću selenijeve metode .switchTo () lako se možemo prebaciti na upozorenje iz glavnog prozora .

Sada automatiziramo donji scenarij.

U ovom ćemo scenariju koristiti demonstracijsku stranicu Guru99 da bismo ilustrirali rukovanje upozorenjem Selenium.

Korak 1) Pokrenite web preglednik i otvorite web mjesto "http://demo.guru99.com/test/delete_customer.php"

Korak 2) Unesite bilo koji ID kupca.

Korak 3) Nakon unosa korisničkog ID-a, kliknite gumb "Pošalji".

Korak 4) Odbijte / prihvatite upozorenje.

Rukovanje upozorenjem u programu Selenium Webdriver koristeći gornji scenarij

uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.NoAlertPresentException;import org.openqa.selenium.Alert;javna klasa AlertDemo {public static void main (String [] args) baca NoAlertPresentException, InterruptedException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Upravljački program WebDriver = novi ChromeDriver ();// Rukovanje porukama upozorenjadriver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("submit")). submit ();// Prebacivanje na upozorenjeUpozorenje upozorenja = driver.switchTo (). Alert ();// Snimanje poruke upozorenja.Niz alertMessage = driver.switchTo (). Alert (). GetText ();// Prikaz poruke upozorenjaSystem.out.println (alertMessage);Navoj.spavanje (5000);// Prihvaćanje upozorenjaalert.accept ();}}

Izlaz:

Kada izvršite gornji kod, on pokreće web mjesto. Pokušajte izbrisati korisnički ID rukovanjem upozorenjem za potvrdu koje se prikazuje na zaslonu, a time i brisanjem korisničkog ID-a iz aplikacije.

Kako postupati sa skočnim prozorom Selenium pomoću Webdrivera

U automatizaciji, kada imamo više prozora u bilo kojoj web aplikaciji, aktivnost će možda trebati prebaciti kontrolu između nekoliko prozora s jednog na drugi kako bi se dovršila operacija. Nakon završetka operacije mora se vratiti u glavni prozor, tj. Nadređeni prozor u Seleniju. To ćemo vidjeti dalje u članku s primjerom.

U web pogonitelju Selenium postoje metode pomoću kojih možemo obraditi više prozora.

Driver.getWindowHandles ();

Za rukovanje svim otvorenim prozorima pomoću web upravljačkog programa možemo koristiti "Driver.getWindowHandles ()", a zatim možemo prebaciti prozor s jednog prozora na drugi u web aplikaciji. Njegov je povratni tip Iterator .

Driver.getWindowHandle ();

Kada se web stranica otvori, s glavnim prozorom moramo upravljati po driver.getWindowHandle () . Ovo će obraditi trenutni prozor koji ga jedinstveno identificira unutar ove instance upravljačkog programa. Njegov je povratni tip String.

Za rukovanje prozorima u selenu, slijedit ćemo sljedeće korake:

Sada ćemo automatizirati donji scenarij kako bismo vidjeli kako se rukuje s više prozora pomoću programa Selenium Webdriver.

U ovom ćemo scenariju koristiti demonstracijsku stranicu "Guru99" za ilustraciju rukovanja prozorima.

Korak 1) Pokrenite web mjesto.

Pokrenite preglednik i otvorite web mjesto " http://demo.guru99.com/popup.php "

Korak 2) Kliknite vezu "Kliknite ovdje".

Kada korisnik klikne na vezu "Kliknite ovdje", otvara se novi podređeni prozor.

Korak 3) Otvara se novi dječji prozor.

Otvara se novi prozor, zatražite od korisnika da unese ID e-pošte i pošalje stranicu.

Korak 4) Unesite svoj ID e-pošte i pošaljite.

Korak 5) Pri predaji stranice prikažite vjerodajnice za pristup.

Kada izvršite kôd, vidjet ćete da je podređeni prozor otvoren na novoj kartici.

  1. Zatvorite podređeni prozor na kojem se prikazuju vjerodajnice.
  1. Prebacite se na roditeljski prozor.

Rukovanje više prozora u programu Selenium webdriver koristeći gornji scenarij.

import java.util.Iterator;import java.util.Set;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.firefox.FirefoxDriver;javna klasa WindowHandle_Demo {javna statička void glavna (String [] args) baca InterruptedException {Upravljački program za WebDriver = novi FirefoxDriver ();// Pokretanje stranice.driver.get ("http://demo.guru99.com/popup.php");driver.manage (). window (). maximize ();driver.findElement (By.xpath ("// * [sadrži (@ href, 'popup.php')]")). click ();Niz MainWindow = driver.getWindowHandle ();// Za rukovanje svim novim otvorenim prozorom.Postavi  s1 = driver.getWindowHandles ();Iterator  i1 = s1.iterator ();while (i1.hasNext ()){String ChildWindow = i1.next ();if (! MainWindow.equalsIgnoreCase (ChildWindow)){// Prebacivanje na Child prozordriver.switchTo (). window (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys (" Ova adresa e-pošte zaštićena je od neželjenih robota, potreban vam je omogućen JavaScript da biste je vidjeli.");driver.findElement (By.name ("btnLogin")). click ();// Zatvaranje prozora za dijete.driver.close ();}}// Prebacivanje na roditeljski prozor tj. Glavni prozor.driver.switchTo (). window (MainWindow);}}

Izlaz:

Kada izvršite gornji kod, on pokreće web mjesto i klikom na vezu "Kliknite ovdje", otvara se podređeni prozor na novoj kartici. Možete zatvoriti podređeni prozor i prebaciti se na nadređeni prozor nakon što je operacija u potpunosti gotova. Dakle, rukovanje s više prozora u aplikaciji.

Višestruko rukovanje prozorima u selenu

Zaključak:

  • Definirali smo vrste upozorenja i prikazali ih snimkom zaslona.
  • Pokazano rukovanje upozorenjem pomoću Selenium WebDriver koristeći određeni scenarij.
  • Obrađivao je više prozora pomoću programa Selenium WebDriver koristeći određeni scenarij.