अलर्ट और पॉपअप को कैसे संभालें Selenium?
⚡ स्मार्ट सारांश
अलर्ट और पॉपअप में Selenium रहे Javaस्क्रिप्ट डायलॉग और चाइल्ड विंडो जो ऑटोमेशन प्रवाह को बाधित करते हैं। यह लेख बताता है कि सरल, प्रॉम्प्ट और पुष्टिकरण अलर्ट की पहचान कैसे करें, वेबड्राइवर का उपयोग करके उनमें कैसे स्विच करें और getWindowHandles() का उपयोग करके कई विंडो को कैसे प्रबंधित करें।

अलर्ट क्या होता है? Selenium?
An में अलर्ट Selenium एक छोटा सा है Javaस्क्रीन पर दिखाई देने वाला स्क्रिप्ट डायलॉग बॉक्स जो उपयोगकर्ता को कुछ जानकारी या सूचना देता है। यह किसी विशिष्ट कार्रवाई की पुष्टि कर सकता है, किसी ऑपरेशन को करने की अनुमति मांग सकता है, या चेतावनी संदेश प्रदर्शित कर सकता है।
इस ट्यूटोरियल में आप सीखेंगे कि पॉपअप को कैसे हैंडल किया जाता है। Selenium और वेब एप्लिकेशन में पाए जाने वाले विभिन्न प्रकार के अलर्ट परीक्षणहम यह भी देखेंगे कि अलर्ट को कैसे हैंडल किया जाता है। Selenium वेबड्राइवर और अलर्ट के प्रकार के आधार पर इसे स्वीकार या अस्वीकार करने का तरीका।
अलर्ट के प्रकार Selenium
Javaस्क्रिप्ट तीन अलर्ट डायलॉग प्रदर्शित करती है जो Selenium इसे अलग तरीके से संभालना होगा।
1) Simple Alert
यह साधारण अलर्ट स्क्रीन पर जानकारी या चेतावनी प्रदर्शित करता है। उपयोगकर्ता इसे केवल क्लिक करके ही स्वीकार कर सकता है। OK.
2) Prompt Alert
प्रॉम्प्ट अलर्ट उपयोगकर्ता से इनपुट मांगता है। Selenium वेबड्राइवर इसका उपयोग करके इसमें टाइप कर सकता है sendKeys("input...").
3) Confirmation Alert
पुष्टि अलर्ट उपयोगकर्ता से किसी ऑपरेशन को स्वीकृत या रद्द करने के लिए कहता है। यह दोनों विकल्पों को उजागर करता है। OK और रद्द करना बटन।
अलर्ट को कैसे हैंडल करें Selenium वेबड्राइवर
RSI Alert में इंटरफ़ेस Selenium वेबड्राइवर यह लेख चार ऐसे तरीकों का खुलासा करता है जो अलर्ट के साथ होने वाली हर तरह की बातचीत को कवर करते हैं।
- शून्य खारिज() — क्लिक करता है रद्द करना बटन.
driver.switchTo().alert().dismiss();
- शून्य स्वीकार() — क्लिक करता है OK बटन.
driver.switchTo().alert().accept();
- स्ट्रिंग getText() — अलर्ट संदेश को कैप्चर करता है।
driver.switchTo().alert().getText();
- शून्य sendKeys(स्ट्रिंग stringToSend) — प्रॉम्प्ट अलर्ट में टेक्स्ट टाइप करता है।
driver.switchTo().alert().sendKeys("Text");
Eclipse ऑटो-कंप्लीट टाइप करने के बाद उपलब्ध अलर्ट विधियां दिखाता है।ping alert. एडिटर लाइन पर। मुख्य विंडो से अलर्ट विंडो में किसी भी समय स्विच करें। Seleniumहै ।पर स्विच() विधि.
उदाहरण: ग्राहक डेमो हटाएं
आइए निम्नलिखित परिदृश्य को स्वचालित करें। हम इसका उपयोग करेंगे। Guruउदाहरण के लिए 99 डेमो साइट Selenium अलर्ट हैंडलिंग।
चरण 1) ब्राउज़र लॉन्च करें और खोलें https://demo.guru99.com/test/delete_customer.php.
चरण 2) कोई भी ग्राहक आईडी दर्ज करें।
चरण 3) दबाएं सबमिट बटन.
चरण 4) प्राप्त होने वाले पुष्टिकरण अलर्ट को स्वीकार करें या अस्वीकार करें।
Selenium Java Code: सँभालना 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();
}
}
आउटपुट: ब्राउज़र डिलीट कस्टमर पेज खोलता है, कस्टमर आईडी सबमिट करता है, कन्फर्मेशन अलर्ट स्वीकार करता है, और डेमो एप्लिकेशन से रिकॉर्ड हटा देता है।
पॉपअप को कैसे हैंडल करें Windows in Selenium वेबड्राइवर
जब ऑटोमेशन को कई ब्राउज़र विंडो में काम करना होता है, तो परीक्षण को उनके बीच फोकस बदलना पड़ता है और प्रत्येक ऑपरेशन के बाद पैरेंट विंडो पर वापस लौटना पड़ता है। Selenium वेबड्राइवर दो ऐसे तरीके प्रदान करता है जिनसे यह संभव हो पाता है।
ड्राइवर.गेटविंडोहैंडल्स()
रिटर्न ए Set<String> प्रत्येक खुली विंडो के हैंडल का सेट। एप्लिकेशन में मुख्य विंडो से किसी भी चाइल्ड विंडो पर स्विच करने के लिए सेट पर पुनरावृति करें।
ड्राइवर.getWindowHandle()
रिटर्न ए String वर्तमान विंडो के विशिष्ट हैंडल के साथ। किसी भी चाइल्ड विंडो को खोलने से पहले इसे कैप्चर कर लें ताकि बाद में आप पेरेंट विंडो पर वापस जा सकें।
विंडो हैंडलिंग का प्रदर्शन करने के लिए इन चरणों का पालन करें। Guru99 पॉपअप डेमो।
उदाहरण सहित: विंडो स्विचिंग
चरण 1) ब्राउज़र लॉन्च करें और खोलें https://demo.guru99.com/popup.php.
चरण 2) दबाएं यहाँ क्लिक करें लिंक। एक नई चाइल्ड विंडो खुलती है।
चरण 3) चाइल्ड विंडो उपयोगकर्ता को ईमेल आईडी दर्ज करने और सबमिट करने के लिए कहती है।
चरण 4) ईमेल आईडी दर्ज करें और सबमिट करें।
चरण 5) यह पृष्ठ डेमो द्वारा लौटाए गए एक्सेस क्रेडेंशियल प्रदर्शित करता है।
क्रेडेंशियल प्रदर्शित होने के बाद:
- चाइल्ड विंडो बंद करें।
- फोकस को वापस पैरेंट विंडो पर ले जाएं।
Selenium Java Codeएकाधिक को संभालें 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();
}
}
आउटपुट: साइट लॉन्च होती है, यहां क्लिक करें लिंक एक चाइल्ड टैब खोलता है। Selenium ईमेल दर्ज करता है और सबमिट करता है, चाइल्ड विंडो बंद करता है और पेरेंट विंडो पर वापस लौटता है।
निष्कर्ष
- तीनों को परिभाषित किया Selenium अलर्ट के प्रकार — सरल, त्वरित और पुष्टि — प्रत्येक के लिए एक स्क्रीनशॉट के साथ।
- वेबड्राइवर के साथ अलर्ट हैंडलिंग का प्रदर्शन किया गया
Alertएक कार्यशील ग्राहक हटाने के परिदृश्य का उपयोग करके इंटरफ़ेस। - हैंडल कैप्चर करके कई ब्राउज़र विंडो को हैंडल किया गया
getWindowHandle()औरgetWindowHandles()और उनके बीच स्विच करना।















