Seleno įspėjimas & Iššokančiųjų langų tvarkymas: kaip elgtis?

Turinys:

Anonim

Šioje pamokoje sužinosime, kaip elgtis su „Selenium“ iššokančiaisiais ir įvairių tipų įspėjimais, esančiais žiniatinklio programų testavime. Taip pat pamatysime, kaip elgtis su įspėjimu „Selenium WebDriver“, ir sužinosime, kaip priimti ir atmesti įspėjimą, atsižvelgiant į įspėjimo tipus.

Šioje pamokoje sužinosite

  • Kas yra perspėjimas?
  • Kaip elgtis su įspėjimu „Selenium WebDriver“
  • Kaip tvarkyti langą „Selenium Popup“ naudojant „Webdriver“

Kas yra perspėjimas selene?

Alert in Selenium“ yra nedidelis pranešimų laukelis, kuris pasirodo ekrane, kad vartotojui suteiktų tam tikrą informaciją ar pranešimus. Jis praneša vartotojui tam tikrą konkrečią informaciją ar klaidą, prašo leidimo atlikti tam tikras užduotis, taip pat pateikia įspėjamuosius pranešimus.

Čia yra keletas įspėjimų apie seleno tipus:

1) paprastas įspėjimas

Paprastoje „Selenium“ pavojaus klasėje ekrane rodoma tam tikra informacija ar įspėjimai.

2) Skubus įspėjimas.

Šis greitas įspėjimas prašo vartotojo įvesties, o „Selenium“ žiniatinklio tvarkyklė gali įvesti tekstą naudodama siuntimo raktus ("input"

…. ").

3) Patvirtinimo įspėjimas.

Šiame patvirtinimo įspėjime prašoma leidimo atlikti tam tikrą operaciją.

Kaip elgtis su įspėjimu „Selenium WebDriver“

Įspėjimo sąsajoje pateikiami keli metodai, kurie plačiai naudojami „Selenium Webdriver“.

1) negaliojantis atmetimas () // Norėdami spustelėti įspėjimo mygtuką „Atšaukti“.

driver.switchTo (). perspėjimas (). atleisti ();

2) void accept () // Norėdami spustelėti įspėjimo mygtuką „Gerai“.

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

3) String getText () // Norėdami užfiksuoti įspėjimo pranešimą.

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

4) void sendKeys (String stringToSend) // Norėdami išsiųsti kai kuriuos duomenis į įspėjimo langelį.

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

Galite pamatyti, kaip rodomi keli įspėjimo metodai, kaip parodyta žemiau esančiame ekrane, kurį siūlo „Eclipse“.

Naudodami „Selenium“ .switchTo () metodą, mes galime lengvai pereiti prie įspėjimo iš pagrindinio lango .

Dabar mes automatizuojame toliau pateiktą scenarijų.

Šiame scenarijuje mes naudosime „Guru99“ demonstracinę svetainę, kad iliustruotume „Selenium Alert“ tvarkymą.

1 žingsnis. Paleiskite žiniatinklio naršyklę ir atidarykite svetainę „http://demo.guru99.com/test/delete_customer.php“

2 žingsnis) Įveskite bet kurį kliento ID.

3 žingsnis) Įvedę kliento ID, spustelėkite mygtuką „Pateikti“.

4 žingsnis) Atmeskite / priimkite įspėjimą.

Įspėjimo apie „Selenium Webdriver“ tvarkymas naudojant aukščiau pateiktą scenarijų

importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;importuoti org.openqa.selenium.NoAlertPresentException;importuoti org.openqa.selenium.Alert;viešoji klasė „AlertDemo“public static void main (String [] args) meta NoAlertPresentException, InterruptedException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");„WebDriver“ tvarkyklė = nauja „ChromeDriver“ ();// Įspėjimo pranešimų tvarkymasdriver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("pateikti")). pateikti ();// Perjungimas į perspėjimąĮspėjimo įspėjimas = driver.switchTo (). Alert ();// Įspėjimo pranešimo fiksavimas.String alertMessage = driver.switchTo (). Alert (). GetText ();// Rodomas įspėjimo pranešimasSystem.out.println (alertMessage);Siūlas.miega (5000);// Priimamas perspėjimasperspėjimas.priimti ();}}

Išvestis:

Kai vykdote pirmiau nurodytą kodą, jis paleidžia svetainę. Pabandykite ištrinti kliento ID tvarkydami ekrane rodomą patvirtinimo įspėjimą ir taip ištrindami kliento ID iš programos.

Kaip tvarkyti iššokantį langą „Selenium“ naudojant „Webdriver“

