Jak zvládnout Selenium Upozornění a vyskakovací okna?
V čem je Alert Selenium?
An Upozorněte Selenium je malá schránka se zprávou, která se objeví na obrazovce a poskytuje uživateli nějaké informace nebo upozornění. Upozorní uživatele nějakou konkrétní informací nebo chybou, požádá o povolení provádět určité úkoly a také poskytuje varovné zprávy.
V tomto tutoriálu se naučíme, jak zacházet s vyskakovacím oknem Selenium a různé typy výstrah nalezených ve webové aplikaci Testování. Uvidíme také, jak zacházet s Alert in Selenium WebDriver a zjistěte, jak přijímáme a odmítáme upozornění v závislosti na typech upozornění.
Typy upozornění v Selenium
1) Simple Alert
Jednoduchá výstražná třída v Selenium zobrazí na obrazovce nějaké informace nebo varování.
2) Prompt Alert
Tento Prompt Alert požádá uživatele o nějaký vstup a Selenium webdriver může zadat text pomocí sendkeys(”vstup….”).
3) Confirmation Alert
Tato potvrzovací výstraha vyžaduje povolení k provedení určitého typu operace.
Jak zacházet s Alert in Selenium webový ovladač
Výstražné rozhraní poskytuje níže uvedených několik metod, které jsou široce používány Selenium Webdriver.
1) void dismiss() // Kliknutím na tlačítko 'Storno' upozornění.
driver.switchTo().alert().dismiss();
2) void accept()// Chcete-li kliknout na tlačítko 'OK' výstrahy.
driver.switchTo().alert().accept();
3) Řetězec getText() // Pro zachycení výstražné zprávy.
driver.switchTo().alert().getText();
4) void sendKeys(String stringToSend) // Odeslání některých dat do výstražného boxu.
driver.switchTo().alert().sendKeys("Text");
Můžete vidět, že se zobrazuje řada metod výstrah, jak je znázorněno na níže uvedené obrazovce navržené uživatelem Eclipse.
Na výstrahu se můžeme snadno přepnout z hlavního okna pomocí SeleniumJe .přepnout na() metoda.
Nyní zautomatizujeme níže uvedený scénář.
V tomto scénáři použijeme pro ilustraci demo web Guru99 Selenium Zpracování výstrah.
Krok 1) Spusťte webový prohlížeč a otevřete web https://demo.guru99.com/test/delete_customer.php
Krok 2) Zadejte libovolné ID zákazníka.
Krok 3) Po zadání zákaznického ID klikněte na tlačítko „Odeslat“.
Krok 4) Odmítnout/přijmout upozornění.
Manipulační upozornění v 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(); } }
Výstup:
Když spustíte výše uvedený kód, spustí se web. Pokuste se odstranit ID zákazníka zpracováním potvrzovacího upozornění, které se zobrazí na obrazovce, a tím smazáním ID zákazníka z aplikace.
Jak zacházet s použitím vyskakovacích oken Selenium Webdriver
V automatizaci, když máme v jakékoli webové aplikaci více oken, může být potřeba přepnout ovládání mezi několika okny z jednoho do druhého, aby byla operace dokončena. Po dokončení operace se musí vrátit do hlavního okna, tj. do nadřazeného okna Selenium. To uvidíme dále v článku na příkladu.
In Selenium webový ovladač existují metody, pomocí kterých můžeme ovládat více oken.
Driver.getWindowHandles();
Pro manipulaci se všemi otevřenými okny pomocí webového ovladače můžeme použít „Driver.getWindowHandles()“ a poté můžeme přepínat okna z jednoho okna do druhého ve webové aplikaci. Jeho návratový typ je Iterator .
Driver.getWindowHandle();
Když se stránka otevře, musíme zvládnout hlavní okno pomocí driver.getWindowHandle(). To zpracuje aktuální okno, které jej jednoznačně identifikuje v rámci této instance ovladače. Jeho návratový typ je String.
Pro manipulaci s okny v Selenium, budeme postupovat podle následujících kroků:
Nyní zautomatizujeme níže uvedený scénář, abychom viděli, jak zacházet s více okny Selenium Webdriver.
V tomto scénáři použijeme demo stránku „Guru99“ pro ilustraci ovládání oken.
Krok 1) Spusťte web.
Spusťte prohlížeč a otevřete web https://demo.guru99.com/popup.php
Krok 2) Klikněte na odkaz „Klikněte zde“.
Když uživatel klikne na odkaz „Klikněte sem“, otevře se nové podřízené okno.
Krok 3) Otevře se okno New Child Window.
Otevře se nové okno, požádejte uživatele o zadání e-mailové adresy a odeslání stránky.
Krok 4) Zadejte své e-mailové ID a odešlete.
Krok 5) Při odeslání stránky zobrazte přístupové údaje.
Když kód spustíte, uvidíte, že se na nové kartě otevře podřízené okno.
- Zavřete okno Child, na kterém jsou zobrazeny přihlašovací údaje.
- Přepněte do nadřazeného okna.
Jak zacházet s vícenásobnými 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); } }
Výstup:
Když spustíte výše uvedený kód, spustí se web a po kliknutí na odkaz „Klikněte sem“ se otevře podřízené okno na nové kartě. Po dokončení operace můžete podřízené okno zavřít a přepnout do nadřazeného okna. V aplikaci tedy zpracovává více než jedno okno.

Proč investovat do čističky vzduchu?
- Definovali jsme typy výstrah a zobrazili je pomocí snímku obrazovky.
- Ukázáno zpracování výstrahy pomocí Selenium WebDriver pomocí konkrétního scénáře.
- Řeší více oken s Selenium WebDriver pomocí konkrétního scénáře.