Bu eğiticide, Selenium'da açılır pencerenin nasıl işleneceğini ve web uygulaması Testinde bulunan farklı uyarı türlerini öğreneceğiz. Ayrıca Selenium WebDriver'da Alert'ün nasıl işleneceğini göreceğiz ve uyarı türlerine bağlı olarak uyarıyı nasıl kabul edip reddedeceğimizi öğreneceğiz.
Bu eğitimde öğreneceksiniz-
- Uyarı nedir?
- Selenium WebDriver'da Uyarı nasıl işlenir
- Selenium Popup penceresi Webdriver kullanarak nasıl kullanılır?
Selenium'da Uyarı nedir?
Bir Selenyum içinde Uyarısı kullanıcıya bazı bilgiler veya bildirimi vermek ekranda görüntülenir küçük bir mesaj kutusudur. Kullanıcıya bazı özel bilgiler veya hatalar bildirir, belirli görevleri gerçekleştirmek için izin ister ve ayrıca uyarı mesajları verir.
Selenium türlerinde birkaç uyarı:
1) Basit Uyarı
Selenium'daki basit uyarı sınıfı, ekranda bazı bilgiler veya uyarılar görüntüler.
2) İstemi Uyarısı.
Bu İstem Uyarısı, kullanıcıdan bir miktar girdi ister ve Selenium web sürücüsü, gönderme anahtarlarını kullanarak metni girebilir ("giriş
…. ").3) Onay Uyarısı.
Bu onay uyarısı, bir tür işlem yapmak için izin ister.
Selenium WebDriver'da Uyarı nasıl işlenir
Uyarı arabirimi, Selenium Webdriver'da yaygın olarak kullanılan aşağıdaki birkaç yöntemi sağlar.
1) void dismiss () // Uyarının 'İptal' düğmesine tıklamak için.
driver.switchTo (). alert (). dismiss ();
2) void accept () // Uyarının 'Tamam' düğmesine tıklamak için.
driver.switchTo (). alert (). accept ();
3) String getText () // Uyarı mesajını yakalamak için.
driver.switchTo (). alert (). getText ();
4) void sendKeys (String stringToSend) // Bazı verileri uyarı kutusuna göndermek için.
driver.switchTo (). alert (). sendKeys ("Metin");
Eclipse tarafından önerilen aşağıdaki ekranda gösterildiği gibi bir dizi Uyarı yönteminin görüntülendiğini görebilirsiniz.
Selenium'un .switchTo () yöntemini kullanarak ana pencereden kolayca uyarıya geçebiliriz .
Şimdi aşağıdaki senaryoyu otomatikleştiriyoruz.
Bu senaryoda, Selenium Uyarı işlemesini göstermek için Guru99 demo sitesini kullanacağız.
Adım 1) Web tarayıcısını başlatın ve "http://demo.guru99.com/test/delete_customer.php" sitesini açın.
Adım 2) Herhangi bir Müşteri kimliği girin.
Adım 3) Müşteri kimliğini girdikten sonra, "Gönder" düğmesine tıklayın.
Adım 4) Uyarıyı reddedin / kabul edin.
Yukarıdaki senaryoyu kullanarak Selenium Webdriver'da Uyarı İşleme
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) NoAlertPresentException, InterruptedException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver sürücüsü = yeni ChromeDriver ();// Uyarı Mesajı işlemedriver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("gönder")). submit ();// Alert'e GeçişUyarı uyarısı = driver.switchTo (). Alert ();// Uyarı mesajı alınıyor.String alertMessage = driver.switchTo (). Alert (). GetText ();// Uyarı mesajı gösteriliyorSystem.out.println (alertMessage);Thread.sleep (5000);// uyarı kabul ediliyoralert.accept ();}}
Çıktı :
Yukarıdaki kodu çalıştırdığınızda, siteyi başlatı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.
Selenium Pop-up penceresi Webdriver kullanılarak nasıl yönetilir
Otomasyonda, herhangi bir web uygulamasında birden fazla penceremiz olduğunda, işlemi tamamlamak için faaliyetin birden fazla pencere arasında kontrolü değiştirmesi gerekebilir. İşlem tamamlandıktan sonra ana pencereye yani Selenium'daki ana pencereye dönmesi gerekir. Bunu bir örnekle makalede daha sonra göreceğiz.
Selenium web sürücüsünde birden çok pencereyi yönetebileceğimiz yöntemler vardır.
Driver.getWindowHandles ();
Açılan tüm pencereleri web sürücüsü ile işlemek için "Driver.getWindowHandles ()" kullanabiliriz ve ardından bir web uygulamasında pencereyi bir pencereden diğerine değiştirebiliriz. Dönüş türü Iterator
Driver.getWindowHandle ();
Site açıldığında, ana pencereyi driver.getWindowHandle () ile işlememiz gerekir . Bu, onu bu sürücü örneğinde benzersiz şekilde tanımlayan mevcut pencereyi işleyecektir. Dönüş türü String'dir.
Selenium'da Pencere kullanımı için aşağıdaki adımları takip edeceğiz:
Şimdi, Selenium Webdriver kullanarak birden çok pencerenin nasıl işleneceğini görmek için aşağıdaki senaryoyu otomatikleştireceğiz.
Bu senaryoda, pencere işlemeyi göstermek için "Guru99" demo sitesini kullanacağız.
Adım 1) Siteyi başlatın.
Tarayıcıyı başlatın ve " http://demo.guru99.com/popup.php " sitesini açın
Adım 2) "Burayı Tıklayın" bağlantısını tıklayın.
Kullanıcı "Burayı Tıklayın" bağlantısını tıkladığında yeni alt pencere açılır.
Adım 3) Yeni Çocuk Penceresi açılır.
Yeni bir pencere açılır, kullanıcıdan e-posta kimliğini girmesini ve sayfayı göndermesini isteyin.
Adım 4) E-posta kimliğinizi girin ve gönderin.
Adım 5) 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 Alt pencereyi kapatın.
- Ana pencereye geçin.
Yukarıdaki senaryoyu kullanarak Selenium webdriver'da birden çok pencereyi yönetme.
import java.util.Iterator;içe aktar 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) InterruptedException {atarWebDriver sürücüsü = yeni FirefoxDriver ();// Siteyi başlatmak.driver.get ("http://demo.guru99.com/popup.php");driver.manage (). window (). maximize ();driver.findElement (By.xpath ("// * [içerir (@ href, 'popup.php')]")) tıklayın ();String MainWindow = driver.getWindowHandle ();// Tüm yeni açılan pencereyi işlemek için.s1 = driver.getWindowHandles ();Yineleyici i1 = s1.iterator ();süre (i1.hasNext ()){String ChildWindow = i1.next ();eğer (! MainWindow.equalsIgnoreCase (ChildWindow)){// Çocuk penceresine geçiliyordriver.switchTo (). penceresi (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys (" Bu e-posta adresi istenmeyen postalardan korunmaktadır. Görüntüleyebilmeniz için JavaScript'in etkinleştirilmesi gerekir.");driver.findElement (By.name ("btnLogin")). tıklayın ();// Alt Pencerenin Kapatılması.driver.close ();}}// Ana pencereye, yani Ana Pencereye geçiliyor.driver.switchTo (). penceresi (MainWindow);}}
Çıktı:
Yukarıdaki kodu çalıştırdığınızda, siteyi başlatır ve "Burayı tıklayın" bağlantısını tıkladığınızda, yeni bir sekmede bir alt pencere açar. Alt pencereyi kapatabilir ve işlem tamamen tamamlandığında ana pencereye geçebilirsiniz. Bu nedenle uygulamada birden fazla pencere işlenir.
Selenyumda Çoklu Pencere İşleme
Sonuç:
- Uyarı türlerini belirledik ve ekran görüntüsü ile gösterdik.
- Belirli bir senaryoyu kullanarak Uyarının Selenium WebDriver ile işlendiğini gösterdi.
- Selenium WebDriver ile belirli bir senaryoyu kullanarak birden çok pencereyi yönetti.