Selenium Alert Kullanımı
Web uygulamalarında sıkça karşımıza çıkan JavaScript Alert pencereleri, kullanıcıdan bilgi almak veya bir uyarı göstermek için kullanılır.
Selenium, bu tür pop-up’larla Alert arayüzü üzerinden etkileşim sağlar.
🚨 Alert Türleri
Section titled “🚨 Alert Türleri”-
Simple Alert (Basit Uyarı)
Sadece bir “OK” butonu içerir. -
Confirmation Alert (Onay Uyarısı)
“OK” ve “Cancel” butonları bulunur. -
Prompt Alert (Girdi Alanı Olan Uyarı)
Kullanıcıdan veri alabilen metin kutusu içerir.
🧩 Alert ile Etkileşim Kurmak
Section titled “🧩 Alert ile Etkileşim Kurmak”Selenium’da alert penceresine erişmek için:
Alert alert = driver.switchTo().alert();Bu komut, mevcut aktif alert penceresine geçiş yapar.
Daha sonra aşağıdaki metotlar kullanılabilir:
| Metot | Açıklama |
|---|---|
accept() | OK butonuna tıklar |
dismiss() | Cancel butonuna tıklar |
getText() | Alert üzerindeki mesajı döner |
sendKeys("veri") | Prompt alert’e metin gönderir |
🧪 Örnek 1: Simple Alert
Section titled “🧪 Örnek 1: Simple Alert”import org.openqa.selenium.Alert;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;
public class SimpleAlertExample { public static void main(String[] args) { WebDriver driver = new ChromeDriver(); driver.get("https://the-internet.herokuapp.com/javascript_alerts");
// Alert tetikleyen butona tıklama driver.findElement(By.xpath("//button[text()='Click for JS Alert']")).click();
// Alert’e geçiş yap Alert alert = driver.switchTo().alert();
// Alert mesajını al ve yazdır System.out.println("Alert Mesajı: " + alert.getText());
// OK butonuna tıkla alert.accept();
driver.quit(); }}🧪 Örnek 2: Confirmation Alert (OK & Cancel)
Section titled “🧪 Örnek 2: Confirmation Alert (OK & Cancel)”import org.openqa.selenium.Alert;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;
public class ConfirmationAlertExample { public static void main(String[] args) { WebDriver driver = new ChromeDriver(); driver.get("https://the-internet.herokuapp.com/javascript_alerts");
driver.findElement(By.xpath("//button[text()='Click for JS Confirm']")).click();
Alert alert = driver.switchTo().alert();
System.out.println("Alert Mesajı: " + alert.getText());
// İptal Et alert.dismiss();
driver.quit(); }}🧪 Örnek 3: Prompt Alert (Veri Girişi)
Section titled “🧪 Örnek 3: Prompt Alert (Veri Girişi)”import org.openqa.selenium.Alert;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;
public class PromptAlertExample { public static void main(String[] args) { WebDriver driver = new ChromeDriver(); driver.get("https://the-internet.herokuapp.com/javascript_alerts");
driver.findElement(By.xpath("//button[text()='Click for JS Prompt']")).click();
Alert alert = driver.switchTo().alert();
// Alert’e metin gönder alert.sendKeys("Selenium Test");
// Onayla alert.accept();
driver.quit(); }}⚠️ Alert Görünmeden İşlem Yapmak
Section titled “⚠️ Alert Görünmeden İşlem Yapmak”Eğer alert görünmeden önce işlem yapılırsa Selenium şu hatayı verir:
org.openqa.selenium.NoAlertPresentException: no such alertBu nedenle, alert’in gerçekten görüntülendiğinden emin olun veya kısa bir bekleme ekleyin:
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));wait.until(ExpectedConditions.alertIsPresent());Alert alert = driver.switchTo().alert();💡 İpucu: Alert’leri Testlerde Yönetmek
Section titled “💡 İpucu: Alert’leri Testlerde Yönetmek”Testlerde alert’lerle etkileşimi otomatikleştirirken:
- Alert’in hangi koşulda oluştuğunu kontrol edin.
- Gerekirse bekleme koşulları (explicit wait) kullanın.
- Her zaman
driver.switchTo().defaultContent()ile normal sayfaya geri dönün.
🔚 Sonuç
Section titled “🔚 Sonuç”Selenium’da alert’lerle çalışmak, web otomasyon testlerinde kullanıcı etkileşimlerini doğrulamanın önemli bir parçasıdır.
Alert arayüzü ile okuma, onaylama, iptal etme ve veri girme işlemleri kolayca yapılabilir.