Uyarılar ve Açılır Pencereler Nasıl Ele Alınır? Selenium?
⚡ Akıllı Özet
Bildirimler ve açılır pencereler Selenium vardır JavaOtomasyon akışını engelleyen komut dosyası iletişim kutuları ve alt pencereler. Bu makale, basit, istem ve onay uyarılarını nasıl tanımlayacağınızı, WebDriver ile bunlara nasıl geçiş yapacağınızı ve getWindowHandles() kullanarak birden fazla pencereyi nasıl yöneteceğinizi açıklamaktadır.

Uyarı nedir? Selenium?
An Uyarı girişi Selenium Küçük JavaEkran üzerinde beliren ve kullanıcıya bilgi veya bildirim sağlayan komut dosyası iletişim kutusu. Belirli bir işlemi onaylayabilir, bir işlemi gerçekleştirmek için izin isteyebilir veya bir uyarı mesajı gösterebilir.
Bu eğitimde, açılır pencereleri nasıl yöneteceğinizi öğreneceksiniz. Selenium ve web uygulamasında bulunan farklı uyarı türleri test yapmakAyrıca bir uyarıyı nasıl ele alacağımızı da göreceğiz. Selenium WebDriver ve uyarı türüne bağlı olarak nasıl kabul edileceği veya reddedileceği.
Uyarı Türleri Selenium
JavaBu komut dosyası üç uyarı iletişim kutusu gösterir. Selenium Farklı şekilde ele alınmalı.
1) Simple Alert
Basit uyarı, ekranda bilgi veya bir uyarı görüntüler. Kullanıcı bunu yalnızca tıklayarak onaylayabilir. OK.
2) Prompt Alert
Bu uyarı mesajı kullanıcıdan girdi ister. Selenium WebDriver, bunun içine şu şekilde yazabilir: sendKeys("input...").
3) Confirmation Alert
Onay uyarısı, kullanıcıdan bir işlemi onaylamasını veya iptal etmesini ister. Her iki seçeneği de gösterir. OK hem de İptal etmek düğmeleri.
Bir uyarıyı nasıl ele alırsınız? Selenium Web Sürücüsü
MKS Alert arabirim Selenium Web Sürücüsü Bu, her uyarı etkileşimini kapsayan dört yöntemi ortaya koymaktadır.
- geçersiz işten çıkarma() — tıklar İptal etmek düğmesine basın.
driver.switchTo().alert().dismiss();
- geçersiz kabul() — tıklar OK düğmesine basın.
driver.switchTo().alert().accept();
- Dize getText() — uyarı mesajını yakalar.
driver.switchTo().alert().getText();
- void sendKeys(String stringToSend) — bir uyarı mesajına metin yazar.
driver.switchTo().alert().sendKeys("Text");
Eclipse Otomatik tamamlama, ty komutundan sonra kullanılabilir uyarı yöntemlerini gösterir.ping alert. Editör satırında. Ana pencereden uyarı penceresine istediğiniz zaman geçiş yapmak için şunu kullanın: Selenium'S .çevirmek() yöntemi.
Örnek Uygulama: Müşteri Demosunu Silme
Aşağıdaki senaryoyu otomatikleştirelim. Bunun için şunu kullanacağız: Guru99 demo sitesi örnek olarak gösterilecektir. Selenium Uyarı işleme.
) 1 Adım Tarayıcıyı başlatın ve açın. https://demo.guru99.com/test/delete_customer.php.
) 2 Adım Herhangi bir Müşteri Kimliği girin.
) 3 Adım Tıkla Formu Gönder düğmesine basın.
) 4 Adım Oluşturulan onay uyarısını kabul edin veya reddedin.
Selenium Java Code: Halletmek Confirmation Alert
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 {
// Selenium 4 ships Selenium Manager, so an explicit driver path is no longer required.
WebDriver driver = new ChromeDriver();
// Open the Delete Customer demo page
driver.get("https://demo.guru99.com/test/delete_customer.php");
driver.findElement(By.name("cusid")).sendKeys("53920");
driver.findElement(By.name("submit")).submit();
// Switch to the confirmation alert
Alert alert = driver.switchTo().alert();
// Capture the alert message
String alertMessage = alert.getText();
System.out.println(alertMessage);
Thread.sleep(5000);
// Accept the alert
alert.accept();
driver.quit();
}
}
Çıktı: Tarayıcı, Müşteriyi Sil sayfasını açar, müşteri kimliğini girer, onay mesajını kabul eder ve kaydı demo uygulamasından siler.
Açılır Pencerelerle Nasıl Başa Çıkılır? Windows in Selenium Web Sürücüsü
Otomasyonun birden fazla tarayıcı penceresinde çalışması gerektiğinde, testin bu pencereler arasında odak değiştirmesi ve her işlemden sonra ana pencereye geri dönmesi gerekir. Selenium WebDriver, bunu mümkün kılan iki yöntem sunmaktadır.
sürücü.getPencereTanıtıcıları()
Bir Set<String> Açık olan her pencerenin tanıtıcısını kontrol edin. Ana pencereden uygulamadaki herhangi bir alt pencereye geçmek için küme üzerinde yineleme yapın.
Driver.getWindowHandle()
Bir String Geçerli pencerenin benzersiz tanıtıcısıyla birlikte. Herhangi bir alt pencere açmadan önce bunu yakalayın, böylece daha sonra üst pencereye geri dönebilirsiniz.
Pencere kullanımını aşağıdaki adımlarla nasıl uygulayabileceğinizi gösterin. Guru99 açılır pencere demosu.
Örnek Uygulama: Pencereler Arası Geçiş
) 1 Adım Tarayıcıyı başlatın ve açın. https://demo.guru99.com/popup.php.
) 2 Adım Tıkla Buraya Tıkla bağlantı. Yeni bir alt pencere açılır.
) 3 Adım Alt pencere, kullanıcıdan bir e-posta adresi girmesini ve göndermesini ister.
) 4 Adım E-posta adresinizi girin ve gönderin.
) 5 Adım Bu sayfada demo tarafından döndürülen erişim kimlik bilgileri görüntülenir.
Kimlik bilgilerinin görüntülenmesinin ardından:
- Çocuk penceresini kapatın.
- Odak noktasını tekrar üst pencereye çevirin.
Selenium Java CodeBirden Fazla İşlemi Yönetmek Windows
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 {
// Selenium 4 auto-resolves the browser driver via Selenium Manager
WebDriver driver = new FirefoxDriver();
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();
// Capture every open window handle
Set<String> allWindows = driver.getWindowHandles();
Iterator<String> iterator = allWindows.iterator();
while (iterator.hasNext()) {
String childWindow = iterator.next();
if (!mainWindow.equalsIgnoreCase(childWindow)) {
// Switch to the child window
driver.switchTo().window(childWindow);
driver.findElement(By.name("emailid")).sendKeys("gaurav.3n@gmail.com");
driver.findElement(By.name("btnLogin")).click();
// Close the child window
driver.close();
}
}
// Return focus to the main window
driver.switchTo().window(mainWindow);
driver.quit();
}
}
Çıktı: Site yayına başlıyor, Buraya Tıkla Bağlantı alt sekme açar. Selenium E-postayı girer ve gönderir, alt pencereyi kapatır ve üst pencereye geri döner.
Sonuç
- Üçünü tanımladı Selenium Uyarı türleri — basit, anlık bildirim ve onay — her biri için bir ekran görüntüsüyle birlikte.
- WebDriver ile uyarıların nasıl işlendiği gösterildi.
AlertÇalışan bir müşteri silme senaryosu kullanan arayüz. - Birden fazla tarayıcı penceresini, tanıtıcıları yakalayarak yönetti.
getWindowHandle()hem degetWindowHandles()ve aralarında geçiş yapmak.