Automatizuojant, kai bet kurioje žiniatinklio programoje yra keli langai, norint užbaigti operaciją, norint atlikti operaciją, gali tekti perjungti valdymą keliuose languose iš vieno į kitą. Baigęs operaciją, jis turi grįžti į pagrindinį langą, ty „Selenium“ pagrindinį langą. Tai pamatysime toliau straipsnyje su pavyzdžiu.

„Selenium“ žiniatinklio tvarkyklėje yra būdų, kuriais galime tvarkyti kelis langus.

Driver.getWindowHandles ();

Norėdami tvarkyti visus atidarytus langus žiniatinklio tvarkyklėje, galime naudoti „Driver.getWindowHandles ()“ ir tada žiniatinklio programoje galime perjungti langą iš vieno lango į kitą. Jo grąžinimo tipas yra „Iterator “.

Driver.getWindowHandle ();

Kai svetainė atsidarys, pagrindinį langą turime tvarkyti tvarkyklė.getWindowHandle () . Tai tvarkys dabartinį langą, kuris unikaliai identifikuoja jį šiame tvarkyklės egzemplioriuje. Jo grąžinimo tipas yra „String“.

Tvarkydami langus selene, atliksime šiuos veiksmus:

Dabar mes automatizuosime pateiktą toliau pateiktą scenarijų, kad pamatytume, kaip tvarkyti kelis langus naudojant „Selenium Webdriver“.

Šiame scenarijuje naudosime „Guru99“ demonstracinę svetainę, kad iliustruotume langų tvarkymą.

1 žingsnis) Paleiskite svetainę.

Paleiskite naršyklę ir atidarykite svetainę „ http://demo.guru99.com/popup.php

2 žingsnis) Spustelėkite nuorodą „Spustelėkite čia“.

Vartotojui spustelėjus nuorodą „Spustelėkite čia“, atsidaro naujas vaiko langas.

3 žingsnis) Atsidaro naujas vaiko langas.

Atsidarys naujas langas, paprašykite vartotojo įvesti el. Pašto adresą ir pateikti puslapį.

4 žingsnis) Įveskite savo el. Pašto ID ir pateikite.

5 žingsnis. Pateikdami puslapį, parodykite prieigos kredencialus.

Vykdydami kodą pamatysite, kad atidarytas vaiko langas naujame skirtuke.

  1. Uždarykite vaiko langą, kuriame rodomi kredencialai.
  1. Perjunkite į tėvų langą.

Kelių langų naudojimas „Selenium“ žiniatinklio tvarkyklėje naudojant aukščiau pateiktą scenarijų.

importuoti java.util.Iterator;importuoti java.util.Set;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.firefox.FirefoxDriver;viešoji klasė „WindowHandle_Demo“public static void main (String [] args) meta InterruptedException {„WebDriver“ tvarkyklė = nauja „FirefoxDriver“ ();// Svetainės paleidimas.driver.get ("http://demo.guru99.com/popup.php");vairuotojas.tvarkyti (). langas (). padidinti ();driver.findElement (By.xpath ("// * [yra (@ href, 'popup.php')]")). spustelėkite ();String MainWindow = tvarkyklė.getWindowHandle ();// Tvarkyti visus naujus atidarytus langus.Nustatykite  s1 = driver.getWindowHandles ();Iteratorius  i1 = s1.iterator ();o (i1.hasNext ()){Eilutė „ChildWindow“ = i1.next ();jei (! MainWindow.equalsIgnoreCase (ChildWindow)){// Perėjimas prie vaiko langodriver.switchTo (). langas („ChildWindow“);driver.findElement (By.name ("emailid")).sendKeys (" Šis el. pašto adresas yra apsaugotas nuo šiukšlų. Jums reikia įgalinti JavaScript, kad galėtumėte jį pamatyti.");driver.findElement (By.name ("btnLogin")). spustelėkite ();// Vaiko lango uždarymas.vairuotojas.uždaryti ();}}// Perėjimas prie lango „Tėvai“, ty pagrindinio lango.driver.switchTo (). langas („MainWindow“);}}

Išvestis:

Kai vykdote aukščiau nurodytą kodą, jis paleidžia svetainę ir, spustelėjęs nuorodą „Spustelėkite čia“, atidaro vaiko langą naujame skirtuke. Galite visiškai uždaryti antrinį langą ir pereiti į tėvų langą. Taigi tvarkykite daugiau nei vieną programos langą.

Kelių langų valdymas selene

Išvada:

  • Mes apibrėžėme įspėjimo tipus ir parodėme juos ekrano nuotrauka.
  • Parodė, kaip įspėjimą tvarkyti naudojant „Selenium WebDriver“, naudojant tam tikrą scenarijų.
  • Tvarkė kelis langus naudodamas „Selenium WebDriver“ tam tikrą scenarijų.