So gehen Sie mit Warnungen und Popups um in Selenium?

Was ist Alert in? Selenium?

An Alarm herein Selenium ist ein kleines Meldungsfeld, das auf dem Bildschirm angezeigt wird, um dem Benutzer Informationen oder Benachrichtigungen zu geben. Es benachrichtigt den Benutzer über bestimmte Informationen oder Fehler, bittet um Erlaubnis, bestimmte Aufgaben auszuführen, und zeigt auch Warnmeldungen an.

In diesem Tutorial erfahren Sie, wie Sie mit Popup-Fenstern umgehen Selenium und verschiedene Arten von Warnungen in Webanwendungen Tests. Wir werden auch sehen, wie man mit Alert umgeht Selenium WebDriver und erfahren Sie, wie wir die Warnung je nach Art der Warnung akzeptieren und ablehnen.

Arten von Warnungen in Selenium

1) Simple Alert

Die einfache Alarmklasse in Selenium zeigt einige Informationen oder Warnungen auf dem Bildschirm an.

Simple Alert

2) Prompt Alert

Dieser Prompt Alert bittet den Benutzer um Eingaben und Selenium Webdriver kann den Text mit sendkeys(“input….“) eingeben.

Prompt Alert

3) Confirmation Alert

In dieser Bestätigungsmeldung wird um Erlaubnis gebeten, eine bestimmte Operation durchzuführen.

Confirmation Alert

Umgang mit Alert in Selenium WebTreiber

Die Alert-Schnittstelle bietet die folgenden Methoden, die häufig verwendet werden Selenium Webtreiber.

1) void entlassen() // Klicken Sie auf die Schaltfläche „Abbrechen“ der Warnung.

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

2) void akzeptieren()// Klicken Sie auf die Schaltfläche „OK“ der Warnung.

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

3) String getText() // Um ​​die Warnmeldung zu erfassen.

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

4) void sendKeys(String stringToSend) // Um ​​einige Daten an das Warnfeld zu senden.

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

Sie können eine Reihe von Alarmmethoden sehen, wie im folgenden Bildschirm angezeigt, vorgeschlagen von Eclipse.

Mithilfe von können wir vom Hauptfenster aus ganz einfach zur Benachrichtigung wechseln Selenium .wechseln zu() Methode.

Behandeln Sie Alert in Selenium WebTreiber

Jetzt automatisieren wir das unten angegebene Szenario.

In diesem Szenario verwenden wir zur Veranschaulichung die Guru99-Demoseite Selenium Umgang mit Warnungen.

Schritt 1) Starten Sie den Webbrowser und öffnen Sie die Website https://demo.guru99.com/test/delete_customer.php

Schritt 2) Geben Sie eine beliebige Kunden-ID ein.

Behandeln Sie Alert in Selenium WebTreiber

Schritt 3) Klicken Sie nach Eingabe der Kunden-ID auf die Schaltfläche „Senden“.

Behandeln Sie Alert in Selenium WebTreiber

Schritt 4) Die Warnung ablehnen/annehmen.

Behandeln Sie Alert in Selenium WebTreiber

Umgang mit Alarm in Selenium Webtreiber

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();		
    }	

}
		

Ausgang:

Wenn Sie den obigen Code ausführen, wird die Site gestartet. Versuchen Sie, die Kunden-ID zu löschen, indem Sie die auf dem Bildschirm angezeigte Bestätigungsmeldung verarbeiten und dadurch die Kunden-ID aus der Anwendung löschen.

Umgang mit Popup-Fenstern Selenium Webtreiber

Wenn wir bei der Automatisierung mehrere Fenster in einer Webanwendung haben, muss die Aktivität möglicherweise die Steuerung zwischen mehreren Fenstern von einem zum anderen wechseln, um den Vorgang abzuschließen. Nach Abschluss des Vorgangs muss zum Hauptfenster, d. h. zum übergeordneten Fenster, zurückgekehrt werden. Selenium. Wir werden dies im Artikel anhand eines Beispiels näher betrachten.

In Selenium Webtreiber: Es gibt Methoden, mit denen wir mehrere Fenster handhaben können.

Driver.getWindowHandles();

Um alle geöffneten Fenster per Webtreiber zu verwalten, können wir „Driver.getWindowHandles()“ verwenden und dann in einer Webanwendung von einem Fenster zum anderen wechseln. Der Rückgabetyp ist Iterator .

Driver.getWindowHandle();

Wenn die Site geöffnet wird, müssen wir das Hauptfenster verwalten Driver.getWindowHandle(). Dadurch wird das aktuelle Fenster behandelt, das es innerhalb dieser Treiberinstanz eindeutig identifiziert. Sein Rückgabetyp ist String.

Für die Fensterbearbeitung Selenium, werden wir die folgenden Schritte ausführen:

Nun werden wir das unten angegebene Szenario automatisieren, um zu sehen, wie mehrere Fenster mit Selenium Webtreiber.

In diesem Szenario verwenden wir die Demo-Site „Guru99“, um die Fensterbehandlung zu veranschaulichen.

Schritt 1) Starten Sie die Website.

Starten Sie den Browser und öffnen Sie die Site https://demo.guru99.com/popup.php

Behandeln Sie das Popup-Fenster mit Selenium Webtreiber

Schritt 2) Klicken Sie auf den Link „Hier klicken“.

Wenn der Benutzer auf den Link „Hier klicken“ klickt, wird ein neues untergeordnetes Fenster geöffnet.

Behandeln Sie das Popup-Fenster mit Selenium Webtreiber

Schritt 3) Neues untergeordnetes Fenster wird geöffnet.

Es öffnet sich ein neues Fenster. Der Benutzer wird aufgefordert, seine E-Mail-ID einzugeben und die Seite abzusenden.

Behandeln Sie das Popup-Fenster mit Selenium Webtreiber

Schritt 4) Geben Sie Ihre E-Mail-ID ein und senden Sie ab.

Behandeln Sie das Popup-Fenster mit Selenium Webtreiber

Schritt 5) Zeigen Sie die Zugangsdaten beim Absenden der Seite an.

Behandeln Sie das Popup-Fenster mit Selenium Webtreiber

Wenn Sie den Code ausführen, sehen Sie, dass das untergeordnete Fenster in einem neuen Tab geöffnet ist.

  1. Schließen Sie das untergeordnete Fenster, in dem die Anmeldeinformationen angezeigt werden.

Behandeln Sie das Popup-Fenster mit Selenium Webtreiber

  1. Wechseln Sie zum übergeordneten Fenster.

Behandeln Sie das Popup-Fenster mit Selenium Webtreiber

Wie man mit mehreren umgeht 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);				
    }
}		

Ausgang:

Wenn Sie den obigen Code ausführen, wird die Site gestartet und beim Klicken auf den Link „Hier klicken“ wird ein untergeordnetes Fenster in einer neuen Registerkarte geöffnet. Sie können das untergeordnete Fenster schließen und zum übergeordneten Fenster wechseln, sobald der Vorgang abgeschlossen ist. Daher werden in der Anwendung mehr als ein Fenster verwaltet.

Handhabung mehrerer Fenster in Selenium
Handhabung mehrerer Fenster in Selenium

Fazit

  • Wir haben die Alarmtypen definiert und mit einem Screenshot dargestellt.
  • Demonstrierter Umgang mit der Warnung Selenium WebDriver verwendet ein bestimmtes Szenario.
  • Mehrere Fenster verwaltet mit Selenium WebDriver verwendet ein bestimmtes Szenario.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: