Selenium Figyelmeztetések és felugró ablakok kezelése: Hogyan kezeljük?
Miben van az Alert Selenium?
An Figyelmeztetés be Selenium egy kis üzenetdoboz, amely a képernyőn jelenik meg, hogy a felhasználónak tájékoztatást vagy értesítést adjon. Konkrét információval, hibával értesíti a felhasználót, engedélyt kér bizonyos feladatok elvégzésére és figyelmeztető üzeneteket is ad.
Ebben az oktatóanyagban megtanuljuk, hogyan kell kezelni a felugró ablakokat Selenium és a webalkalmazásokban található különböző típusú riasztások Tesztelés. Azt is látni fogjuk, hogyan kell kezelni a riasztást Selenium WebDriver, és tanulja meg, hogyan fogadjuk el és utasítsuk el a riasztást a riasztás típusától függően.
A riasztások típusai itt Selenium
1) Simple Alert
Az egyszerű riasztási osztály Selenium bizonyos információkat vagy figyelmeztetéseket jelenít meg a képernyőn.
2) Prompt Alert
Ezt Prompt Alert kér némi inputot a felhasználótól és Selenium A webdriver a sendkeys(" input… ") segítségével tudja beírni a szöveget.
3) Confirmation Alert
Ez a megerősítő riasztás engedélyt kér bizonyos típusú műveletek elvégzésére.
Hogyan kell kezelni a riasztást Selenium webdriver
A riasztási felület az alábbi néhány módszert kínálja, amelyeket széles körben használnak Selenium Webdriver.
1) érvénytelen elvetés () // A riasztás 'Mégse' gombjára kattintva.
driver.switchTo().alert().dismiss();
2) érvénytelen elfogadás()// A riasztás 'OK' gombjára kattintva.
driver.switchTo().alert().accept();
3) String getText() // A figyelmeztető üzenet rögzítése.
driver.switchTo().alert().getText();
4) void sendKeys (StringToSend) // Néhány adat elküldése a figyelmeztető dobozba.
driver.switchTo().alert().sendKeys("Text");
Láthatja, hogy számos riasztási mód jelenik meg, ahogy az alábbi képernyőn látható, amelyet javasolt Eclipse.
A fő ablakból egyszerűen átválthatunk riasztásra a használatával Selenium'S .váltani() módszer.
Most automatizáljuk az alábbi forgatókönyvet.
Ebben a forgatókönyvben a Guru99 bemutató oldalát fogjuk használni a szemléltetésre Selenium Figyelmeztetés kezelése.
Step 1) Indítsa el a webböngészőt, és nyissa meg a webhelyet https://demo.guru99.com/test/delete_customer.php
Step 2) Adja meg a bármely ügyfél-azonosítót.
Step 3) Az ügyfélazonosító megadása után kattintson a „Küldés” gombra.
Step 4) A figyelmeztetés elutasítása/elfogadása.
Figyelmeztetés kezelése Selenium Webdriver
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 void main(String[] args) throws NoAlertPresentException,InterruptedException { System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); // Alert Message handling driver.get("https://demo.guru99.com/test/delete_customer.php"); driver.findElement(By.name("cusid")).sendKeys("53920"); driver.findElement(By.name("submit")).submit(); // Switching to Alert Alert alert = driver.switchTo().alert(); // Capturing alert message. String alertMessage= driver.switchTo().alert().getText(); // Displaying alert message System.out.println(alertMessage); Thread.sleep(5000); // Accepting alert alert.accept(); } }
output:
Amikor végrehajtja a fenti kódot, elindítja a webhelyet. Próbálja meg törölni az Ügyfél-azonosítót a képernyőn megjelenő megerősítő figyelmeztetés kezelésével, és ezzel törölje az ügyfél-azonosítót az alkalmazásból.
Hogyan kezeljük a felugró ablakokat Selenium Webdriver
Az automatizálásban, ha egy webalkalmazásban több ablakunk van, előfordulhat, hogy a tevékenységnek át kell váltania a vezérlést több ablak között a művelet befejezéséhez. A művelet befejezése után vissza kell térnie a főablakba, azaz a szülőablakba Selenium. Ezt a cikkben egy példával tovább fogjuk látni.
In Selenium web-illesztőprogram vannak olyan módszerek, amelyeken keresztül több ablakot is kezelhetünk.
Driver.getWindowHandles();
Az összes megnyitott ablak web-illesztőprogram általi kezeléséhez használhatjuk a „Driver.getWindowHandles()” parancsot, majd egy webalkalmazásban válthatunk ablakot egyik ablakról a másikra. A visszatérési típusa az Iterator .
Driver.getWindowHandle();
Amikor a webhely megnyílik, a fő ablakot kell kezelnünk driver.getWindowHandle(). Ez kezeli az aktuális ablakot, amely egyedileg azonosítja az illesztőprogram-példányon belül. A visszatérési típusa String.
Ablakkezeléshez Selenium, az alábbi lépéseket követjük:
Most automatizáljuk az alábbi forgatókönyvet, hogy megtudjuk, hogyan kell több ablakot kezelni Selenium Webdriver.
Ebben a forgatókönyvben a „Guru99” bemutató oldalt fogjuk használni az ablakkezelés illusztrálására.
Step 1) Indítsa el az oldalt.
Indítsa el a böngészőt, és nyissa meg a webhelyet https://demo.guru99.com/popup.php
Step 2) Kattintson a „Kattintson ide” linkre.
Amikor a felhasználó a „Kattintson ide” hivatkozásra kattint, új gyermekablak nyílik meg.
Step 3) Megnyílik az új gyermekablak.
Megnyílik egy új ablak, kérje meg a felhasználót, hogy adja meg az e-mail azonosítóját, és küldje el az oldalt.
Step 4) Adja meg e-mail azonosítóját és küldje el.
Step 5) Jelenítse meg a hozzáférési hitelesítő adatokat az oldal elküldésekor.
Amikor végrehajtja a kódot, látni fogja, hogy a gyermekablak új lapon van nyitva.
- Zárja be a Gyermek ablakot, amelyen a hitelesítési adatok megjelennek.
- Váltson a szülőablakra.
Hogyan kezeljük a többszöröst Windows in Selenium
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 void main(String[] args) throws InterruptedException { WebDriver driver=new FirefoxDriver(); //Launching the site. driver.get("https://demo.guru99.com/popup.php"); driver.manage().window().maximize(); driver.findElement(By.xpath("//*[contains(@href,'popup.php')]")).click(); String MainWindow=driver.getWindowHandle(); // To handle all new opened window. Set<String> s1=driver.getWindowHandles(); Iterator<String> i1=s1.iterator(); while(i1.hasNext()) { String ChildWindow=i1.next(); if(!MainWindow.equalsIgnoreCase(ChildWindow)) { // Switching to Child window driver.switchTo().window(ChildWindow); driver.findElement(By.name("emailid")) .sendKeys("gaurav.3n@gmail.com"); driver.findElement(By.name("btnLogin")).click(); // Closing the Child Window. driver.close(); } } // Switching to Parent window i.e Main Window. driver.switchTo().window(MainWindow); } }
output:
Amikor végrehajtja a fenti kódot, elindítja a webhelyet, és a „Kattintson ide” hivatkozásra kattintva megnyílik egy gyermekablak egy új lapon. A művelet befejezése után bezárhatja a gyermekablakot, és átválthat a szülőablakra. Ezért egynél több ablakot kell kezelni az alkalmazásban.
Következtetés
- Meghatároztuk a riasztások típusait, és képernyőképen mutattuk meg őket.
- Bebizonyította, hogy kezeli a riasztást Selenium WebDriver adott forgatókönyvet használva.
- Több ablakot kezelt Selenium WebDriver adott forgatókönyvet használva.