Cara Menangani Peringatan & Popup di Selenium?
โก Ringkasan Cerdas
Peringatan dan pop-up di Selenium adalah JavaSkrip dialog dan jendela anak yang menghambat alur otomatisasi. Artikel ini menjelaskan cara mengidentifikasi peringatan sederhana, permintaan, dan konfirmasi, beralih ke peringatan tersebut dengan WebDriver, dan mengelola beberapa jendela menggunakan getWindowHandles().

Apa itu Peringatan dalam Selenium?
An Peringatan masuk Selenium kecil JavaKotak dialog skrip yang muncul di layar untuk memberikan informasi atau pemberitahuan kepada pengguna. Kotak dialog ini dapat mengkonfirmasi tindakan tertentu, meminta izin untuk melakukan suatu operasi, atau menampilkan pesan peringatan.
Dalam tutorial ini, Anda akan mempelajari cara menangani popup di Selenium dan berbagai jenis peringatan yang ditemukan di aplikasi web. pengujianKita juga akan melihat cara menangani peringatan di Selenium WebDriver dan cara menerima atau menolaknya tergantung pada jenis peringatan.
Jenis Peringatan di Selenium
JavaSkrip ini menampilkan tiga dialog peringatan yang Selenium Harus ditangani secara berbeda.
1) Simple Alert
Peringatan sederhana menampilkan informasi atau peringatan di layar. Pengguna hanya dapat mengakuinya dengan mengklik OK.
2) Prompt Alert
Peringatan tersebut meminta input dari pengguna. Selenium WebDriver dapat mengetik ke dalamnya menggunakan sendKeys("input...").
3) Confirmation Alert
Notifikasi konfirmasi meminta pengguna untuk menyetujui atau membatalkan suatu operasi. Notifikasi ini menampilkan keduanya. OK ke Cancel tombol.
Cara Menangani Peringatan di Selenium webdriver
The Alert antarmuka dalam Selenium webdriver mengungkap empat metode yang mencakup setiap interaksi peringatan.
- batal menolak() โ mengklik Cancel .
driver.switchTo().alert().dismiss();
- batal menerima() โ mengklik OK .
driver.switchTo().alert().accept();
- String dapatkanTeks() โ menangkap pesan peringatan.
driver.switchTo().alert().getText();
- batalkan sendKeys(String stringToSend) โ mengetik teks ke dalam peringatan prompt.
driver.switchTo().alert().sendKeys("Text");
Eclipse Fitur pelengkapan otomatis menampilkan metode peringatan yang tersedia setelah mengetik.ping alert. pada baris editor. Beralih dari jendela utama ke peringatan kapan saja menggunakan Selenium'S .beralih ke() Metode.
Contoh Soal: Hapus Demo Pelanggan
Mari kita otomatiskan skenario berikut. Kita akan menggunakan Guru99 situs demo untuk ilustrasi Selenium penanganan peringatan.
Langkah 1) Buka browser dan jalankan https://demo.guru99.com/test/delete_customer.php.
Langkah 2) Masukkan ID Pelanggan apa pun.
Langkah 3) klik Kirim .
Langkah 4) Terima atau abaikan peringatan konfirmasi yang muncul.
Selenium Java Code: Menangani 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();
}
}
Keluaran: Browser membuka halaman Hapus Pelanggan, mengirimkan ID pelanggan, menerima peringatan konfirmasi, dan menghapus data dari aplikasi demo.
Cara Menangani Popup Windows in Selenium webdriver
Ketika otomatisasi harus berjalan di beberapa jendela browser, pengujian harus mengalihkan fokus di antara jendela-jendela tersebut dan kembali ke jendela induk setelah setiap operasi. Selenium WebDriver menyediakan dua metode yang memungkinkan hal ini.
driver.getWindowHandles()
Mengembalikan Set<String> dari setiap handle jendela yang terbuka. Ulangi himpunan tersebut untuk beralih dari jendela utama ke jendela anak mana pun dalam aplikasi.
driver.getWindowHandle()
Mengembalikan String dengan handle unik dari jendela saat ini. Catat ini sebelum membuka jendela anak mana pun sehingga Anda dapat kembali ke jendela induk nanti.
Ikuti langkah-langkah ini untuk mendemonstrasikan penanganan jendela terhadap GuruDemo pop-up 99.
Contoh Soal: Beralih Jendela
Langkah 1) Buka browser dan jalankan https://demo.guru99.com/popup.php.
Langkah 2) klik Klik disini tautan. Jendela anak baru terbuka.
Langkah 3) Jendela anak meminta pengguna untuk memasukkan alamat email dan mengirimkannya.
Langkah 4) Masukkan alamat email dan kirimkan.
Langkah 5) Halaman ini menampilkan kredensial akses yang dikembalikan oleh demo.
Setelah tampilan kredensial:
- Tutup jendela anak.
- Alihkan fokus kembali ke jendela induk.
Selenium Java Code: Tangani Beberapa 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();
}
}
Keluaran: Situs tersebut diluncurkan, Klik disini tautan membuka tab anak, Selenium memasukkan alamat email dan mengirimkannya, menutup jendela anak, dan kembali ke jendela induk.
Kesimpulan
- Mendefinisikan ketiganya Selenium Jenis peringatan โ sederhana, permintaan, dan konfirmasi โ dengan tangkapan layar untuk masing-masing.
- Demonstrasi penanganan peringatan dengan WebDriver
Alertantarmuka menggunakan skenario penghapusan pelanggan yang berfungsi. - Mengelola beberapa jendela browser dengan menangkap handle menggunakan
getWindowHandle()kegetWindowHandles()dan beralih di antara keduanya.















