Ebben az oktatóanyagban megtudhatjuk, hogyan kell kezelni a szelén előugró ablakát és a webalkalmazás tesztelésében található különféle típusú figyelmeztetéseket. Megtudjuk azt is, hogyan kell kezelni a riasztást a Selenium WebDriver programban, és megtudhatjuk, hogyan fogadjuk el és utasítsuk el a riasztást a riasztás típusától függően.
Ebben az oktatóanyagban megtanulja-
- Mi az Alert?
- A riasztás kezelése a szelén WebDriver programban
- A Selenium Popup ablak kezelése a Webdriver használatával
Mi a riasztás a szelénben?
Az Alert in Selenium egy kicsi üzenetdoboz , amely megjelenik a képernyőn, hogy információt vagy értesítést adjon a felhasználónak. Bizonyos információkkal vagy hibákkal értesíti a felhasználót, engedélyt kér bizonyos feladatok végrehajtására, és figyelmeztető üzeneteket is ad.
Íme néhány figyelmeztetés a szeléntípusokban:
1) Egyszerű figyelmeztetés
A szelén egyszerű riasztási osztálya néhány információt vagy figyelmeztetést jelenít meg a képernyőn.
2) Azonnali figyelmeztetés.
Ez az Értesítés riasztást kér a felhasználótól, és a Selenium webmeghajtó a kulcsokat használhatja ("input
…. ").3) Megerősítő figyelmeztetés.
Ez a megerősítő figyelmeztetés engedélyt kér valamilyen művelet végrehajtására.
A riasztás kezelése a szelén WebDriver programban
Az Alert interfész az alábbi néhány módszert biztosítja, amelyeket a Selenium Webdriver széles körben használ.
1) void rej (( // ) // A riasztás „Mégse” gombra kattintásához.
driver.switchTo (). figyelmeztetés (). elutasítás ();
2) void accept () // A riasztás 'OK' gombjára való kattintáshoz.
driver.switchTo (). alert (). accept ();
3) String getText () // A riasztási üzenet rögzítéséhez.
driver.switchTo (). alert (). getText ();
4) void sendKeys (String stringToSend) // Adatok küldése riasztó mezőbe.
driver.switchTo (). alert (). sendKeys ("Text");
Láthatja, hogy számos riasztási módszer jelenik meg, amint az az Eclipse által javasolt alábbi képernyőn látható.
A Selenium .switchTo () módszerével könnyen átkapcsolhatunk riasztásra a főablakból .
Most automatizáljuk az alábbi forgatókönyvet.
Ebben a forgatókönyvben a Guru99 bemutató webhelyét használjuk a szelén riasztás kezelésének szemléltetésére.
1. lépés: Indítsa el a webböngészőt, és nyissa meg a "http://demo.guru99.com/test/delete_customer.php" webhelyet
2. lépés: Írja be az Ügyfél azonosítóját.
3. lépés: Az ügyfél-azonosító megadása után kattintson a "Küldés" gombra.
4. lépés: A figyelmeztetés elutasítása / elfogadása.
A riasztás kezelése a szelén webdriverben a fenti forgatókönyv használatával
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;nyilvános osztály AlertDemo {public static void main (String [] args) dobja a NoAlertPresentException, InterruptedException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver illesztőprogram = new ChromeDriver ();// Riasztási üzenetek kezelésedriver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("beküldés")). submit ();// Váltás riasztásraRiasztási riasztás = driver.switchTo (). Alert ();// Riasztási üzenet rögzítése.String alertMessage = meghajtó.switchTo (). Figyelmeztetés (). GetText ();// Riasztási üzenet megjelenítéseSystem.out.println (alertMessage);Szál.alszik (5000);// Riasztás elfogadásafigyelmeztetés.elfogadni ();}}
Kimenet :
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örli az ügyfél-azonosítót az alkalmazásból.
A Selenium Pop-up ablak kezelése a Webdriver használatával
Az automatizálás során, amikor bármelyik webalkalmazásban több ablak van, a tevékenység befejezéséhez szükség lehet arra, hogy a tevékenységnek át kell kapcsolnia a vezérlést több ablak között. A művelet befejezése után vissza kell térnie a szelén főablakához, azaz szülőablakához. Ezt tovább látjuk a cikkben egy példával.
A Selenium web-illesztőprogramban vannak módszerek, amelyek révén több ablakot is kezelhetünk.
Driver.getWindowHandles ();
Az összes megnyitott ablak webes illesztőprogram általi kezeléséhez használhatjuk a "Driver.getWindowHandles ()" fájlt, majd az egyik ablakból a másikba válthatunk egy webalkalmazásban. Visszatérési típusa az Iterator
Driver.getWindowHandle ();
Amikor megnyílik a webhely, a főablakot az driver.getWindowHandle () segítségével kell kezelnünk . Ez az aktuális ablakot kezeli, amely egyedileg azonosítja az illesztőprogram-példányon belül. Visszatérési típusa String.
A szelén ablakkezeléséhez az alábbi lépéseket fogjuk követni:
Most automatizáljuk az alábbi alábbi forgatókönyvet, hogy lássuk, hogyan kezelhetünk több ablakot a Selenium Webdriver használatával.
Ebben a forgatókönyvben a "Guru99" bemutató webhelyet fogjuk használni az ablakkezelés szemléltetésére.
1. lépés: Indítsa el a webhelyet.
Indítsa el a böngészőt, és nyissa meg a " http://demo.guru99.com/popup.php " webhelyet
2. lépés) Kattintson a "Kattintson ide" linkre.
Amikor a felhasználó a "Kattintson ide" linkre kattint, új gyermekablak nyílik meg.
3. lépés: Megnyílik az Új gyermek ablak.
Új ablak nyílik meg, kérje meg a felhasználót, hogy írja be az e-mail azonosítót, és küldje be az oldalt.
4. lépés: Írja be e-mail azonosítóját és küldje el.
5. lépés: Az oldal beküldésével jelenítse meg a hozzáférési hitelesítő adatokat.
Amikor végrehajtja a kódot, látni fogja, hogy a gyermek ablak nyitva van az új lapon.
- Zárja be a gyermekablakot, amelyen a hitelesítő adatok megjelennek.
- Váltson a szülőablakra.
Több ablak kezelése a Selenium webmeghajtóban a fenti forgatókönyv használatával.
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) dobja az InterruptedException {WebDriver illesztőprogram = new FirefoxDriver ();// A webhely elindítása.driver.get ("http://demo.guru99.com/popup.php");driver.manage (). window (). maximize ();driver.findElement (By.xpath ("// * [tartalmazza (@ href, 'popup.php')]")). kattintson ();String MainWindow = meghajtó.getWindowHandle ();// Az összes új megnyitott ablak kezeléséhez.Állítsa be azs1 = driver.getWindowHandles () parancsot;Iterátor i1 = s1.iterator ();míg (i1.hasNext ()){String ChildWindow = i1.next ();if (! MainWindow.equalsIgnoreCase (ChildWindow)){// Váltás Gyermek ablakradriver.switchTo (). ablak (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys (" Ez az e-mail cím védett a spam robotoktól, engedélyezni kell a Javascript használatát a megtekintéshez.");driver.findElement (By.name ("btnLogin")). kattintson ();// A gyermek ablak bezárása.driver.close ();}}// Váltás a Szülő ablakra, azaz a Fő ablakra.driver.switchTo (). ablak (MainWindow);}}
Kimenet:
Amikor végrehajtja a fenti kódot, elindítja a webhelyet, és a "Kattintson ide" linkre kattintva új lapon nyit egy gyermekablakot. Bezárhatja a gyermekablakot, és átválthat a szülőablakra, miután a művelet teljesen befejeződött. Ezért több ablakot kezel az alkalmazásban.
Többszörös ablakkezelés szelénben
Következtetés:
- Meghatároztuk a riasztás típusait, és egy képernyőkép segítségével megmutattuk őket.
- Bemutatta az Alert kezelését a Selenium WebDriver programmal egy adott forgatókönyv alkalmazásával.
- Több ablakot kezelett a Selenium WebDriver programmal egy adott forgatókönyv használatával.