Selénové varovanie & Manipulácia s vyskakovacími oknami: Ako zaobchádzať?

Obsah:

Anonim

V tomto tutoriále sa naučíme, ako zaobchádzať s vyskakovacími oknami v seléne a rôznymi typmi varovaní, ktoré sa nachádzajú v testovaní webových aplikácií. Uvidíme tiež, ako zaobchádzať s výstrahou v selenovom webovom ovládači, a dozvieme sa, ako prijmeme a odmietneme výstrahu v závislosti od typov výstrah.

V tomto návode sa naučíte

  • Čo je výstraha?
  • Ako zaobchádzať s výstrahou v selenovom WebDriveri
  • Ako spracovať vyskakovacie okno selénu pomocou nástroja Webdriver

Čo je výstraha v seléne?

Alert v Selén je malá správou, ktorá sa zobrazí na obrazovke dať užívateľovi nejaké informácie alebo oznámenie. Upozorňuje používateľa na niektoré konkrétne informácie alebo chyby, žiada o povolenie na vykonávanie určitých úloh a poskytuje aj varovné správy.

Tu je niekoľko upozornení na typy selénu:

1) Jednoduché upozornenie

Trieda jednoduchého varovania v seléne zobrazuje niektoré informácie alebo varovania na obrazovke.

2) Rýchle upozornenie.

Toto upozornenie vyžaduje určité zadanie od používateľa a webový ovládač selénu môže zadávať text pomocou klávesov sendkeys („vstup

…. „).

3) Potvrdenie o potvrdení.

Toto potvrdzovacie varovanie žiada o povolenie vykonať určitý typ operácie.

Ako zaobchádzať s výstrahou v selenovom WebDriveri

Rozhranie výstrahy poskytuje niekoľko nasledujúcich metód, ktoré sa široko používajú v selenovom webovom ovládači.

1) voidpustiť () // Kliknutím na tlačidlo „Zrušiť“ výstrahy.

driver.switchTo (). alert (). prepustiť ();

2) void accept () // Kliknutím na tlačidlo „OK“ v upozornení.

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

3) String getText () // Ak chcete zachytiť výstražnú správu.

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

4) void sendKeys (String stringToSend) // Na odoslanie niektorých údajov do výstražného poľa.

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

Môžete vidieť, že sa zobrazuje niekoľko metód varovania, ako je znázornené na obrazovke nižšie, ktorú navrhuje Eclipse.

Z hlavného okna môžeme ľahko prepnúť na výstrahu pomocou metódy .switchTo () od Selenium .

Teraz automatizujeme uvedený scenár.

V tomto scenári použijeme ukážkovú stránku Guru99 na ilustráciu spracovania upozornenia na selén.

Krok 1) Spustite webový prehliadač a otvorte web „http://demo.guru99.com/test/delete_customer.php“.

Krok 2) Zadajte ľubovoľné ID zákazníka.

Krok 3) Po zadaní ID zákazníka kliknite na tlačidlo „Odoslať“.

Krok 4) Odmietnite / prijmite varovanie.

