सेलेनियम में क्रिटिकल एक्शन क्लास-अब्सोल्यूट 2021 गाइड

हम विभिन्न वेब परिचालनों में सेलेनियम में क्रिया वर्ग के संपूर्ण उपयोग पर चर्चा और सीखने जा रहे हैं। सेलेनियम में एक्ट्स क्लास व्यापक रूप से माउस और कीबोर्ड आंदोलन जैसे विभिन्न वेब संचालन करने के लिए उपयोग किया जाता है जो अग्रिम वेबब्रोसर क्रियाएं हैं।

सेलेनियम में क्रियाएँ वर्ग
सेलेनियम में क्रियाएँ वर्ग

माउस कार्रवाई

  • सेलेनियम में खींचें और छोड़ें
  • सेलेनियम में ClickAndHold
  • सेलेनियम में MoveToElement 
  • सेलेनियम में DragAndDropBy 
  • सेलेनियम में MoveByOffset
  • सेलेनियम में डबलक्लिक
  • सेलेनियम में राइटक्लिक या कॉन्टेक्स्ट क्लिक करें
  • सेलेनियम में रुकें
  • सेलेनियम में माउस होवर

कीबोर्ड क्रिया

  • सेलेनियम में sendKeys
  • सेलेनियम में कीप
  • सेलेनियम में कीडाउन

सेलेनियम में क्रियाएँ वर्ग

सेलेनियम में क्रियाएँ वर्ग क्या है: 

एक्शन क्लास पैकेज से सेलेनियम बंडल एपी से एक वर्ग है org.openqa.selenium.interactions ब्राउज़र स्वचालन के माध्यम से उपयोगकर्ताओं के साथ महत्वपूर्ण और अग्रिम वेब इंटरैक्शन को संभालने के लिए। उपर्युक्त विभिन्न विधियों के माध्यम से विभिन्न माउस और कीबोर्ड क्रिया करने के लिए उपयोगकर्ताओं को एक हैंडल प्रदान करता है।  

सेलेनियम में क्रियाएँ वर्ग
सेलेनियम में क्रियाएँ वर्ग

हम यहां सेलेनियम में क्रियाएँ वर्ग के माध्यम से सभी वेब इंटरैक्शन के बारे में चर्चा करेंगे, जिससे हम माउस इंटरैक्शन सीखते हैं और सेलेनियम में एक्शन क्लास के साथ की-बोर्ड इंटरैक्शन की ओर बढ़ते हैं।

माउस इंटरैक्शन - सेलेनियम में क्रियाएं कक्षा

सेलेनियम में खींचें और छोड़ें

सेलेनियम में ड्रैग एंड ड्रॉप सेलेनियम में एक्शन क्लास के साथ तीन अलग-अलग तरीकों से किया जा सकता है: 

  • बिल्ड () विधि के साथ 
  • DragAndDropBy () विधि के साथ
  • DragAndDrop () विधि के साथ।

सेल विधि में सेलेनियम में एक्शन क्लास के साथ खींचें और ड्रॉप बिल्ड विधि: 

हमें सेलेनियम में सोर्स वेबएलीमेंट (जिसे ड्रैग किया जाना है) और डेस्टिनेशन वेबलीमेंट (जहां सोर्स वेबलीमेंट को छोड़ दिया जाना है, यानी डेस्टिनेशन वेबलीमेंट) जैसे ड्रैग एंड ड्रॉप को परफॉर्म करने के लिए दो वीलबल्स की जरूरत होती है। नीचे का तरीका एक कस्टमाइज्ड तरीका है ( जो आप अपने फ्रेमवर्क WebUtils को बनाने के लिए उपयोग कर सकते हैं) जो सेलेनियम में ड्रैग एंड ड्रॉप का प्रदर्शन करते हैं और यह विधि दो तर्क लेती है एक है सोर्स वेबएमेंट, और दूसरा है डेस्टिनेशन वेबइमेंट जैसा कि पहले उल्लेख किया गया है: 

