रेडियो बटन चुनें और जांचेंBox in Selenium

⚡ स्मार्ट सारांश

रेडियो बटन चुनें और जांचेंBox in Selenium यह ट्यूटोरियल वेबड्राइवर की उन तकनीकों को कवर करता है जिनका उपयोग दो सबसे आम फॉर्म कंट्रोल्स को स्वचालित करने के लिए किया जाता है। यह ट्यूटोरियल बताता है कि क्लिक() और isSelected() विधियाँ रेडियो बटन और चेकबॉक्स को कैसे टॉगल करती हैं, और इनके काम करने के तरीके को समझाता है। Java यह कोड बताता है और नाजुक लोकेटरों के लिए समस्या निवारण युक्तियाँ साझा करता है।

  • 🔘 रेडियो बटन Toggle: रेडियो बटन का चयन करने के लिए वेबएलिमेंट पर क्लिक() विधि का उपयोग करें; किसी अन्य विकल्प का चयन करने से पिछला विकल्प स्वतः ही अचयनित हो जाता है।
  • चेकबॉक्स Toggle: क्लिक() विधि का उपयोग करके चेकबॉक्स को चालू और बंद किया जा सकता है; इसे दो बार कॉल करने पर बॉक्स अपनी मूल स्थिति में वापस आ जाता है।
  • राज्य सत्यापन: वर्तमान टॉगल स्थिति की पुष्टि करने के लिए isSelected() को कॉल करें और चेक किए गए कंट्रोल के लिए TRUE और अनचेक किए गए कंट्रोल के लिए FALSE को असर्ट करें।
  • 🧪 काम कर रहे Java उदाहरण: संपूर्ण कार्यक्रम संचालित होता है Guruदोनों प्रक्रियाओं को प्रदर्शित करने के लिए 99 डेमो और फेसबुक पर्सिस्ट-लॉगिन चेकबॉक्स का उपयोग किया गया है।
  • विश्वसनीय लोकेटर: आईडी में गतिशील रूप से परिवर्तन होने पर By.xpath() या By.cssSelector() का उपयोग करें और NoSuchElementException को रोकने के लिए स्पष्ट प्रतीक्षा जोड़ें।

रेडियो बटन चुनें और जांचेंBox in Selenium

रेडियो बटन Selenium

रेडियो बटन को चालू करने के लिए टॉगल का उपयोग किया जाता है click() विधि, ठीक किसी अन्य वेबएलिमेंट की तरह Seleniumक्योंकि रेडियो समूह में एक समय में केवल एक ही विकल्प सक्रिय हो सकता है, इसलिए दूसरे विकल्प पर क्लिक करने से पहला विकल्प स्वतः ही अचयनित हो जाता है।

का प्रयोग https://demo.guru99.com/test/radio.html अभ्यास पृष्ठ के रूप में, ध्यान दें कि radio1.click() “विकल्प 1” रेडियो बटन का चयन करता है। कॉलिंग radio2.click() फिर "विकल्प 1" को अचयनित छोड़ते हुए "विकल्प 2" का चयन करता है।

रेडियो बटन चयन Guru99 डेमो पेज

किसी चेकबॉक्स का चयन कैसे करें Selenium

Togglचेकबॉक्स को चालू या बंद करना भी इसी तरह किया जाता है। click() यह विधि फेसबुक के "मुझे लॉग इन रखें" चेकबॉक्स पर दो बार क्लिक करती है और चेकबॉक्स चालू होने पर TRUE और बंद होने पर FALSE प्रिंट करती है।

Selenium फेसबुक के "मुझे लॉग इन रखें" चेकबॉक्स पर क्लिक करके कोड भरें

कंसोल आउटपुट चेकबॉक्स टॉगल स्थिति को दर्शाता है

RSI isSelected() इस विधि का उपयोग यह पुष्टि करने के लिए किया जाता है कि चेकबॉक्स चालू है या बंद - परीक्षण मामलों में फॉर्म की स्थिति को मान्य करते समय यह एक महत्वपूर्ण अभिकथन है।

यहां एक और उदाहरण पृष्ठ दिया गया है: https://demo.guru99.com/test/radio.html.

Selenium isSelected() का उपयोग करके चेकबॉक्स की स्थिति को सत्यापित करने वाला कोड

पूर्ण Code उदाहरण

यहां वह संपूर्ण कार्यशील कोड दिया गया है जो रेडियो बटन और फेसबुक परसिस्ट-लॉगिन चेकबॉक्स दोनों को टॉगल करता है।

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.*;

