Selenium Figyelmeztetések és felugró ablakok kezelése: Hogyan kezeljük?

Miben van az Alert Selenium?

An Figyelmeztetés be Selenium egy kis üzenetdoboz, amely a képernyőn jelenik meg, hogy a felhasználónak tájékoztatást vagy értesítést adjon. Konkrét információval, hibával értesíti a felhasználót, engedélyt kér bizonyos feladatok elvégzésére és figyelmeztető üzeneteket is ad.

Ebben az oktatóanyagban megtanuljuk, hogyan kell kezelni a felugró ablakokat Selenium és a webalkalmazásokban található különböző típusú riasztások Tesztelés. Azt is látni fogjuk, hogyan kell kezelni a riasztást Selenium WebDriver, és tanulja meg, hogyan fogadjuk el és utasítsuk el a riasztást a riasztás típusától függően.

A riasztások típusai itt Selenium

1) Simple Alert

Az egyszerű riasztási osztály Selenium bizonyos információkat vagy figyelmeztetéseket jelenít meg a képernyőn.

Simple Alert

2) Prompt Alert

Ezt Prompt Alert kér némi inputot a felhasználótól és Selenium A webdriver a sendkeys(" input… ") segítségével tudja beírni a szöveget.

Prompt Alert

3) Confirmation Alert

Ez a megerősítő riasztás engedélyt kér bizonyos típusú műveletek elvégzésére.

Confirmation Alert

Hogyan kell kezelni a riasztást Selenium webdriver

A riasztási felület az alábbi néhány módszert kínálja, amelyeket széles körben használnak Selenium Webdriver.

1) érvénytelen elvetés () // A riasztás 'Mégse' gombjára kattintva.

driver.switchTo().alert().dismiss();

2) érvénytelen elfogadás()// A riasztás 'OK' gombjára kattintva.

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

3) String getText() // A figyelmeztető üzenet rögzítése.

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

4) void sendKeys (StringToSend) // Néhány adat elküldése a figyelmeztető dobozba.

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

Láthatja, hogy számos riasztási mód jelenik meg, ahogy az alábbi képernyőn látható, amelyet javasolt Eclipse.

A fő ablakból egyszerűen átválthatunk riasztásra a használatával Selenium'S .váltani() módszer.

Kezelje a figyelmeztetést Selenium webdriver

Most automatizáljuk az alábbi forgatókönyvet.

Ebben a forgatókönyvben a Guru99 bemutató oldalát fogjuk használni a szemléltetésre Selenium Figyelmeztetés kezelése.

Step 1) Indítsa el a webböngészőt, és nyissa meg a webhelyet https://demo.guru99.com/test/delete_customer.php

Step 2) Adja meg a bármely ügyfél-azonosítót.

Kezelje a figyelmeztetést Selenium webdriver

Step 3) Az ügyfélazonosító megadása után kattintson a „Küldés” gombra.

Kezelje a figyelmeztetést Selenium webdriver

Step 4) A figyelmeztetés elutasítása/elfogadása.

Kezelje a figyelmeztetést Selenium webdriver

Figyelmeztetés kezelése Selenium Webdriver

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;

public class AlertDemo {
	
	public static void main(String[] args) throws NoAlertPresentException,InterruptedException  {									
		System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");
		WebDriver driver = new ChromeDriver();
	
        
        // Alert Message handling
                    		
        driver.get("https://demo.guru99.com/test/delete_customer.php");			
                            		
     	      	
        driver.findElement(By.name("cusid")).sendKeys("53920");					
        driver.findElement(By.name("submit")).submit();			
        		
        // Switching to Alert        
        Alert alert = driver.switchTo().alert();		
        		
        // Capturing alert message.    
        String alertMessage= driver.switchTo().alert().getText();		
        		
        // Displaying alert message		
        System.out.println(alertMessage);	
        Thread.sleep(5000);
        		
        // Accepting alert		
        alert.accept();		
    }	

}
		

output:

Amikor végrehajtja a fenti kódot, elindítja a webhelyet. Próbálja meg törölni az Ügyfél-azonosítót a képernyőn megjelenő megerősítő figyelmeztetés kezelésével, és ezzel törölje az ügyfél-azonosítót az alkalmazásból.

Hogyan kezeljük a felugró ablakokat Selenium Webdriver

Az automatizálásban, ha egy webalkalmazásban több ablakunk van, előfordulhat, hogy a tevékenységnek át kell váltania a vezérlést több ablak között a művelet befejezéséhez. A művelet befejezése után vissza kell térnie a főablakba, azaz a szülőablakba Selenium. Ezt a cikkben egy példával tovább fogjuk látni.