public void dragAndDrop(By source, By destination) {
   try {
       WebElement sourceElement = driver.findElement(source);
       WebElement destinationElement = driver.findElement(destination);
       Actions builder = new Actions(driver);
       Action dragAndDrop = builder.clickAndHold(sourceElement).moveToElement(destinationElement)
               .release(destinationElement).build();
       dragAndDrop.perform();
       BASE_LOGGER.info("Successfully performed the Drag and Drop action ");
   } catch (Exception e) {
       String exceptionData = e.getCause().getMessage();
       BASE_LOGGER.error("Error encountered i.e : " + exceptionData + " while performing DragAndDrop ");
   }
}

ड्रैग एंड ड्रॉप के बारे में पूरी अवधारणा जानने के लिए और सेलेनियम में ड्रैग एंड ड्रॉप करने के लिए सभी दृष्टिकोणों पर जाएं, यहां क्लिक करें।

सेलेनियम में ClickAndHold 

ClickAndHold, सेलेनियम में ऐक्शन क्लास (org.openqa.selenium.interactions पैकेज से) का एक और महत्वपूर्ण तरीका है
पहले किसी भी WebElement पर बाएं क्लिक ऑपरेशन करें और माउस को छोड़े बिना इसे पकड़ें।

ड्रैग और ड्रॉप परिदृश्यों का प्रदर्शन करते समय इस विधि का प्रमुख रूप से उपयोग किया जाता है, नीचे नमूना कोड छवि है: 

सेलेनियम में क्रियाएँ वर्ग
सेलेनियम में क्लिक करें और क्लिक करें

सेलेनियम में MoveToElement

MoveToElement, सेलेनिअम में ऐक्शन क्लास से दूसरे WebElement (डेस्टिनेशन वेब्लीमेंट) के लिए मूवमेंट करने के लिए एक विधि है, जिसे यह विधि एक संबंधित तर्क के रूप में लेती है।

ड्रैग और ड्रॉप परिदृश्यों का प्रदर्शन करते समय इस विधि का प्रमुख रूप से उपयोग किया जाता है, नीचे नमूना कोड छवि है: 

सेलेनियम में क्रिटिकल एक्शन क्लास-अब्सोल्यूट 2021 गाइड
तत्व में जाएं - सेलेनियम में क्रियाएँ वर्ग

सेलेनियम में डबल क्लिक करें

माउस के माध्यम से डबल क्लिक ऑपरेशन को दोहराने के लिए हमें सेलेनियम में क्रियाएँ वर्ग के माध्यम से डबल क्लिक करने की आवश्यकता है और हम इसे नीचे दिए गए कार्यों में कर सकते हैं: 

public void doubleClick(By locator) {
   try {
       WebElement element = driver.findElement(locator);
       Actions actions = new Actions(driver);
       actions.doubleClick(element).perform();
       BASE_LOGGER.info("Performed the double Click on the Element  : " + locator);
   } catch (StaleElementReferenceException e) {
       BASE_LOGGER.error("Element is not attached to the page document " + e.getCause().getMessage());
   } catch (NoSuchElementException e) {
       BASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage());
   } catch (Exception e) {
       BASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage());
   }
}

उपरोक्त कोड स्निपेट एक ऐसी विधि है जो मूल रूप से लोकेटर के रूप में एक तर्क लेती है, यानी वेबइमेन्ट जिस पर डबल क्लिक करना होता है। 

संदर्भ क्लिक या सेलेनियम राइट क्लिक

माउस के माध्यम से संदर्भ क्लिक या राइट क्लिक ऑपरेशन को दोहराने के लिए हमें सेलेनियम में क्रियाएँ वर्ग के माध्यम से संदर्भ क्लिक विधि करने की आवश्यकता है और हम इसे नीचे दिए गए दृष्टिकोण में कर सकते हैं: 

public void rightClick(By locator) {
   try {
       WebElement element = driver.findElement(locator);
       Actions actions = new Actions(driver);
       actions.contextClick(element).perform();
       BASE_LOGGER.info("Performed the context Click on the Element  : " + locator);
   } catch (StaleElementReferenceException e) {
       BASE_LOGGER.error("Element is not attached to the page document " + e.getCause().getMessage());
   } catch (NoSuchElementException e) {
       BASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage());
   } catch (Exception e) {
       BASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage());
   }
}

