अलर्ट और पॉपअप को कैसे संभालें Selenium?

अलर्ट क्या है? Selenium?

An में अलर्ट Selenium यह एक छोटा संदेश बॉक्स है जो उपयोगकर्ता को कुछ जानकारी या सूचना देने के लिए स्क्रीन पर दिखाई देता है। यह उपयोगकर्ता को कुछ विशिष्ट जानकारी या त्रुटि के बारे में सूचित करता है, कुछ कार्य करने की अनुमति मांगता है और साथ ही चेतावनी संदेश भी प्रदान करता है।

इस ट्यूटोरियल में हम सीखेंगे कि पॉपअप को कैसे हैंडल किया जाए। Selenium और वेब एप्लिकेशन में पाए जाने वाले विभिन्न प्रकार के अलर्ट परीक्षणहम यह भी देखेंगे कि अलर्ट को कैसे हैंडल किया जाए Selenium WebDriver पर जाएं और जानें कि हम अलर्ट के प्रकार के आधार पर अलर्ट को कैसे स्वीकार और अस्वीकार करते हैं।

अलर्ट के प्रकार Selenium

1) Simple Alert

सरल चेतावनी वर्ग Selenium स्क्रीन पर कुछ जानकारी या चेतावनी प्रदर्शित करता है.

Simple Alert

2) Prompt Alert

इस Prompt Alert उपयोगकर्ता से कुछ इनपुट मांगता है और Selenium वेबड्राइवर sendkeys(” input…. “) का उपयोग करके पाठ दर्ज कर सकता है।

Prompt Alert

3) Confirmation Alert

यह पुष्टिकरण अलर्ट किसी प्रकार का ऑपरेशन करने की अनुमति मांगता है।

Confirmation Alert

अलर्ट को कैसे संभालें Selenium वेबड्राइवर

अलर्ट इंटरफ़ेस नीचे कुछ विधियाँ प्रदान करता है जो व्यापक रूप से उपयोग की जाती हैं Selenium वेबड्राइवर.

1) शून्य खारिज() // अलर्ट के 'रद्द करें' बटन पर क्लिक करें।

driver.switchTo().alert().dismiss();

2) शून्य स्वीकार()// अलर्ट के 'ओके' बटन पर क्लिक करें।

driver.switchTo().alert().accept();

3) स्ट्रिंग getText() // चेतावनी संदेश कैप्चर करने के लिए.

driver.switchTo().alert().getText();

4) शून्य sendKeys(स्ट्रिंग stringToSend) // अलर्ट बॉक्स में कुछ डेटा भेजने के लिए.

driver.switchTo().alert().sendKeys("Text");

आप देख सकते हैं कि नीचे दी गई स्क्रीन में कई अलर्ट विधियां प्रदर्शित की गई हैं, जैसा कि सुझाया गया है Eclipse.

हम मुख्य विंडो से अलर्ट पर आसानी से स्विच कर सकते हैं Seleniumहै ।पर स्विच() विधि.

अलर्ट को हैंडल करें Selenium वेबड्राइवर

अब हम नीचे दिए गए परिदृश्य को स्वचालित करते हैं।

इस परिदृश्य में, हम गुरु99 डेमो साइट का उपयोग करके इसका वर्णन करेंगे Selenium सतर्कता से संचालन.

चरण 1) वेब ब्राउज़र लॉन्च करें और साइट खोलें https://demo.guru99.com/test/delete_customer.php

चरण 2) कोई भी ग्राहक आईडी दर्ज करें.

अलर्ट को हैंडल करें Selenium वेबड्राइवर

चरण 3) ग्राहक आईडी दर्ज करने के बाद, “सबमिट” बटन पर क्लिक करें।

अलर्ट को हैंडल करें Selenium वेबड्राइवर

चरण 4) अलर्ट को अस्वीकार/स्वीकार करें.

अलर्ट को हैंडल करें Selenium वेबड्राइवर

अलर्ट को संभालना Selenium वेबड्राइवर

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  {									
		System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");
		WebDriver driver = new ChromeDriver();
	
        
        // Alert Message handling
                    		
        driver.get("https://demo.guru99.com/test/delete_customer.php");			
                            		
     	      	
        driver.findElement(By.name("cusid")).sendKeys("53920");					
        driver.findElement(By.name("submit")).submit();			
        		
        // Switching to Alert        
        Alert alert = driver.switchTo().alert();		
        		
        // Capturing alert message.    
        String alertMessage= driver.switchTo().alert().getText();		
        		
        // Displaying alert message		
        System.out.println(alertMessage);	
        Thread.sleep(5000);
        		
        // Accepting alert		
        alert.accept();		
    }	

}
		

आउटपुट:

जब आप उपरोक्त कोड निष्पादित करते हैं, तो यह साइट लॉन्च करता है। स्क्रीन पर प्रदर्शित होने वाले पुष्टिकरण अलर्ट को संभालकर ग्राहक आईडी को हटाने का प्रयास करें, और इस तरह एप्लिकेशन से ग्राहक आईडी को हटा दें।

पॉप-अप विंडो को कैसे संभालें Selenium वेबड्राइवर

स्वचालन में, जब हमारे पास किसी वेब एप्लिकेशन में कई विंडो होती हैं, तो गतिविधि को ऑपरेशन पूरा करने के लिए कई विंडो के बीच नियंत्रण स्विच करने की आवश्यकता हो सकती है। ऑपरेशन पूरा होने के बाद, इसे मुख्य विंडो यानी पैरेंट विंडो में वापस लौटना पड़ता है। Seleniumहम इसे लेख में आगे एक उदाहरण के साथ देखेंगे।

