Selles õpetuses õpime, kuidas käsitseda seleeni hüpikaknaid ja veebirakenduste testimisel leiduvaid erinevaid märguandeid. Samuti näeme, kuidas käsitseda hoiatust seleenis WebDriveris, ja õpime, kuidas me teate vastu võtame ja tagasi lükkame, sõltuvalt teate tüübist.
Selles õpetuses saate teada
- Mis on hoiatus?
- Kuidas toimida teatega Seleen WebDriver
- Seleeni hüpikakna käsitsemine Webdriveri abil
Mis on seleenis olev hoiatus?
Alert Seleen on väike kirjakasti, mis ilmub ekraanile, et anda kasutajale mõningaid andmeid või teatavakstegemisest. See teavitab kasutajat mõnest konkreetsest teabest või veast, küsib luba teatud ülesannete täitmiseks ja annab ka hoiatavaid teateid.
Siin on vähe seleeni tüüpi hoiatusi:
1) Lihtne hoiatus
Seleeni lihtne hoiatusklass kuvab ekraanil teavet või hoiatusi.
2) Kiire hoiatus.
See viivitusteade küsib kasutajalt sisendit ja Seleniumi veebidraiver saab teksti sisestusklahvide abil sisestada ("sisend"
…. ").3) kinnituse hoiatus.
See kinnitushoiatus küsib luba teatud tüüpi toimingute tegemiseks.
Kuidas toimida teatega Seleen WebDriver
Alert-liides pakub järgmisi väheseid meetodeid, mida Selenium Webdriveris laialdaselt kasutatakse.
1) void rej (() // Hoiatuse nupul „Tühista” klõpsamine.
driver.switchTo (). alarm (). vallandama ();
2) void accept () // Hoiatuse nupul 'OK' klõpsamine.
driver.switchTo (). alert (). accept ();
3) String getText () // Hoiatusteate hõivamiseks.
driver.switchTo (). alert (). getText ();
4) void sendKeys (String stringToSend) // Andmete saatmiseks hoiatuskasti.
driver.switchTo (). alert (). sendKeys ("Tekst");
Näete, et kuvatakse mitmeid hoiatusmeetodeid, nagu on näidatud allpool oleval ekraanil, mille soovitas Eclipse.
Seleniumi .switchTo () meetodi abil saame hõlpsasti peaaknast märguandele üle minna .
Nüüd automatiseerime allpool toodud stsenaariumi.
Selle stsenaariumi korral kasutame seleenihoiatuse käitlemise illustreerimiseks Guru99 demosaiti.
1. samm. Käivitage veebibrauser ja avage sait "http://demo.guru99.com/test/delete_customer.php"
2. samm. Sisestage mis tahes kliendi ID.
Samm 3) Pärast kliendi ID sisestamist klõpsake nuppu "Esita".
4. samm. Keeldu teatest / nõustuge sellega.
Hoiatuse käitlemine seleeni veebidraiveris ülaltoodud stsenaariumi abil
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;avalik klass AlertDemo {public static void main (String [] args) viskab NoAlertPresentException, InterruptedException {System.setProperty ("veebidraiver.chrome.driver", "G: \\ chromedriver.exe");WebDriveri draiver = uus ChromeDriver ();// Hoiatusteadete käitleminedraiver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("esita")). esita ();// Alertile üleminekAlert alarm = driver.switchTo (). Alert ();// Hoiatusteate hõivamine.String alertMessage = draiver.switchTo (). Alarm (). GetText ();// Hoiatusteate kuvamineSystem.out.println (alertMessage);Niit.unne (5000);// Hoiatuse vastuvõtminealert.accept ();}}
Väljund:
Kui täidate ülaltoodud koodi, käivitab see saidi. Proovige kustutada kliendi ID, käsitsedes ekraanil kuvatavat kinnitushoiatust ja kustutades seeläbi kliendi ID rakendusest.
Seleeni hüpikakna käsitsemine Webdriveri abil
Automaatikas, kui meil on igas veebirakenduses mitu akent, võib toimingu toimingu lõpetamiseks vajada mitme akna vahel juhtimise vahetamist ühelt teisele. Pärast toimingu lõpetamist peab see naasma seleeni põhiaknasse, st vanemaknasse. Näeme seda lähemalt artiklist koos näitega.
Seleniumi veebidraiveris on meetodeid, mille kaudu saame hakkama mitme aknaga.
Driver.getWindowHandles ();
Kõigi avatud akende käsitsemiseks veebidraiveri abil saame kasutada faili "Driver.getWindowHandles ()" ja seejärel saame veebirakenduses akna ühest aknast teise vahetada. Selle tagastustüüp on Iterator
Driver.getWindowHandle ();
Kui sait avaneb, peame põhiakna käsitsema draiveri abil . GetWindowHandle () . See käitleb praegust akent, mis tuvastab selle selles draiveri eksemplaris ainulaadselt. Selle tagasituleku tüüp on String.
Akende käsitsemiseks seleenis järgime järgmisi samme:
Nüüd automatiseerime allpool toodud stsenaariumi, et näha, kuidas käsitseda mitut akent, kasutades Seleeni veebidraiverit.
Selle stsenaariumi korral kasutame aknakäsitluse illustreerimiseks "Guru99" demosaiti.
1. samm. Käivitage sait.
Käivitage brauser ja avage sait " http://demo.guru99.com/popup.php "
Samm 2) Klõpsake linki "Vajuta siia".
Kui kasutaja klõpsab linki "Vajuta siia", avaneb uus alamaken.
Samm 3) Avaneb uus lapse aken.
Avaneb uus aken, paluge kasutajal sisestada e-posti aadress ja esitada leht.
4. samm. Sisestage oma e-posti ID ja esitage.
Samm 5) Lehe esitamisel kuvage juurdepääsukirjad.
Koodi käivitamisel näete, et uuel vahelehel on avatud lapse aken.
- Sulgege aken Laps, kus kuvatakse volitused.
- Üleminek vanemaknale.
Seleniumi veebidraiveris mitme akna käsitlemine ülaltoodud stsenaariumi abil.
import java.util.Iterator;import java.util.Set;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;avalik klass WindowHandle_Demo {public staatiline void main (String [] args) viskab InterruptedException {WebDriveri draiver = uus FirefoxDriver ();// Saidi käivitamine.draiver.get ("http://demo.guru99.com/popup.php");draiver.halda (). aken (). maksimeeri ();driver.findElement (By.xpath ("// * [sisaldab (@ href, 'popup.php')]")). klõpsake ();String MainWindow = draiver.getWindowHandle ();// Kõigi uute avatud akende käsitsemiseks.Määras1 = driver.getWindowHandles ();Iteraator i1 = s1.iterator ();samas (i1.hasNext ()){String ChildWindow = i1.next ();if (! MainWindow.equalsIgnoreCase (ChildWindow)){// Üleminek lapseaknaledriver.switchTo (). aken (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys (" See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.");driver.findElement (By.name ("btnLogin")). klõpsake ();// Lapse akna sulgemine.juht.sule ();}}// Üleminek vanemaknale, st peaaknale.driver.switchTo (). aken (MainWindow);}}
Väljund:
Kui täidate ülaltoodud koodi, käivitab see saidi ja klõpsates lingil "Klõpsake siin", avab see uuel vahelehel alamakna. Kui toiming on täielikult lõpule viidud, võite lapse akna sulgeda ja minna üle vanemaknale. Seega käsitletakse rakenduses mitut akent.
Mitme akna käsitsemine seleenis
Järeldus:
- Määrasime märguande tüübid ja näitasime neid ekraanipildiga.
- Näidatakse teatise Seleen WebDriver abil hoiatuse käsitlemist konkreetse stsenaariumi abil.
- Töötas Selenium WebDriveriga mitu akent konkreetse stsenaariumi abil.