Spracovanie výstrahy v selenovom webovom ovládači pomocou vyššie uvedeného scenára

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;verejná trieda AlertDemo {public static void main (String [] args) hodí NoAlertPresentException, InterruptedException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Ovládač WebDriver = nový ChromeDriver ();// Spracovanie výstražnej správydriver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("submit")). submit ();// Prepnutie na výstrahuVýstražné upozornenie = driver.switchTo (). Alert ();// Zachytenie výstražnej správy.Reťazec alertMessage = driver.switchTo (). Alert (). GetText ();// Zobrazenie výstražnej správySystem.out.println (alertMessage);Závit. Spánok (5 000);// Prijímanie varovaniaalert.accept ();}}

Výkon :

Po vykonaní vyššie uvedeného kódu sa spustí web. Pokúste sa odstrániť ID zákazníka spracovaním potvrdzovacieho upozornenia, ktoré sa zobrazí na obrazovke, a tým odstránite ID zákazníka z aplikácie.

Ako zvládnuť vyskakovacie okno selénu pomocou nástroja Webdriver

V automatizácii, keď máme v ľubovoľnej webovej aplikácii viac okien, bude na dokončenie operácie možno potrebné prepnúť ovládanie medzi niekoľkými oknami z jedného do druhého. Po dokončení operácie sa musí vrátiť do hlavného okna, tj do nadradeného okna v seléne. Uvidíme to ďalej v článku s príkladom.

Vo webovom ovládači Selenium existujú metódy, prostredníctvom ktorých môžeme pracovať s viacerými oknami.

Driver.getWindowHandles ();

Na zvládnutie všetkých otvorených okien webovým ovládačom môžeme použiť program „Driver.getWindowHandles ()“ a potom môžeme vo webovej aplikácii prepínať okno z jedného okna do druhého. Jeho návratový typ je Iterator .

Driver.getWindowHandle ();

Keď sa stránka otvorí, musíme zvládnuť hlavné okno pomocou driver.getWindowHandle () . Toto spracuje aktuálne okno, ktoré ho jednoznačne identifikuje v rámci tejto inštancie ovládača. Jeho návratový typ je String.

Pri manipulácii s oknami na seléne postupujte podľa nasledujúcich krokov:

Teraz zautomatizujeme scenár uvedený nižšie, aby sme zistili, ako zvládnuť viac okien pomocou selenového webového ovládača.

V tomto scenári použijeme na ilustráciu manipulácie s oknami ukážkovú stránku „Guru99“.

Krok 1) Spustite web.

Spustite prehliadač a otvorte web „ http://demo.guru99.com/popup.php “.

Krok 2) Kliknite na odkaz „Kliknite sem“.

Keď používateľ klikne na odkaz „Kliknite sem“, otvorí sa nové podradené okno.

Krok 3) Otvorí sa okno Nové dieťa.

Otvorí sa nové okno. Požiadajte používateľa o zadanie e-mailovej adresy a odoslanie stránky.

Krok 4) Zadajte svoje e-mailové ID a odošlite.

Krok 5) Po zadaní stránky zobrazte prístupové poverenia.

Po spustení kódu uvidíte, že sa na novej karte otvorí podradené okno.

  1. Zatvorte okno Dieťa, na ktorom sú zobrazené poverenia.
  1. Prepnúť na nadradené okno.

Manipulácia s viacerými oknami vo webovom ovládači selénu pomocou vyššie uvedeného scenára.

import java.util.Iterator;import java.util.Set;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;verejná trieda WindowHandle_Demo {public static void main (String [] args) hodí InterruptedException {Ovládač WebDriver = nový FirefoxDriver ();// Spustenie stránky.driver.get ("http://demo.guru99.com/popup.php");driver.manage (). window (). maximize ();driver.findElement (By.xpath ("// * [contains (@ href, 'popup.php')]"))). click ();Reťazec MainWindow = driver.getWindowHandle ();// Spracovať všetky nové otvorené okná.Nastaviť  s1 = driver.getWindowHandles ();Iterátor  i1 = s1.iterator ();while (i1.hasNext ()){Reťazec ChildWindow = i1.next ();if (! MainWindow.equalsIgnoreCase (ChildWindow)){// Prepnutie na podradené oknodriver.switchTo (). okno (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys (" Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript.");driver.findElement (By.name ("btnLogin")). click ();// Zatvorenie okna dieťaťa.driver.close ();}}// Prepnutie na nadradené okno, tj. Hlavné okno.driver.switchTo (). okno (MainWindow);}}

Výkon:

Po vykonaní vyššie uvedeného kódu sa spustí web a po kliknutí na odkaz „Kliknite sem“ sa otvorí podradené okno na novej karte. Po dokončení operácie môžete zavrieť podradené okno a prepnúť na nadradené okno. Teda manipulácia s viac ako jedným oknom v aplikácii.

Viacnásobná manipulácia s oknami na seléne

Záver:

  • Definovali sme typy výstrah a zobrazovali ich pomocou obrazovky.
  • Demonštrované spracovanie výstrahy pomocou selénového webového ovládača pomocou konkrétneho scenára.
  • Spracovanie viacerých okien pomocou nástroja Selenium WebDriver pomocou konkrétneho scenára.