In Selenium वेब ड्राइवर में ऐसे तरीके हैं जिनके माध्यम से हम कई विंडोज़ को संभाल सकते हैं।

ड्राइवर.getWindowHandles();

वेब ड्राइवर द्वारा सभी खुली हुई विंडो को संभालने के लिए, हम “Driver.getWindowHandles()” का उपयोग कर सकते हैं और फिर हम वेब एप्लिकेशन में एक विंडो से दूसरी विंडो पर स्विच कर सकते हैं। इसका रिटर्न टाइप Iterator है .

ड्राइवर.getWindowHandle();

जब साइट खुलती है, तो हमें मुख्य विंडो को इस प्रकार संभालना होता है ड्राइवर.getWindowHandle()यह वर्तमान विंडो को हैंडल करेगा जो इसे इस ड्राइवर इंस्टेंस के भीतर विशिष्ट रूप से पहचानता है। इसका रिटर्न प्रकार स्ट्रिंग है।

विंडो हैंडलिंग के लिए Selenium, हम नीचे दिए गए चरणों का पालन करेंगे:

अब, हम नीचे दिए गए परिदृश्य को स्वचालित करेंगे, यह देखने के लिए कि एकाधिक विंडोज़ का उपयोग करके कैसे संभालना है Selenium वेबड्राइवर.

इस परिदृश्य में, हम विंडो हैंडलिंग को दर्शाने के लिए “Guru99” डेमो साइट का उपयोग करेंगे।

चरण 1) साइट लॉन्च करें.

ब्राउज़र लॉन्च करें और साइट खोलें https://demo.guru99.com/popup.php

पॉप-अप विंडो को हैंडल करने के लिए निम्न का उपयोग करें Selenium वेबड्राइवर

चरण 2) “यहां क्लिक करें” लिंक पर क्लिक करें।

जब उपयोगकर्ता "यहां क्लिक करें" लिंक पर क्लिक करता है, तो नई चाइल्ड विंडो खुलती है।

पॉप-अप विंडो को हैंडल करने के लिए निम्न का उपयोग करें Selenium वेबड्राइवर

चरण 3) नई चाइल्ड विंडो खुलती है.

एक नई विंडो खुलेगी, उपयोगकर्ता से ईमेल आईडी दर्ज करने और पेज सबमिट करने के लिए कहा जाएगा।

पॉप-अप विंडो को हैंडल करने के लिए निम्न का उपयोग करें Selenium वेबड्राइवर

चरण 4) अपना ईमेल आईडी दर्ज करें और सबमिट करें।

पॉप-अप विंडो को हैंडल करने के लिए निम्न का उपयोग करें Selenium वेबड्राइवर

चरण 5) पृष्ठ सबमिट करते समय एक्सेस क्रेडेंशियल प्रदर्शित करें।

पॉप-अप विंडो को हैंडल करने के लिए निम्न का उपयोग करें Selenium वेबड्राइवर

जब आप कोड निष्पादित करेंगे, तो आप देखेंगे कि चाइल्ड विंडो नए टैब में खुली है।

  1. उस चाइल्ड विंडो को बंद करें जिस पर क्रेडेंशियल्स प्रदर्शित होते हैं।

पॉप-अप विंडो को हैंडल करने के लिए निम्न का उपयोग करें Selenium वेबड्राइवर

  1. मूल विंडो पर स्विच करें.

पॉप-अप विंडो को हैंडल करने के लिए निम्न का उपयोग करें Selenium वेबड्राइवर

एकाधिक को कैसे संभालें Windows in Selenium

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 {									
        	WebDriver driver=new FirefoxDriver();			
        		
        //Launching the site.				
            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();		
        		
        // To handle all new opened window.				
            Set<String> s1=driver.getWindowHandles();		
        Iterator<String> i1=s1.iterator();		
        		
        while(i1.hasNext())			
        {		
            String ChildWindow=i1.next();		
            		
            if(!MainWindow.equalsIgnoreCase(ChildWindow))			
            {    		
                 
                    // Switching to Child window
                    driver.switchTo().window(ChildWindow);	                                                                                                           
                    driver.findElement(By.name("emailid"))
                    .sendKeys("gaurav.3n@gmail.com");                			
                    
                    driver.findElement(By.name("btnLogin")).click();			
                                 
			// Closing the Child Window.
                        driver.close();		
            }		
        }		
        // Switching to Parent window i.e Main Window.
            driver.switchTo().window(MainWindow);				
    }
}		

आउटपुट:

जब आप उपरोक्त कोड निष्पादित करते हैं, तो यह साइट लॉन्च करता है और "यहाँ क्लिक करें" लिंक पर क्लिक करने पर, यह एक नए टैब में चाइल्ड विंडो खोलता है। आप चाइल्ड विंडो को बंद कर सकते हैं, और ऑपरेशन पूरी तरह से हो जाने के बाद पैरेंट विंडो पर स्विच कर सकते हैं। इस प्रकार एप्लिकेशन में एक से अधिक विंडो को हैंडल किया जा सकता है।

एकाधिक विंडो हैंडलिंग Selenium
एकाधिक विंडो हैंडलिंग Selenium

निष्कर्ष

  • हमने अलर्ट के प्रकारों को परिभाषित किया और उन्हें स्क्रीन शॉट के साथ दिखाया।
  • अलर्ट को संभालने का प्रदर्शन किया Selenium WebDriver विशेष परिदृश्य का उपयोग कर रहा है।
  • कई विंडोज़ को संभाला Selenium WebDriver विशेष परिदृश्य का उपयोग कर रहा है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: