how handle alerts popups selenium webdriver selenium tutorial 16
Efektívne spôsoby zaobchádzania s Windows a webovými upozorneniami alebo vyskakovacími oknami v Selenium WebDriver:
html otázky a odpovede pre skúsených
V predchádzajúcom tutoriáli sme sa zamerali na našu diskusiu rôzne typy čakania poskytované WebDriverom . Diskutovali sme tiež o rôznych druhoch možností navigácie dostupných vo WebDriveri.
Pohyb vpred v Výukové programy pre selén WebDriver , budeme diskutovať o rôzne typy varovaní, ktoré sú k dispozícii pri testovaní webových aplikácií a stratégií ich vybavovania.
Existujú dva typy upozornení, na ktoré by sme sa hlavne zamerali :
- Vyskakovacie okná s upozornením založené na systéme Windows
- Webové vyskakovacie okná s upozorneniami
Ako vieme, že manipulácia s pop-up oknami založenými na oknách je nad možnosti WebDriveru, preto by sme na manipuláciu s pop-up oknami využívali niektoré pomocné programy tretích strán.
Manipulácia s pop-up je jednou z najnáročnejších prác, ktoré sa dajú automatizovať pri testovaní webových aplikácií. Vďaka rozmanitosti typov automaticky otváraných okien je situácia ešte zložitejšia.
Čo je výstražná schránka / vyskakovacie okno / potvrdzovacie okno / rámček na výzvu / overenie?
Nie je to nič iné ako malé políčko, ktoré sa objaví na displeji, aby vám poskytlo nejaké informácie alebo vás varovalo pred potenciálne škodlivou operáciou alebo vás môže dokonca požiadať o povolenie pre danú operáciu.
Príklad: Uvažujme o skutočnom príklade pre lepšie pochopenie; Predpokladajme, že sme na niektorú z týchto populárnych stránok sociálnych sietí nahrali fotografiu. Neskôr by som chcel zmazať nahranú fotografiu. Takže aby som mohol vymazať, klikol som na tlačidlo vymazať. Len čo kliknem na tlačidlo odstránenia, systém ma varuje pred mojim konaním a zobrazí výzvu - Naozaj chcete súbor odstrániť? Takže teraz máme možnosť buď prijať toto varovanie, alebo ho zamietnuť.
Takže pred zasadnutím, pozrime sa, ako odmietneme alebo prijmeme upozornenia v závislosti od ich typu. Počnúc webovými vyskakovacími oknami.
Čo sa dozviete:
Webové vyskakovacie okná
Pozrime sa, ako ich zvládneme pomocou nástroja WebDriver.
Spracovanie webového vyskakovacieho okna
WebDriver ponúka používateľom veľmi efektívny spôsob riešenia týchto vyskakovacích okien pomocou rozhrania Alert.
Existujú štyri metódy, ktoré by sme použili spolu s rozhraním Alert.
1) zrušiť prepustenie () - Metóda decl () klikne na tlačidlo „Zrušiť“, akonáhle sa objaví vyskakovacie okno.
dva) void accept () - Metóda accept () klikne na tlačidlo „Ok“ hneď, ako sa objaví vyskakovacie okno.
3) Reťazec getText () - Metóda getText () vráti text zobrazený v poli výstrahy.
4) void sendKeys (String stringToSend) - Metóda sendKeys () zadá do výstražného poľa zadaný vzor reťazca.
Poďme ďalej a pozrime sa na skutočnú implementáciu.
Vysvetlenie testovanej aplikácie
Webovú stránku sme navrhli tak, aby obsahovala niekoľko základných typov webových prvkov. Toto je rovnaká aplikácia, ktorú sme predstavili pri diskusii o triede Select skôr v tejto sérii.
- Hypertextový odkaz : Boli poskytnuté dva hypertextové odkazy, konkrétne „Google“ a „abodeQA“, ktoré používateľa presmerujú na stránky „http://www.google.com/“ a „http://www.abodeqa.com/“. kliknite na udalosť.
- Rozbaľovacia ponuka : Boli vytvorené tri hypertextové odkazy na výber farieb, ovocia a zvierat s predvolenou hodnotou.
- Tlačidlo : Bolo vytvorené tlačidlo „vyskúšať“, pomocou ktorého sa po kliknutí zobrazí vyskakovacie okno s tlačidlami OK a Zrušiť.
(Kliknutím na obrázok ho zväčšíte)
Nasleduje HTML kód, ktorý sa používa na vytvorenie vyššie uvedenej webovej stránky:
Testovanie Vyberte trieduČervená Zelená Žltá Šedá | Apple Orange Mango Lime | Vyberte položku Elephant Mouse Dog |
Kliknutím na tlačidlo zobrazíte potvrdzovacie políčko. Skúste to funkciu myFunction () {potvrdiť ('Stlačte tlačidlo!'); } |
Scenár, ktorý sa má automatizovať
- Spustite webový prehľadávač a otvorte webovú stránku
- Kliknite na tlačidlo „Vyskúšať“
- Prijmite výstrahu
- Znova kliknite na tlačidlo „Vyskúšať“
- Odmietnuť upozornenie
Kód WebDriver pomocou triedy Vybrať
Upozorňujeme, že na vytvorenie skriptu by sme použili projekt „Learning_Selenium“, ktorý sme vytvorili v predchádzajúcom návode.
Krok 1 : Vytvorte novú triedu java s názvom „DemoWebAlert“ v rámci projektu „Learning_Selenium“.
Krok 2 : Skopírujte a vložte nasledujúci kód do triedy „DemoWebAlert.java“.
Ďalej je uvedený testovací skript, ktorý je ekvivalentný vyššie uvedenému scenáru.
import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; /** * class description */ public class DemoWebAlert { WebDriver driver; /** * Constructor */ public DemoWebAlert() { } /** * Set up browser settings and open the application */ @Before public void setUp() { driver=new FirefoxDriver(); // Opened the application driver.get('file:///F:/Work/Selenium/Testing-Presentation/DemoWebPopup.htm'); driver.manage().window().maximize(); } /** * Test to check Select functionality * @throws InterruptedException */ @Test public void testWebAlert() throws InterruptedException { // clicking on try it button driver.findElement(By.xpath('//button(contains(text(),'Try it'))')).click(); Thread.sleep(5000); // accepting javascript alert Alert alert = driver.switchTo().alert(); alert.accept(); // clicking on try it button driver.findElement(By.xpath('//button(contains(text(),'Try it'))')).click(); Thread.sleep(5000); // accepting javascript alert driver.switchTo().alert().dismiss(); // clicking on try it button driver.findElement(By.xpath('//button(contains(text(),'Try it'))')).click(); Thread.sleep(5000); // accepting javascript alert System.out.println(driver.switchTo().alert().getText()); driver.switchTo().alert().accept(); } /** * Tear down the setup after test completes */ @After public void tearDown() { driver.quit(); } }
Prechod kódu
Výpisy z dovozu
Importovať org.openqa.selenium.Alert - Importujte tento balík pred vytvorením skriptu. Balík odkazuje na triedu Alert, ktorá sa vyžaduje na spracovanie webových výstrah v aplikácii WebDriver.
Vytváranie objektov pre triedu Alert
Alert alert = driver.switchTo (). Alert ();
Vytvoríme referenčnú premennú pre triedu Alert a odkážeme ju na výstrahu.
softvér testovacie otázky a odpovede pre skúsených
Prepnúť na výstrahu
Driver.switchTo (). Alert ();
Vyššie uvedený príkaz sa používa na prepnutie ovládacieho prvku do naposledy vygenerovaného vyskakovacieho okna.
Prijmite výstrahu
alert.accept ();
Vyššie uvedený príkaz prijme varovanie, čím klikne na tlačidlo OK.
Odmietnuť upozornenie
alert.dismiss ();
Vyššie uvedený príkaz zatvorí výstrahu, čím klikne na tlačidlo Zrušiť, a operácia by preto nemala pokračovať.
Vyskakovacie okná založené na okne
V priebehu automatizácie občas dostaneme niekoľko scenárov, v ktorých musíme pri nahrávaní súboru pracovať s automaticky otváranými oknami generovanými oknami, ako je napríklad kontextové okno pre tlač alebo okno prehliadania.
Prečítajte si tiež = >> Ako zvládnuť nahrávanie súborov na seléne
Spracovanie týchto automaticky otváraných okien bolo vždy trochu zložité, pretože vieme, že Selenium je nástroj na testovanie automatizácie, ktorý podporuje iba testovanie webových aplikácií, čo znamená, že nepodporuje aplikácie založené na systéme Windows a jedným z nich je aj upozornenie na okno. Samotný selén však nemôže pomôcť situácii, ale spolu s intervenciami tretích strán sa dá tento problém prekonať.
Existuje niekoľko nástrojov tretích strán na prácu s vyskakovacími oknami založenými na oknách spolu so selénom.
otázky a odpovede na pohovor s technickou podporou pre bpo
Takže poďme zvládnuť vyskakovacie okno založené na triede Robot.
Robot class je nástroj založený na jave, ktorý emuluje akcie klávesnice a myši.
Predtým, ako sa posunieme vpred, dovoľte nám chvíľu sa pozrieť na testovanú aplikáciu (AUT).
Vysvetlenie testovanej aplikácie
Ako testovaná aplikácia by sme používali „gmail.com“. Verím, že aplikácia už nebude vyžadovať ďalšie predstavenie.
Scenár, ktorý sa má automatizovať
- Spustite webový prehliadač a otvorte aplikáciu - „gmail.com“
- Zadajte platné používateľské meno a heslo
- Kliknite na tlačidlo prihlásenia
- Kliknite na tlačidlo zostavenia
- Kliknite na ikonu priložiť
- Pomocou kontextového okna založeného na okne vyberte súbory, ktoré sa majú nahrať.
Kód WebDriver pomocou triedy robota
Upozorňujeme, že na vytvorenie skriptu by sme použili projekt „Learning_Selenium“, ktorý sme vytvorili v predchádzajúcom návode.
Krok 1 : Vytvorte novú triedu java s názvom „DemoWindowAlert“ v rámci projektu „Learning_Selenium“.
Krok 2 : Skopírujte a vložte nasledujúci kód do triedy „DemoWindowAlert.java“.
Ďalej je uvedený testovací skript, ktorý je ekvivalentný vyššie uvedenému scenáru.
import java.awt.Robot;
import java.awt.event.KeyEvent; importovať org.junit.After; importovať org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; verejná trieda DemoWindowAlert {ovládač WebDriver; @ Pred public void setUp () {ovládač = nový FirefoxDriver (); driver.get ('https://gmail.com'); driver.manage (). window (). maximize (); } @Test public void testWindowAlert () vyvolá výnimku {// zadajte platnú e-mailovú adresu driver.findElement (By.id ('Email')). SendKeys ('TestSelenium1607@gmail.com '); // zadajte platné heslo driver.findElement (By.id ('Passwd')). sendKeys ('TestSelenium'); // klik na prihlasovacie tlačidlo driver.findElement (By.id ('signIn')). click (); Závit. Spánok (30 000); // klik na tlačidlo pre zostavenie driver.findElement (By.xpath ('// div (@ class =' z0 ') // div (contains (text (),' COMPOSE '))'))). click (); // kliknite na ikonu priložiť súbory driver.findElement (By.xpath ('// div (contains (@ command,' Files ')) // div (contains (@ class,' aaA '))')). click ( ); // vytvorenie inštancie triedy Robot (obslužný program založený na jave) Robot rb = nový Robot (); // stlačenie klávesov pomocou udalostí keyPress a keyRelease rb.keyPress (KeyEvent.VK_D); rb.keyRelease (KeyEvent.VK_D); Thread.sleep (2000); rb.keyPress (KeyEvent.VK_SHIFT); rb.keyPress (KeyEvent.VK_SEMICOLON); rb.keyRelease (KeyEvent.VK_SEMICOLON); rb.keyRelease (KeyEvent.VK_SHIFT); rb.keyPress (KeyEvent.VK_BACK_SLASH); rb.keyRelease (KeyEvent.VK_BACK_SLASH); Thread.sleep (2000); rb.keyPress (KeyEvent.VK_P); rb.keyRelease (KeyEvent.VK_P); rb.keyPress (KeyEvent.VK_I); rb.keyRelease (KeyEvent.VK_I); rb.keyPress (KeyEvent.VK_C); rb.keyRelease (KeyEvent.VK_C); Thread.sleep (2000); rb.keyPress (KeyEvent.VK_ENTER); rb.keyRelease (KeyEvent.VK_ENTER); Thread.sleep (2000); } @After public void tearDown () {driver.quit (); }} Prechod kódu
Výpisy z dovozu
importovať java.awt.Robot - Importujte tento balík pred vytvorením skriptu. Balík odkazuje na triedu Robot v jave, ktorá vyžaduje simuláciu udalostí klávesnice a myši.
importovať java.awt.event.KeyEvent - Balíček umožňuje používateľovi používať udalosti klávesnice a keyRelease.
Vytváranie objektov pre robotickú triedu
Robot rb = nový Robot ();
Vytvoríme referenčnú premennú pre triedu Robot a vytvoríme jej inštanciu.
Udalosti KeyPress a KeyRelease
rb.keyPress (KeyEvent.VK_D);
rb.keyRelease (KeyEvent.VK_D);
Metódy keyPress a keyRelease simulujú stlačenie a uvoľnenie určitého klávesu na klávesnici.
Záver
V tomto tutoriáli sme sa pokúsili oboznámiť vás s triedou WebDriver’s Alert, ktorá sa používa na prácu s webovými vyskakovacími oknami. Tiež sme vás informovali o triede Robot, pomocou ktorej je možné vyplniť hodnotu v upozornení založenom na okne pomocou udalostí keyPress a keyRelease.
Zhrnutie článku:
- Výstrahy sú malé políčko, ktoré sa zobrazuje na displeji, aby vám poskytlo nejaké informácie alebo vás varovalo pred potenciálne škodlivou operáciou alebo vás môže dokonca požiadať o povolenie pre danú operáciu.
- Populárne existujú dva typy upozornení -
- Vyskakovacie okná upozornení založené na systéme Windows
- Webové vyskakovacie okná s upozorneniami
- Pred samotným skriptovaním musíme importovať balík, aby bolo možné vytvoriť skript WebDriver na spracovanie rozbaľovacej ponuky a sprístupnenie triedy Select.
- WebDriver ponúka používateľom veľmi efektívny spôsob riešenia týchto vyskakovacích okien pomocou rozhrania Alert.
- zrušiť prepustenie () - prepustiť () metóda klikne na tlačidlo „Zrušiť“, akonáhle sa objaví vyskakovacie okno.
- void accept () - súhlasiť() metóda klikne na tlačidlo „Ok“ hneď ako sa objaví vyskakovacie okno.
- String getText () - getText () metóda vráti text zobrazený v poli výstrahy.
- void sendKeys (String stringToSend) - sendKeys () metóda zadá zadaný vzor reťazca do výstražného poľa.
- Spracovanie automaticky otváraných okien boli vždy trochu zložité, pretože vieme, že Selenium je nástroj na testovanie automatizácie, ktorý podporuje iba testovanie webových aplikácií, čo znamená, že nepodporuje aplikácie založené na systéme Windows a jedným z nich je upozornenie na okno.
- Trieda robotov je nástroj založený na jave, ktorý emuluje akcie klávesnice a myši a dá sa efektívne využiť na prácu s pop-upom založeným na oknách pomocou udalostí na klávesnici.
- Metódy keyPress a keyRelease simulujú stlačenie a uvoľnenie určitého klávesu na klávesnici.
Nasledujúci tutoriál # 17 : V nadchádzajúcom tutoriáli by sme diskutovali o rôznych ďalších bežne používané príkazy WebDriveru . Posvietili by sme si na témy, ako je spracovanie výnimiek a spracovanie iframe. Diskutovali by sme tiež o príkazoch get poskytovaných vo WebDriveri.
Tieto témy by sme vysvetlili pomocou rýchlych príkladov, aby ich čitatelia pochopili pri uplatňovaní týchto koncepcií v každodennom písaní.
Poznámka pre čitateľov : Do tej doby zostaňte naladení a automatizujte webové stránky s webovými a okennými vyskakovacími oknami pomocou obslužného programu WebDriver - „Alert class“ a Java - „Robot Class“.
Vaše otázky a komentáre týkajúce sa tohto alebo akýchkoľvek iných predchádzajúcich tutoriálov môžete vložiť do komentárov nižšie.
Odporúčané čítanie
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Úvod do softvéru Selenium WebDriver - Výučba selénu č. 8
- Implementácia nášho prvého skriptu WebDriver - výučba selénu WebDriver č. 10
- Celé nastavenie a inštalácia WebDriver s výučbou Eclipse - Selenium č. 9
- Skontrolujte viditeľnosť webových prvkov pomocou rôznych typov príkazov WebDriver - selén - návod č. 14
- Výukový program GeckoDriver Selenium: Ako používať GeckoDriver v selénových projektoch
- Integrácia Jenkinsa so Selenium WebDriver: Podrobný návod
- Efektívne skriptovanie selénu a riešenie problémov - scenáre selénu # 27