Selēna trauksme un amp; Uznirstošo logu apstrāde: kā rīkoties?

Satura rādītājs:

Anonim

Šajā apmācībā mēs uzzināsim, kā rīkoties ar Selenium uznirstošo logu un dažādu veidu brīdinājumiem, kas atrodami tīmekļa lietojumprogrammu testēšanā. Mēs arī redzēsim, kā rīkoties ar brīdinājumu Selenium WebDriver un uzzināsim, kā mēs pieņemam un noraidām brīdinājumu atkarībā no brīdinājuma veidiem.

Šajā apmācībā jūs uzzināsiet

  • Kas ir brīdinājums?
  • Kā rīkoties ar brīdinājumu selēna WebDriver
  • Kā rīkoties ar Selenium Popup logu, izmantojot Webdriver

Kas ir brīdinājums par selēnu?

Alert in Selēns ir maza ziņojuma lodziņš, kas parādās uz ekrāna, lai dotu lietotājam kādu informāciju vai paziņojumu. Tas paziņo lietotājam noteiktu informāciju vai kļūdu, lūdz atļauju veikt noteiktus uzdevumus, kā arī brīdinājuma ziņojumus.

Šeit ir daži brīdinājumi selēna tipos:

1) Vienkāršs brīdinājums

Vienkāršā trauksmes klase selēnā ekrānā parāda informāciju vai brīdinājumus.

2) Ātrs brīdinājums.

Šis uzvednes brīdinājums prasa lietotāja ievadi, un Selenium tīmekļa draiveris var ievadīt tekstu, izmantojot sūtīšanas atslēgas ("ievade"

…. ").

3) Apstiprinājuma brīdinājums.

Šis brīdinājuma apstiprinājums prasa atļauju veikt kāda veida operācijas.

Kā rīkoties ar brīdinājumu selēna WebDriver

Brīdinājuma saskarne nodrošina zemāk aprakstītās metodes, kuras plaši izmanto Selenium Webdriver.

1) void rej () // Lai noklikšķinātu uz brīdinājuma pogas “Atcelt”.

driver.switchTo (). alert (). atlaist ();

2) void accept () // Lai noklikšķinātu uz brīdinājuma pogas “OK”.

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

3) String getText () // Lai notvertu brīdinājuma ziņojumu.

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

4) void sendKeys (String stringToSend) // Lai nosūtītu dažus datus brīdinājumu lodziņā.

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

Jūs varat redzēt, ka tiek parādītas vairākas brīdinājuma metodes, kā parādīts zemāk redzamajā ekrānā, ko ieteica Eclipse.

Mēs varam viegli pārslēgties uz brīdinājumu no galvenā loga, izmantojot Selenium .switchTo () metodi.

Tagad mēs automatizējam zemāk sniegto scenāriju.

Šajā scenārijā mēs izmantosim Guru99 demonstrācijas vietni, lai ilustrētu Selenium Alert apstrādi.

1. solis. Palaidiet tīmekļa pārlūku un atveriet vietni "http://demo.guru99.com/test/delete_customer.php"

2. solis. Ievadiet jebkuru klienta ID.

3. solis) Pēc klienta ID ievadīšanas noklikšķiniet uz pogas Iesniegt.

4. solis. Noraidiet / pieņemiet brīdinājumu.

Brīdinājuma apstrāde selēna tīmekļa draiverī, izmantojot iepriekš minēto scenāriju

importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.chrome.ChromeDriver;importēt org.openqa.selenium.NoAlertPresentException;importēt org.openqa.selenium.Alert;sabiedrības klase AlertDemo {public static void main (String [] args) throws NoAlertPresentException, InterruptedException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver draiveris = jauns ChromeDriver ();// Brīdinājuma ziņojumu apstrādedraiveris.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");draiveris.findElement (Pēc.nosaukums ("iesniegt")). iesniegt ();// Pārslēgšanās uz brīdinājumuBrīdinājuma trauksme = driver.switchTo (). Alert ();// Brīdinājuma ziņojuma tveršana.String alertMessage = driver.switchTo (). Alert (). GetText ();// Parāda brīdinājuma ziņojumuSystem.out.println (alertMessage);Thread.sleep (5000);// Brīdinājuma pieņemšanabrīdinājums.pieņemt ();}}

Izeja:

Izpildot iepriekš minēto kodu, tas palaiž vietni. Mēģiniet dzēst klienta ID, rīkojoties ar apstiprinājuma brīdinājumu, kas tiek parādīts ekrānā, un tādējādi izdzēšot klienta ID no lietojumprogrammas.

Kā rīkoties ar Selenium uznirstošo logu, izmantojot Webdriver

Automatizācijā, kad mums ir vairāki logi jebkurā tīmekļa lietojumprogrammā, darbībai var būt nepieciešams pārslēgt vadību starp vairākiem logiem no viena uz otru, lai pabeigtu darbību. Pēc operācijas pabeigšanas tai ir jāatgriežas galvenajā logā, ti, vecāku logā Selenium. Mēs to redzēsim tālāk rakstā ar piemēru.

Selenium tīmekļa draiverī ir metodes, ar kuru palīdzību mēs varam rīkoties ar vairākiem logiem.

Driver.getWindowHandles ();

Lai apstrādātu visus atvērtos logus, izmantojot tīmekļa draiveri, mēs varam izmantot "Driver.getWindowHandles ()" un pēc tam tīmekļa lietojumprogrammā varam pārslēgt logu no viena loga uz otru. Tās atgriešanās veids ir Iterator .

Driver.getWindowHandle ();

Kad vietne tiek atvērta, mums ir jārīkojas ar galveno logu, izmantojot driver.getWindowHandle () . Tas apstrādās pašreizējo logu, kas to unikāli identificē šajā draivera instancē. Tās atgriešanās veids ir String.

Veicot logu apstrādi selēnā, mēs rīkosimies šādi:

Tagad mēs automatizēsim zemāk sniegto scenāriju, lai redzētu, kā rīkoties ar vairākiem logiem, izmantojot Selenium Webdriver.

Šajā scenārijā mēs izmantosim demonstrācijas vietni "Guru99", lai ilustrētu logu apstrādi.

1. solis) Palaidiet vietni.

Palaidiet pārlūkprogrammu un atveriet vietni " http://demo.guru99.com/popup.php "

2. solis) Noklikšķiniet uz saites "Noklikšķiniet šeit".

Kad lietotājs noklikšķina uz saites "Noklikšķiniet šeit", tiek atvērts jauns bērnu logs.

3. solis . Tiek atvērts jauns bērna logs.

Atveras jauns logs, lūdziet lietotāju ievadīt e-pasta ID un iesniegt lapu.

4. solis. Ievadiet savu e-pasta ID un iesniedziet.

5. solis. Iesniedzot lapu, parādiet piekļuves akreditācijas datus.

Izpildot kodu, jaunā cilnē redzēsiet, ka bērna logs ir atvērts.

  1. Aizveriet logu Bērns, kurā tiek parādīti akreditācijas dati.
  1. Pārslēdzieties uz vecāku logu.

Vairāku logu apstrāde Selenium tīmekļa draiverī, izmantojot iepriekš minēto scenāriju.

importēt java.util.Iterator;importēt java.util.Set;importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.firefox.FirefoxDriver;publiskā klase WindowHandle_Demo {public static void main (String [] args) met InterruptedException {WebDriver draiveris = jauns FirefoxDriver ();// Vietnes palaišana.draiveris.get ("http://demo.guru99.com/popup.php");draiveris.pārvaldīt (). logs (). maksimizēt ();driver.findElement (By.xpath ("// * [satur (@ href, 'popup.php')]")). noklikšķiniet ();String MainWindow = draiveris.getWindowHandle ();// Lai apstrādātu visu jauno atvērto logu.Iestatiet  s1 = driver.getWindowHandles ();Iterators  i1 = s1.iterator ();kamēr (i1.hasNext ()){String ChildWindow = i1.next ();ja (! MainWindow.equalsIgnoreCase (ChildWindow)){// Pārslēgšanās uz bērnu logudriver.switchTo (). logs (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys (" Šī e-pasta adrese ir aizsargāta pret mēstuļošanu (spam), Jūsu pārlūkam ir jābūt iespējotam Javascript, lai to aplūkotu.");driver.findElement (By.name ("btnLogin")). noklikšķiniet ();// Bērna loga aizvēršana.vadītājs.slēgt ();}}// Pārslēgšanās uz vecāku logu, ti, galveno logu.driver.switchTo (). logs (MainWindow);}}

Izeja:

Izpildot iepriekš minēto kodu, tas palaiž vietni un, noklikšķinot uz saites "Noklikšķiniet šeit", jaunā cilnē tiek atvērts bērnu logs. Kad darbība ir pilnībā pabeigta, varat aizvērt bērnu logu un pārslēgties uz vecāku logu. Tādējādi lietojumprogrammā tiek apstrādāti vairāki logi.

Vairāku logu apstrāde selēnā

Secinājums:

  • Mēs definējām trauksmes veidus un parādījām tos ar ekrānuzņēmumu.
  • Parādīts, kā apstrādāt brīdinājumu ar Selenium WebDriver, izmantojot konkrētu scenāriju.
  • Apstrādāja vairākus logus, izmantojot Selenium WebDriver, izmantojot noteiktu scenāriju.