उपरोक्त कोड स्निपेट एक ऐसी विधि है जो मूल रूप से लोकेटर के रूप में एक तर्क लेती है, यानी वेबइमेन्ट जिस पर डबल क्लिक करना होता है। 

सेलेनियम में रुकें 

जब भी हम अलग-अलग क्रियाओं के बीच किसी भी समय देरी का परिचय देना चाहते हैं, तो हम क्रिया संचालन के बीच में विराम विधि का उपयोग कर सकते हैं, जैसे मान लें कि हम ड्रैग और ड्रॉप ऑपरेशन के बीच कुछ सेकंड की देरी चाहते हैं, तो हम ठहराव कह सकते हैं ( ) नीचे दृष्टिकोण में सेलेनियम में क्रियाएँ वर्ग की विधि: 

public void pauseBetweenActions(By source,By destination, int timeUnit) {
   try {
       WebElement sourceElement = driver.findElement(source);
       WebElement destinationElement = driver.findElement(destination);
       Actions builder = new Actions(driver);
       builder.clickAndHold(sourceElement).moveToElement(destinationElement).pause(timeUnit).release(destinationElement).build().perform();
       BASE_LOGGER.info("Successfully performed the Drag and Drop action ");
   } catch (Exception e) {
       String exceptionData = e.getCause().getMessage();
       BASE_LOGGER.error("Error encountered i.e : " + exceptionData + " while performing DragAndDrop ");
   }
}

उपरोक्त विधि में इसे तीन तर्क लगते हैं: एक स्रोत WebElement, एक अन्य तर्क गंतव्य तत्व है, और अंतिम एक समय के लिए है, यानी सेलेनियम में हम ठहराव () का उपयोग करना चाहते हैं।

सेलेनियम में माउस होवर

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

नीचे उसी के लिए कोड स्निपेट दिया गया है: 

public void mouseHover(By targetedLocator) {
   try {
       WebElement targetedElement = driver.findElement(targetedLocator);
       Actions builder = new Actions(driver);
       builder.moveToElement(targetedElement).build().perform();
       BASE_LOGGER.info("Successfully performed the Mouse hover in Selenium action ");
   } catch (Exception e) {
       String exceptionData = e.getCause().getMessage();
       BASE_LOGGER.error("Error encountered i.e : " + exceptionData + " while performing Mouse hover in Selenium ");
   }
}

सभी के बारे में जानने के लिए सेलेनियम वेबड्राइवर कमांड आप यहां देख सकते हैं .

कीबोर्ड क्रियाएं - सेलेनियम में क्रियाएं कक्षा

कीबोर्ड क्रिया क्या है और इसकी आवश्यकता कहां है:

कीबोर्ड क्रियाओं का मतलब है कि जहां संचालन सीधे एक कीबोर्ड से किया जाता है जैसे कि हम यह कहते हैं कि हम Contrl + A को एक साथ या Control + C को एक साथ करने की कोशिश कर रहे हैं या कीबोर्ड से की-अप या Keydown बटन को WebElements के साथ इंटरैक्ट करते समय प्रदर्शन कर रहे हैं।

हम सेलेनियम में एक्शन क्लास की मदद से कई कीबोर्ड इंटरैक्शन कर सकते हैं

सेलेनियम में sendKeys :

हम नीचे दिए गए तरीके से सेलेनियम में एक्शन क्लास की मदद से सेंक ऑपरेशन कर सकते हैं:

public void sendKeysWithActionClass(By locator) {
        try {
            WebElement element = driver.findElement(locator);
            Actions actions = new Actions(driver);
            actions.sendKeys("KeyBoard Data Entry ");

            // Perform Keyboard Actions ex pressing Control and c together

            actions.sendKeys(Keys.CONTROL);
            actions.sendKeys("c");
            actions.build().perform();
        } catch (Exception e) {
            String exceptionData = e.getCause().getMessage();
           
        }
    }

