Szelén riasztás & Felugró ablakok kezelése: Hogyan kell kezelni?

Tartalomjegyzék:

Anonim

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.

  1. Zárja be a gyermekablakot, amelyen a hitelesítő adatok megjelennek.
  1. 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 az  s1 = 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.