In Selenium web-illesztőprogram vannak olyan módszerek, amelyeken keresztül több ablakot is kezelhetünk.

Driver.getWindowHandles();

Az összes megnyitott ablak web-illesztőprogram általi kezeléséhez használhatjuk a „Driver.getWindowHandles()” parancsot, majd egy webalkalmazásban válthatunk ablakot egyik ablakról a másikra. A visszatérési típusa az Iterator .

Driver.getWindowHandle();

Amikor a webhely megnyílik, a fő ablakot kell kezelnünk driver.getWindowHandle(). Ez kezeli az aktuális ablakot, amely egyedileg azonosítja az illesztőprogram-példányon belül. A visszatérési típusa String.

Ablakkezeléshez Selenium, az alábbi lépéseket követjük:

Most automatizáljuk az alábbi forgatókönyvet, hogy megtudjuk, hogyan kell több ablakot kezelni Selenium Webdriver.

Ebben a forgatókönyvben a „Guru99” bemutató oldalt fogjuk használni az ablakkezelés illusztrálására.

Step 1) Indítsa el az oldalt.

Indítsa el a böngészőt, és nyissa meg a webhelyet https://demo.guru99.com/popup.php

A felugró ablak kezelése Selenium Webdriver

Step 2) Kattintson a „Kattintson ide” linkre.

Amikor a felhasználó a „Kattintson ide” hivatkozásra kattint, új gyermekablak nyílik meg.

A felugró ablak kezelése Selenium Webdriver

Step 3) Megnyílik az új gyermekablak.

Megnyílik egy új ablak, kérje meg a felhasználót, hogy adja meg az e-mail azonosítóját, és küldje el az oldalt.

A felugró ablak kezelése Selenium Webdriver

Step 4) Adja meg e-mail azonosítóját és küldje el.

A felugró ablak kezelése Selenium Webdriver

Step 5) Jelenítse meg a hozzáférési hitelesítő adatokat az oldal elküldésekor.

A felugró ablak kezelése Selenium Webdriver

Amikor végrehajtja a kódot, látni fogja, hogy a gyermekablak új lapon van nyitva.

  1. Zárja be a Gyermek ablakot, amelyen a hitelesítési adatok megjelennek.

A felugró ablak kezelése Selenium Webdriver

  1. Váltson a szülőablakra.

A felugró ablak kezelése Selenium Webdriver

Hogyan kezeljük a többszöröst Windows in Selenium

import java.util.Iterator;		
import java.util.Set;		
import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.firefox.FirefoxDriver;		

public class WindowHandle_Demo {				

    public static void main(String[] args) throws InterruptedException {									
        	WebDriver driver=new FirefoxDriver();			
        		
        //Launching the site.				
            driver.get("https://demo.guru99.com/popup.php");			
        driver.manage().window().maximize();		
                		
driver.findElement(By.xpath("//*[contains(@href,'popup.php')]")).click();			
        		
        String MainWindow=driver.getWindowHandle();		
        		
        // To handle all new opened window.				
            Set<String> s1=driver.getWindowHandles();		
        Iterator<String> i1=s1.iterator();		
        		
        while(i1.hasNext())			
        {		
            String ChildWindow=i1.next();		
            		
            if(!MainWindow.equalsIgnoreCase(ChildWindow))			
            {    		
                 
                    // Switching to Child window
                    driver.switchTo().window(ChildWindow);	                                                                                                           
                    driver.findElement(By.name("emailid"))
                    .sendKeys("gaurav.3n@gmail.com");                			
                    
                    driver.findElement(By.name("btnLogin")).click();			
                                 
			// Closing the Child Window.
                        driver.close();		
            }		
        }		
        // Switching to Parent window i.e Main Window.
            driver.switchTo().window(MainWindow);				
    }
}		

output:

Amikor végrehajtja a fenti kódot, elindítja a webhelyet, és a „Kattintson ide” hivatkozásra kattintva megnyílik egy gyermekablak egy új lapon. A művelet befejezése után bezárhatja a gyermekablakot, és átválthat a szülőablakra. Ezért egynél több ablakot kell kezelni az alkalmazásban.

Több ablakos kezelés Selenium
Több ablakos kezelés Selenium

Következtetés

  • Meghatároztuk a riasztások típusait, és képernyőképen mutattuk meg őket.
  • Bebizonyította, hogy kezeli a riasztást Selenium WebDriver adott forgatókönyvet használva.
  • Több ablakot kezelt Selenium WebDriver adott forgatókönyvet használva.

Olvasson többet Bővebben