सेलेनियम में कीप :

इसी प्रकार हम सेलेनियम में एक्शन क्लास के साथ KeyUp संचालन नीचे तरीके से कर सकते हैं:

    public void keyUpWithActionClass(By locator) {
        try {
            WebElement element = driver.findElement(locator);
            Actions actions = new Actions(driver);
            actions.sendKeys("KeyBoard Data Entry ");

            // Perform Keyboard Actions ex pressing Control and c together with keyUp

            actions.keyUp(Keys.CONTROL);
            actions.sendKeys("c");
            actions.build().perform();
        } catch (Exception e) {
            String exceptionData = e.getCause().getMessage();
        }
    }

सेलेनियम में कीडाउन

हम नीचे दिए गए दृष्टिकोण में सेलेनियम में फिर से एक्शन क्लास की मदद से कीडाउन ऑपरेशन कर सकते हैं:

public void keyDownWithActionClass(By locator) {

        try {
            WebElement element = driver.findElement(locator);
            Actions actions = new Actions(driver);
            actions.sendKeys("KeyBoard Data Entry ");

            // Perform Keyboard Actions ex pressing Control and V together with keyDown

            actions.keyDown(Keys.CONTROL);
            actions.sendKeys("v");
            actions.build().perform();
        } catch (Exception e) {
            String exceptionData = e.getCause().getMessage();

        }
    }

निष्कर्ष: इन के साथ हम यहाँ सेलेनियम में क्रिया वर्ग के साथ कर रहे हैं, आगामी ट्यूटोरियल JavascriptExecutor में सेलेनियम में मॉड्यूलर अभी तक संपूर्ण तरीके से। सीखना अत्यधिक सेलेनियम कमांड आप यहां तैयारी के लिए भी संदर्भित कर सकते हैं महत्वपूर्ण सेलेनियम साक्षात्कार प्रश्न आप यहाँ उल्लेख कर सकते हैं।

देबर्घ्य के बारे में

सेलेनियम में क्रिटिकल एक्शन क्लास-अब्सोल्यूट 2021 गाइडस्वंय देवबर्घ्य रॉय, मैं एक इंजीनियरिंग शाखा हूं, जो 5 कंपनी और एक ओपन सोर्स योगदानकर्ता के साथ काम कर रही है, जिसके पास विभिन्न टेक्नोलॉजी स्टैक में 12 साल का अनुभव / विशेषज्ञता है।
मैंने जावा, सी #, पायथन, ग्रूवी, यूआई ऑटोमेशन (सेलेनियम), मोबाइल ऑटोमेशन (एपियम), एपीआई/बैकएंड ऑटोमेशन, परफॉर्मेंस इंजीनियरिंग (जेएमटर, टिड्डी), सुरक्षा ऑटोमेशन (मोबएसएफ, ओडब्ल्यूएएसपी, काली लिनक्स) जैसी विभिन्न तकनीकों के साथ काम किया है। , एस्ट्रा, जैप आदि), आरपीए, प्रोसेस इंजीनियरिंग ऑटोमेशन, मेनफ्रेम ऑटोमेशन, स्प्रिंगबूट के साथ बैक एंड डेवलपमेंट, काफ्का, रेडिस, रैबिटएमक्यू, ईएलके स्टैक, ग्रेलॉग, जेनकिंस और क्लाउड टेक्नोलॉजीज, देवओप्स आदि में भी अनुभव है।
मैं अपनी पत्नी के साथ बैंगलोर, भारत में रहता हूं और ब्लॉगिंग, संगीत, गिटार बजाने का शौक रखता हूं और मेरे जीवन का दर्शन सभी के लिए शिक्षा है जिसने लैम्ब्डागीक्स को जन्म दिया। आइए लिंक्ड-इन पर कनेक्ट करें - https://www.linkedin.com/in/debarghya-roy/

एक टिप्पणी छोड़ दो

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड चिन्हित हैं *

en English
X