Selen Alert & Zpracování vyskakovacích oken: Jak zacházet?

Obsah:

Anonim

V tomto kurzu se naučíme, jak zacházet s vyskakovacími okny v selenu a různými typy výstrah nalezených v Testování webových aplikací. Uvidíme také, jak zpracovat výstrahu v selenovém WebDriveru, a zjistíme, jak výstrahu přijímáme a odmítáme v závislosti na typech výstrah.

V tomto výukovém programu se naučíte

  • Co je Alert?
  • Jak zpracovat výstrahu v Selenium WebDriver
  • Jak zpracovat vyskakovací okno selenu pomocí Webdriveru

Co je výstraha na selenu?

Alert v Selen je malá zprávou, která se zobrazí na obrazovce dát uživateli nějaké informace nebo oznámení. Upozorňuje uživatele na některé konkrétní informace nebo chyby, žádá o povolení k provádění určitých úkolů a poskytuje také varovné zprávy.

Zde je několik upozornění na typy selenu:

1) Jednoduché upozornění

Jednoduchá třída výstrah v selenu zobrazuje některé informace nebo varování na obrazovce.

2) Prompt Alert.

Tato výzva k upozornění vyžaduje určité zadání od uživatele a webový ovladač selenu může zadávat text pomocí sendkeys („vstup

…. ").

3) Potvrzovací upozornění.

Toto potvrzovací upozornění žádá o povolení provést nějaký typ operace.

Jak zpracovat výstrahu v Selenium WebDriver

Výstražné rozhraní poskytuje několik níže uvedených metod, které jsou široce používány v Selenium Webdriver.

1) void rejstřík () // Kliknutím na tlačítko „Zrušit“ výstrahy.

driver.switchTo (). alert (). propustit ();

2) void accept () // Kliknutím na tlačítko „OK“ výstrahy.

driver.switchTo (). alert (). accept ();

3) String getText () // Chcete-li zachytit výstražnou zprávu.

driver.switchTo (). alert (). getText (); 

4) void sendKeys (String stringToSend) // Chcete-li odeslat některá data do výstražného pole.

driver.switchTo (). alert (). sendKeys ("Text");

Můžete vidět, že se zobrazuje řada výstražných metod, jak je znázorněno na níže uvedené obrazovce navržené Eclipse.

Můžeme snadno přepnout na výstrahu z hlavního okna pomocí metody .switchTo () selenu .

Nyní automatizujeme níže uvedený scénář.

V tomto scénáři použijeme ukázkové stránky Guru99 k ilustraci zpracování výstrahy selenem.

Krok 1) Spusťte webový prohlížeč a otevřete web „http://demo.guru99.com/test/delete_customer.php“

Krok 2) Zadejte libovolné ID zákazníka.

Krok 3) Po zadání ID zákazníka klikněte na tlačítko „Odeslat“.

Krok 4) Odmítněte / přijměte upozornění.

Zpracování výstrahy v selenovém webdriveru pomocí výše uvedeného scénáře

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;veřejná třída AlertDemo {public static void main (String [] args) vyvolá NoAlertPresentException, InterruptedException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Ovladač WebDriver = nový ChromeDriver ();// Zpracování výstražné zprávydriver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("submit")). submit ();// Přepnutí na výstrahuAlert alert = driver.switchTo (). Alert ();// Zachycení výstražné zprávy.Řetězec alertMessage = driver.switchTo (). Alert (). GetText ();// Zobrazení výstražné zprávySystem.out.println (alertMessage);Závit. Spánek (5 000);// Přijímání upozornění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 odstraníte ID zákazníka z aplikace.

Jak zvládnout vyskakovací okno selenu pomocí Webdriveru

V automatizaci, když máme v libovolné webové aplikaci více oken, může být nutné k dokončení operace v aktivitě přepnout ovládání mezi několika okny z jednoho do druhého. Po dokončení operace se musí vrátit do hlavního okna, tj. Nadřazeného okna v selenu. Uvidíme to dále v článku s příkladem.

Ve webovém ovladači Selenium existují metody, kterými můžeme zpracovat více oken.

Driver.getWindowHandles ();

Ke zpracování všech otevřených oken pomocí webového ovladače můžeme použít „Driver.getWindowHandles ()“ a pak můžeme ve webové aplikaci přepínat okna z jednoho okna do druhého. Jeho návratový typ je Iterator .

Driver.getWindowHandle ();

Když se web otevře, musíme hlavní okno zpracovat driver.getWindowHandle () . Toto 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 selenu budeme postupovat podle následujících kroků:

Nyní automatizujeme níže uvedený scénář, abychom zjistili, jak zvládnout více oken pomocí selenového webového ovladače.

V tomto scénáři použijeme pro ilustraci manipulace s oknem ukázkový web „Guru99“.

Krok 1) Spusťte web.

Spusťte prohlížeč a otevřete web „ http://demo.guru99.com/popup.php

Krok 2) Klikněte na odkaz „Klikněte sem“.

Když uživatel klikne na odkaz „Klikněte sem“, otevře se nové podřízené okno.

Krok 3) Otevře se okno New Child.

Otevře se nové okno, požádejte uživatele o zadání e-mailového ID a odeslání stránky.

Krok 4) Zadejte své e-mailové ID a odešlete.

Krok 5) Zobrazit přístupové údaje při odeslání stránky.

Když spustíte kód, uvidíte, že se podřízené okno otevře na nové kartě.

  1. Zavřete podřízené okno, ve kterém jsou zobrazeny pověření.
  1. Přepněte do nadřazeného okna.

Manipulace s více okny v selenovém webdriveru pomocí výše uvedeného scénáře.

import java.util.Iterator;import java.util.Set;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;veřejná třída WindowHandle_Demo {public static void main (String [] args) vyvolá InterruptedException {Ovladač WebDriver = nový FirefoxDriver ();// Spuštění webu.driver.get ("http://demo.guru99.com/popup.php");driver.manage (). window (). maximize ();driver.findElement (By.xpath ("// * [contains (@ href, 'popup.php')]"))). click ();Řetězec MainWindow = driver.getWindowHandle ();// Zpracovat všechna nově otevřená okna.Nastavit  s1 = driver.getWindowHandles ();Iterátor <Řetězec> i1 = s1.iterator ();while (i1.hasNext ()){Řetězec ChildWindow = i1.next ();if (! MainWindow.equalsIgnoreCase (ChildWindow)){// Přepnutí do podřízeného oknadriver.switchTo (). window (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys (" Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení potřebujete mít povolený JavaScript.");driver.findElement (By.name ("btnLogin")). click ();// Zavření dětského okna.driver.close ();}}// Přepnutí na nadřazené okno, tj. Hlavní okno.driver.switchTo (). okno (MainWindow);}}

Výstup:

Po spuštění výše uvedeného kódu se spustí web a po kliknutí na odkaz „Klikněte sem“ se otevře podřízené okno na nové kartě. Po dokončení operace můžete zavřít podřízené okno a přepnout na nadřazené okno. Proto zpracovává více než jedno okno v aplikaci.

Vícenásobné ovládání oken v selenu

Závěr:

  • Definovali jsme typy výstrah a zobrazili je pomocí obrazovky.
  • Demonstrovaná manipulace s výstrahou pomocí Selenium WebDriver pomocí konkrétního scénáře.
  • Zpracování více oken pomocí Selenium WebDriver pomocí konkrétního scénáře.