I denne opplæringen vil vi lære hvordan du håndterer popup i Selen og forskjellige typer varsler som finnes i webapplikasjonstesting. Vi vil også se hvordan vi håndterer Alert i Selenium WebDriver og lære hvordan vi godtar og avviser varselet, avhengig av varslingstyper.
I denne veiledningen vil du lære-
- Hva er varsel?
- Hvordan håndtere varsel i Selenium WebDriver
- Hvordan håndtere Selenium Popup-vindu ved hjelp av Webdriver
Hva er varsel i selen?
En varsel i selen er en liten meldingsboks som vises på skjermen for å gi brukeren litt informasjon eller varsling. Det varsler brukeren med spesifikk informasjon eller feil, ber om tillatelse til å utføre bestemte oppgaver, og det gir også advarsler.
Her er få varsler i selentyper:
1) Enkel varsel
Den enkle varslingsklassen i Selen viser litt informasjon eller advarsel på skjermen.
2) Spør varsel.
Denne ledeteksten ber om innspill fra brukeren, og Selenium webdriver kan skrive inn teksten ved hjelp av sendetaster ("input
…. ").3) Bekreftelsesvarsel.
Denne bekreftelsesvarselen ber om tillatelse til å utføre noen type operasjoner.
Hvordan håndtere varsel i Selenium WebDriver
Varselgrensesnittet gir noen få metoder som er mye brukt i Selenium Webdriver.
1) ugyldig avskjed () // For å klikke på 'Avbryt' -knappen i varselet.
driver.switchTo (). alarm (). avvis ();
2) ugyldig godta () // For å klikke på 'OK' -knappen i varselet.
driver.switchTo (). alarm (). godta ();
3) String getText () // For å fange varselmeldingen.
driver.switchTo (). alarm (). getText ();
4) ugyldige sendKeys (String stringToSend) // For å sende data til varselboksen.
driver.switchTo (). alarm (). sendKeys ("Tekst");
Du kan se at en rekke varselsmetoder vises som vist i skjermbildet nedenfor, foreslått av Eclipse.
Vi kan enkelt bytte til varsel fra hovedvinduet ved hjelp av Seleniums .switchTo () -metoden.
Nå automatiserer vi det gitte scenariet nedenfor.
I dette scenariet vil vi bruke Guru99 demoside for å illustrere håndtering av Selen Alert.
Trinn 1) Start nettleseren og åpne nettstedet "http://demo.guru99.com/test/delete_customer.php"
Trinn 2) Angi hvilken som helst kunde-ID.
Trinn 3) Etter å ha tastet inn kunde-ID, klikk på "Send" -knappen.
Trinn 4) Avvis / godta varselet.
Håndtering av varsel i Selenium Webdriver ved bruk av scenariet ovenfor
importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.chrome.ChromeDriver;importer org.openqa.selenium.NoAlertPresentException;importer org.openqa.selenium.Alert;offentlig klasse AlertDemo {public static void main (String [] args) kaster NoAlertPresentException, InterruptedException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver driver = ny ChromeDriver ();// Alert Melding håndteringdriver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("submit")). submit ();// Bytter til varselAlert alert = driver.switchTo (). Alert ();// Fanger varselmelding.String alertMessage = driver.switchTo (). Alert (). GetText ();// Viser varselmeldingSystem.out.println (alertMessage);Tråd. Søvn (5000);// Godtar varselalert.accept ();}}
Utgang:
Når du utfører koden ovenfor, starter den nettstedet. Prøv å slette kunde-ID ved å håndtere bekreftelsesvarsel som vises på skjermen, og slett derved kunde-ID fra applikasjonen.
Hvordan håndtere Selenium popup-vindu ved hjelp av Webdriver
I automatisering, når vi har flere vinduer i et hvilket som helst webapplikasjon, kan det hende at aktiviteten må bytte kontroll mellom flere vinduer fra ett til et annet for å fullføre operasjonen. Etter at operasjonen er fullført, må den gå tilbake til hovedvinduet, dvs. foreldrevinduet i Selen. Vi vil se dette videre i artikkelen med et eksempel.
I Selenium web-driver er det metoder som vi kan håndtere flere vinduer gjennom.
Driver.getWindowHandles ();
For å håndtere alle åpnede vinduer med nettdrivere, kan vi bruke "Driver.getWindowHandles ()", og deretter kan vi bytte vindu fra ett vindu til et annet i et webapplikasjon. Returtypen er Iterator
Driver.getWindowHandle ();
Når nettstedet åpnes, må vi håndtere hovedvinduet av driver.getWindowHandle () . Dette vil håndtere det nåværende vinduet som unikt identifiserer det i denne driverforekomsten. Returtypen er String.
For vinduhåndtering i Selen vil vi følge trinnene nedenfor:
Nå vil vi automatisere det gitte scenariet nedenfor for å se hvordan du håndterer flere vinduer ved hjelp av Selenium Webdriver.
I dette scenariet vil vi bruke "Guru99" demoside for å illustrere vinduhåndtering.
Trinn 1) Start nettstedet.
Start nettleseren og åpne nettstedet " http://demo.guru99.com/popup.php "
Trinn 2) Klikk på lenken "Klikk her".
Når brukeren klikker på lenken "Klikk her", åpnes et nytt underordnet vindu.
Trinn 3) Nytt barnevindu åpnes.
Et nytt vindu åpnes, be brukeren om å oppgi e-post-ID og sende inn siden.
Trinn 4) Skriv inn din e-post-ID og send inn.
Trinn 5) Vis tilgangsinformasjonen når du sender inn siden.
Når du utfører koden, vil du se at barnevinduet er åpent i den nye fanen.
- Lukk Underordnet-vinduet der legitimasjonen vises.
- Bytt til foreldrevinduet.
Håndtere flere vinduer i Selenium webdriver ved å bruke scenariet ovenfor.
importere java.util.Iterator;importere java.util.Set;importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.firefox.FirefoxDriver;offentlig klasse WindowHandle_Demo {public static void main (String [] args) kaster InterruptedException {WebDriver-driver = ny FirefoxDriver ();// Lansering av nettstedet.driver.get ("http://demo.guru99.com/popup.php");driver.manage (). vindu (). maksimere ();driver.findElement (By.xpath ("// * [inneholder (@ href, 'popup.php')]")). klikk ();String MainWindow = driver.getWindowHandle ();// For å håndtere alt nytt åpnet vindu.Setts1 = driver.getWindowHandles ();Iterator i1 = s1.iterator ();mens (i1.hasNext ()){String ChildWindow = i1.next ();hvis (! MainWindow.equalsIgnoreCase (ChildWindow)){// Bytte til barn-vinduetdriver.switchTo (). vindu (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys (" Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den.");driver.findElement (By.name ("btnLogin")). klikk ();// Lukke barnevinduet.driver.close ();}}// Bytte til foreldrevinduet dvs. hovedvinduet.driver.switchTo (). vindu (MainWindow);}}
Produksjon:
Når du utfører ovennevnte kode, starter den nettstedet, og når du klikker på lenken "Klikk her", åpnes det et undervindu i en ny fane. Du kan lukke barnevinduet og bytte til foreldrevinduet når operasjonen er fullført. Derfor håndterer du mer enn ett vindu i applikasjonen.
Håndtering av flere vinduer i selen
Konklusjon:
- Vi definerte typer varsler og viste dem med et skjermbilde.
- Demonstrert håndtering av varselet med Selenium WebDriver ved bruk av et bestemt scenario.
- Håndterte flere vinduer med Selenium WebDriver ved å bruke et bestemt scenario.