public class Form {
    public static void main(String[] args) {

        // Declaration and instantiation of objects and variables
        System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();

        driver.get("https://demo.guru99.com/test/radio.html");
        WebElement radio1 = driver.findElement(By.id("vfb-7-1"));
        WebElement radio2 = driver.findElement(By.id("vfb-7-2"));

        // Radio Button 1 is selected
        radio1.click();
        System.out.println("Radio Button Option 1 Selected");

        // Radio Button 1 is de-selected and Radio Button 2 is selected
        radio2.click();
        System.out.println("Radio Button Option 2 Selected");

        // Selecting Checkbox
        WebElement option1 = driver.findElement(By.id("vfb-6-0"));

        // This will toggle the checkbox
        option1.click();

        // Check whether the checkbox is toggled on
        if (option1.isSelected()) {
            System.out.println("Checkbox is Toggled On");
        } else {
            System.out.println("Checkbox is Toggled Off");
        }

        // Selecting a Checkbox and using the isSelected method
        driver.get("https://demo.guru99.com/test/facebook.html");
        WebElement chkFBPersist = driver.findElement(By.id("persist_box"));
        for (int i = 0; i < 2; i++) {
            chkFBPersist.click();
            System.out.println("Facebook Persists Checkbox Status is - " + chkFBPersist.isSelected());
        }
        // driver.close();
    }
}

समस्या निवारण

यदि आप मुठभेड़ NoSuchElementException एलिमेंट ढूंढते समय, इसका मतलब है कि जब वेबड्राइवर ने पेज को एक्सेस किया, तब वह एलिमेंट मौजूद नहीं था। जल्दी से रिकवर करने के लिए नीचे दी गई चेकलिस्ट का उपयोग करें:

  1. फायरपाथ या क्रोम में इंस्पेक्ट एलिमेंट का उपयोग करके अपने लोकेटर की दोबारा जांच करें।
  2. सुनिश्चित करें कि कोड में आपके द्वारा उपयोग किया गया मान पृष्ठ पर मौजूद तत्व के वर्तमान मान से मेल खाता हो।
  3. कुछ तत्वों में गतिशील विशेषताएँ होती हैं, जैसा कि आप तब देख सकते हैं जब आप ड्रॉपडाउन का चयन करें Selenium वेबड्राइवरउन मामलों में, प्राथमिकता दें By.xpath() or By.cssSelector()जो अधिक विश्वसनीय हैं लेकिन थोड़े अधिक जटिल हैं।
  4. कभी-कभी समस्या समय की होती है — वेबड्राइवर ने पेज के पूरी तरह लोड होने से पहले ही आपका कोड निष्पादित कर दिया होता है।
  5. प्रतीक्षा जोड़ें findElement() एलिमेंट को रेंडर होने का समय देने के लिए इम्प्लिसिट या एक्सप्लिसिट वेट का उपयोग करना।

अक्सर पूछे जाने वाले प्रश्न

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

isSelected() चेकबॉक्स या रेडियो बटन के चेक होने पर true लौटाता है। isEnabled() एलिमेंट के उपयोगकर्ता इनपुट स्वीकार करने की क्षमता होने पर true लौटाता है। ये दोनों अलग-अलग उद्देश्यों की पूर्ति करते हैं: isSelected() स्थिति को मान्य करता है, जबकि isEnabled() यह मान्य करता है कि एलिमेंट इंटरैक्शन स्वीकार करता है या नहीं।

सभी चेकबॉक्स वेब एलिमेंट्स प्राप्त करने के लिए findElements() फ़ंक्शन का उपयोग करें और इसके लिए By.xpath(“//input[@type='checkbox']”) जैसे लोकेटर का उपयोग करें। सूची में लूप चलाएँ, isSelected() फ़ंक्शन की जाँच करें और केवल अनचेक किए गए बॉक्स पर ही click() फ़ंक्शन को कॉल करें। इससे पहले से चेक किए गए बॉक्स को गलती से अनचेक होने से बचाया जा सकता है।

एआई सहायक लोकेटर रणनीतियाँ तैयार करते हैं, आईडी बदलने पर चयनकर्ताओं को स्वतः ठीक करते हैं, और रेडियो और चेकबॉक्स की स्थिति के लिए अभिकथन सुझाते हैं। एआई उपकरण स्क्रीन रिकॉर्डिंग से संपूर्ण फॉर्म-फिल परीक्षण स्वतः उत्पन्न करते हैं, जिससे मैन्युअल कोडिंग और परीक्षण रखरखाव का प्रयास कम हो जाता है।

हाँ। एआई-संचालित Selenium ये टूल DOM का विश्लेषण करते हैं, स्थिर विशेषताओं को सीखते हैं, और रिलीज़ के बीच आईडी बदलने पर XPath या CSS चयनकर्ताओं को फिर से लिखते हैं। यह स्वतः-उपचार क्षमता हर UI बदलाव के बाद मैन्युअल लोकेटर अपडेट के बिना फॉर्म-कंट्रोल परीक्षणों को सफल बनाए रखती है।

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