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.
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.
3) Confirmation Alert
Bu onay uyarısı bir tür işlem yapma izni ister.
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.
Ş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.
) 3 Adım Müşteri kimliğini girdikten sonra “Gönder” butonuna tıklayın.
) 4 Adım Uyarıyı reddedin/kabul edin.
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
) 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.
) 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.
) 4 Adım E-posta kimliğinizi girin ve gönderin.
) 5 Adım Sayfayı gönderirken Erişim Kimlik Bilgilerini görüntüleyin.
Kodu çalıştırdığınızda alt pencerenin yeni sekmede açıldığını göreceksiniz.
- Kimlik bilgilerinin görüntülendiği Çocuk penceresini kapatın.
- Ana pencereye geçin.
Ç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.
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.