Jak zvládnout Selenium Upozornění a vyskakovací okna?

V čem je Alert Selenium?

An Upozorněte Selenium je malá schránka se zprávou, která se objeví na obrazovce a poskytuje uživateli nějaké informace nebo upozornění. Upozorní uživatele nějakou konkrétní informací nebo chybou, požádá o povolení provádět určité úkoly a také poskytuje varovné zprávy.

V tomto tutoriálu se naučíme, jak zacházet s vyskakovacím oknem Selenium a různé typy výstrah nalezených ve webové aplikaci Testování. Uvidíme také, jak zacházet s Alert in Selenium WebDriver a zjistěte, jak přijímáme a odmítáme upozornění v závislosti na typech upozornění.

Typy upozornění v Selenium

1) Simple Alert

Jednoduchá výstražná třída v Selenium zobrazí na obrazovce nějaké informace nebo varování.

Simple Alert

2) Prompt Alert

Tento Prompt Alert požádá uživatele o nějaký vstup a Selenium webdriver může zadat text pomocí sendkeys(”vstup….”).

Prompt Alert

3) Confirmation Alert

Tato potvrzovací výstraha vyžaduje povolení k provedení určitého typu operace.

Confirmation Alert

Jak zacházet s Alert in Selenium webový ovladač

Výstražné rozhraní poskytuje níže uvedených několik metod, které jsou široce používány Selenium Webdriver.

1) void dismiss() // Kliknutím na tlačítko 'Storno' upozornění.

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

2) void accept()// Chcete-li kliknout na tlačítko 'OK' výstrahy.

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

3) Řetězec getText() // Pro zachycení výstražné zprávy.

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

4) void sendKeys(String stringToSend) // Odeslání některých dat do výstražného boxu.

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

Můžete vidět, že se zobrazuje řada metod výstrah, jak je znázorněno na níže uvedené obrazovce navržené uživatelem Eclipse.

Na výstrahu se můžeme snadno přepnout z hlavního okna pomocí SeleniumJe .přepnout na() metoda.

Zpracovat upozornění v Selenium webový ovladač

Nyní zautomatizujeme níže uvedený scénář.

V tomto scénáři použijeme pro ilustraci demo web Guru99 Selenium Zpracování výstrah.

Krok 1) Spusťte webový prohlížeč a otevřete web https://demo.guru99.com/test/delete_customer.php

Krok 2) Zadejte libovolné ID zákazníka.

Zpracovat upozornění v Selenium webový ovladač

Krok 3) Po zadání zákaznického ID klikněte na tlačítko „Odeslat“.

Zpracovat upozornění v Selenium webový ovladač

Krok 4) Odmítnout/přijmout upozornění.

Zpracovat upozornění v Selenium webový ovladač

Manipulační upozornění v 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();		
    }	

}
		

Výstup:

Když spustíte výše uvedený kód, spustí se web. Pokuste se odstranit ID zákazníka zpracováním potvrzovacího upozornění, které se zobrazí na obrazovce, a tím smazáním ID zákazníka z aplikace.

Jak zacházet s použitím vyskakovacích oken Selenium Webdriver

V automatizaci, když máme v jakékoli webové aplikaci více oken, může být potřeba přepnout ovládání mezi několika okny z jednoho do druhého, aby byla operace dokončena. Po dokončení operace se musí vrátit do hlavního okna, tj. do nadřazeného okna Selenium. To uvidíme dále v článku na příkladu.

In Selenium webový ovladač existují metody, pomocí kterých můžeme ovládat více oken.

Driver.getWindowHandles();

Pro manipulaci se všemi otevřenými okny pomocí webového ovladače můžeme použít „Driver.getWindowHandles()“ a poté můžeme přepínat okna z jednoho okna do druhého ve webové aplikaci. Jeho návratový typ je Iterator .

Driver.getWindowHandle();

Když se stránka otevře, musíme zvládnout hlavní okno pomocí driver.getWindowHandle(). To zpracuje aktuální okno, které jej jednoznačně identifikuje v rámci této instance ovladače. Jeho návratový typ je String.

Pro manipulaci s okny v Selenium, budeme postupovat podle následujících kroků:

Nyní zautomatizujeme níže uvedený scénář, abychom viděli, jak zacházet s více okny Selenium Webdriver.

V tomto scénáři použijeme demo stránku „Guru99“ pro ilustraci ovládání oken.

Krok 1) Spusťte web.

Spusťte prohlížeč a otevřete web https://demo.guru99.com/popup.php

Zvládněte použití vyskakovacího okna Selenium Webdriver

Krok 2) Klikněte na odkaz „Klikněte zde“.

Když uživatel klikne na odkaz „Klikněte sem“, otevře se nové podřízené okno.

Zvládněte použití vyskakovacího okna Selenium Webdriver

Krok 3) Otevře se okno New Child Window.

Otevře se nové okno, požádejte uživatele o zadání e-mailové adresy a odeslání stránky.

Zvládněte použití vyskakovacího okna Selenium Webdriver

Krok 4) Zadejte své e-mailové ID a odešlete.

Zvládněte použití vyskakovacího okna Selenium Webdriver

Krok 5) Při odeslání stránky zobrazte přístupové údaje.

Zvládněte použití vyskakovacího okna Selenium Webdriver

Když kód spustíte, uvidíte, že se na nové kartě otevře podřízené okno.

  1. Zavřete okno Child, na kterém jsou zobrazeny přihlašovací údaje.

Zvládněte použití vyskakovacího okna Selenium Webdriver

  1. Přepněte do nadřazeného okna.

Zvládněte použití vyskakovacího okna Selenium Webdriver

Jak zacházet s vícenásobnými 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);				
    }
}		

Výstup:

Když spustíte výše uvedený kód, spustí se web a po kliknutí na odkaz „Klikněte sem“ se otevře podřízené okno na nové kartě. Po dokončení operace můžete podřízené okno zavřít a přepnout do nadřazeného okna. V aplikaci tedy zpracovává více než jedno okno.

Manipulace s více okny Selenium
Manipulace s více okny Selenium

Proč investovat do čističky vzduchu?

  • Definovali jsme typy výstrah a zobrazili je pomocí snímku obrazovky.
  • Ukázáno zpracování výstrahy pomocí Selenium WebDriver pomocí konkrétního scénáře.
  • Řeší více oken s Selenium WebDriver pomocí konkrétního scénáře.

Více Přečtěte si více