Uyarılar ve Açılır Pencereler Nasıl Ele Alınır? Selenium?

Alert nedir? Selenium?

An Uyarı girişi Selenium kullanıcıya bazı bilgiler veya bildirimler vermek için ekranda görünen küçük bir mesaj kutusudur. Kullanıcıyı belirli bilgiler veya hatalarla bilgilendirir, belirli görevleri gerçekleştirmek için izin ister ve ayrıca uyarı mesajları da sağlar.

Bu derste, açılır pencerelerin nasıl işleneceğini öğreneceğiz. Selenium ve web uygulamasında bulunan farklı uyarı türleri Test yapmak. Ayrıca Alert'in nasıl ele alınacağını da göreceğiz. Selenium WebDriver'ı açın ve uyarı türlerine bağlı olarak uyarıyı nasıl kabul edip reddedeceğimizi öğrenin.

Uyarı Türleri Selenium

1) Simple Alert

Basit uyarı sınıfı Selenium ekranda bazı bilgileri veya uyarıları görüntüler.

Simple Alert

2) Prompt Alert

Bu Prompt Alert kullanıcıdan bazı girdiler ister ve Selenium web sürücüsü, gönderme tuşlarını ("giriş….") kullanarak metni girebilir.

Prompt Alert

3) Confirmation Alert

Bu onay uyarısı bir tür işlem yapma izni ister.

Confirmation Alert

Alert nasıl işlenir? Selenium Web Sürücüsü

Uyarı arayüzü, yaygın olarak kullanılan aşağıdaki birkaç yöntemi sağlar. Selenium Web sürücüsü.

1) geçersiz işten çıkarma() // Uyarının 'İptal' butonuna tıklamak için.

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

2) geçersiz kabul()// Uyarının 'Tamam' butonuna tıklamak için.

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

3) Dize getText() // Uyarı mesajını yakalamak için.

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

4) void sendKeys(String stringToSend) // Uyarı kutusuna bazı veriler göndermek için.

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

Tarafından önerilen aşağıdaki ekranda gösterildiği gibi bir dizi Uyarı yönteminin görüntülendiğini görebilirsiniz. Eclipse.

kullanarak ana pencereden uyarıya kolayca geçiş yapabiliriz. Selenium'S .çevirmek() yöntemi.

Uyarıyı işle Selenium Web Sürücüsü

Şimdi aşağıdaki senaryoyu otomatikleştiriyoruz.

Bu senaryoda, bunu göstermek için Guru99 demo sitesini kullanacağız. Selenium Uyarı yönetimi.

) 1 Adım Web tarayıcısını başlatın ve siteyi açın https://demo.guru99.com/test/delete_customer.php

) 2 Adım Herhangi Bir Müşteri Kimliğini Girin.

Uyarıyı işle Selenium Web Sürücüsü

) 3 Adım Müşteri kimliğini girdikten sonra “Gönder” butonuna tıklayın.

Uyarıyı işle Selenium Web Sürücüsü

) 4 Adım Uyarıyı reddedin/kabul edin.

Uyarıyı işle Selenium Web Sürücüsü

Uyarının İşlenmesi Selenium Web sürücüsü

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

}
		

Çıktı:

Yukarıdaki kodu çalıştırdığınızda, site başlatılır. Ekranda görüntülenen onay uyarısını işleyerek ve böylece müşteri kimliğini uygulamadan silerek Müşteri Kimliğini silmeyi deneyin.

Açılır pencereyi kullanarak nasıl işlenir? Selenium Web sürücüsü

Otomasyonda, herhangi bir web uygulamasında birden fazla penceremiz olduğunda, işlemi tamamlamak için etkinliğin birkaç pencere arasında kontrolü birinden diğerine değiştirmesi gerekebilir. İşlem tamamlandıktan sonra, ana pencereye yani üst pencereye geri dönmesi gerekir. Selenium. Bunu yazının devamında bir örnekle göreceğiz.

In Selenium web sürücüsünde birden fazla pencereyi idare edebileceğimiz yöntemler mevcuttur.

Driver.getWindowHandles();

Web sürücüsü tarafından açılan tüm pencereleri işlemek için “Driver.getWindowHandles()” kullanabiliriz ve ardından bir web uygulamasında pencereyi bir pencereden diğerine geçirebiliriz. Dönüş tipi Iterator'dır .

Driver.getWindowHandle();

Site açıldığında ana pencereyi şu şekilde ele almamız gerekiyor: Driver.getWindowHandle(). Bu, onu bu sürücü örneğinde benzersiz şekilde tanımlayan geçerli pencereyi işleyecektir. Dönüş türü String'dir.

Pencere işleme için Selenium, aşağıdaki adımları izleyeceğiz:

Şimdi, birden fazla pencerenin nasıl işleneceğini görmek için verilen aşağıdaki senaryoyu otomatikleştireceğiz. Selenium Web sürücüsü.

Bu senaryoda pencere kullanımını göstermek için “Guru99” demo sitesini kullanacağız.

) 1 Adım Siteyi başlatın.

Tarayıcıyı başlatın ve siteyi açın https://demo.guru99.com/popup.php

Açılır Pencereyi Kullanarak İşle Selenium Web sürücüsü

) 2 Adım “Buraya Tıklayın” bağlantısına tıklayın.

Kullanıcı “Buraya Tıkla” linkine tıkladığında yeni alt pencere açılır.

Açılır Pencereyi Kullanarak İşle Selenium Web sürücüsü

) 3 Adım Yeni Çocuk Penceresi açılır.

Yeni bir pencere açılır, kullanıcıdan e-posta kimliğini girmesi ve sayfayı göndermesi istenir.

Açılır Pencereyi Kullanarak İşle Selenium Web sürücüsü

) 4 Adım E-posta kimliğinizi girin ve gönderin.

Açılır Pencereyi Kullanarak İşle Selenium Web sürücüsü

) 5 Adım Sayfayı gönderirken Erişim Kimlik Bilgilerini görüntüleyin.

Açılır Pencereyi Kullanarak İşle Selenium Web sürücüsü

Kodu çalıştırdığınızda alt pencerenin yeni sekmede açıldığını göreceksiniz.

  1. Kimlik bilgilerinin görüntülendiği Çocuk penceresini kapatın.

Açılır Pencereyi Kullanarak İşle Selenium Web sürücüsü

  1. Ana pencereye geçin.

Açılır Pencereyi Kullanarak İşle Selenium Web sürücüsü

Çoklu İşleme Nasıl Yapılır 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);				
    }
}		

Çıktı:

Yukarıdaki kodu çalıştırdığınızda site açılıyor ve “Buraya tıklayın” bağlantısına tıkladığınızda yeni bir sekmede bir alt pencere açılıyor. Alt pencereyi kapatabilir ve işlem tamamlandıktan sonra ana pencereye geçebilirsiniz. Bu nedenle uygulamada birden fazla pencerenin işlenmesi.

Çoklu Pencere İşleme Selenium
Çoklu Pencere İşleme Selenium

Sonuç

  • Uyarı türlerini tanımladık ve ekran görüntüsüyle gösterdik.
  • Uyarının aşağıdakilerle nasıl işlendiği gösterilmiştir: Selenium Belirli bir senaryoyu kullanan WebDriver.
  • Birden fazla pencereyi yönetti Selenium Belirli bir senaryoyu kullanan WebDriver.