সেলেনিয়াম -অবসুলিউট 2021 গাইডে সমালোচনামূলক ক্রিয়া শ্রেণি

আমরা বিভিন্ন ওয়েব ক্রিয়াকলাপ জুড়ে সেলেনিয়ামে অ্যাকশন শ্রেণির বিস্তৃত ব্যবহার সম্পর্কে আলোচনা করতে এবং শিখতে চলেছি। সেলেনিয়ামের ক্রিয়া ক্লাসটি বিভিন্ন ওয়েব ক্রিয়াকলাপ যেমন মাউস এবং কীবোর্ড আন্দোলনের জন্য ব্যবহৃত হয় যা অগ্রণী ওয়েব ব্রাউজার ক্রিয়া।

সেলেনিয়ামে অ্যাকশন ক্লাস
সেলেনিয়ামে অ্যাকশন ক্লাস

মাউস ক্রিয়া

  • সেলেনিয়ামে টেনে আনুন
  • সেলেনিয়ামে ক্লিকঅ্যান্ডহোল্ড
  • সেলেনিয়ামে মুভোটোলেমেন্ট 
  • সেলেনিয়ামে ড্রাগএন্ডড্রপবি 
  • সেলেনিয়ামে মুভবিঅফসেট
  • সেলেনিয়ামে ডাবল ক্লিক করুন
  • সেলেনিয়ামে রাইটক্লিক বা কনটেক্সট ক্লিক করুন
  • সেলেনিয়ামে বিরতি দিন
  • সেলেনিয়ামে মাউস হোভার

কীবোর্ডের ক্রিয়া

  • সেলেনিয়ামে সেন্ডকি
  • সেলেনিয়ামে কীআপ
  • সেলেনিয়ামের কীডাউন

সেলেনিয়ামে অ্যাকশন ক্লাস

সেলেনিয়ামে অ্যাকশন ক্লাস কী: 

অ্যাকশন ক্লাসটি প্যাকেজ থেকে সেলেনিয়াম বান্ডিল এপি থেকে একটি ক্লাস org.openqa.selenium.inteferences ব্রাউজার অটোমেশনের মাধ্যমে ব্যবহারকারীদের সাথে সমালোচনা এবং অগ্রিম ওয়েব ইন্টারঅ্যাকশন পরিচালনা করতে। উপরে উল্লিখিত বিভিন্ন পদ্ধতির মাধ্যমে বিভিন্ন মাউস এবং কীবোর্ড ক্রিয়া সম্পাদনের জন্য ব্যবহারকারীদের একটি হ্যান্ডেল সরবরাহ করে।  

সেলেনিয়ামে অ্যাকশন ক্লাস
সেলেনিয়ামে অ্যাকশন ক্লাস

আমরা এখানে সেলেনিয়ামের অ্যাকশন ক্লাসের মাধ্যমে সমস্ত ওয়েব ইন্টারঅ্যাকশনগুলি নিয়ে আলোচনা করব, মাউস ইন্টারঅ্যাকশনগুলি শিখতে শুরু করে এবং সেলেনিয়ামের অ্যাকশন শ্রেণীর সাথে কীবোর্ড ইন্টারঅ্যাকশনগুলির দিকে অগ্রসর হলাম।

মাউস ইন্টারঅ্যাকশনস - সেলেনিয়ামে অ্যাকশন ক্লাস

সেলেনিয়ামে টেনে আনুন

সেলেনিয়ামে টানুন এবং ড্রপটি সেলেনিয়ামে অ্যাকশন শ্রেণীর সাথে তিনটি ভিন্ন পদ্ধতির মাধ্যমে করা যেতে পারে: 

  • বিল্ড () পদ্ধতি সহ 
  • ড্রাগএন্ডড্রপবি () পদ্ধতি সহ
  • ড্রাগএন্ডড্রপ () পদ্ধতি সহ।

বিল্ড পদ্ধতির মাধ্যমে সেলেনিয়ামে অ্যাকশন ক্লাস সহ সেলেনিয়ামে টানুন এবং ফেলে দিন: 

আমাদের সেলেনিয়ামে টানা এবং ড্রপ করার জন্য দুটি ওয়েবেলেন্ট থাকতে হবে যেমন সোর্স ওয়েবএলেমেন্ট (যা টেনে আনতে হবে) এবং গন্তব্য ওয়েবইলেট (যেখানে সোর্স ওয়েবএলমেন্ট বাদ দেওয়া হবে, অর্থাৎ গন্তব্য ওয়েব-এলিমেন্ট), নীচের পদ্ধতিটি একটি কাস্টমাইজড পদ্ধতি ( যা আপনি আপনার ফ্রেমওয়ার্ক ওয়েব ইউটিলগুলি তৈরি করতে ব্যবহার করতে পারেন) যা সেলেনিয়ামে ড্রাগ এবং ড্রপ সঞ্চালন করে এবং এই পদ্ধতিতে দুটি আর্গুমেন্ট লাগে একটি হ'ল সোর্স ওয়েবএলেমেন্ট এবং অন্যটি হ'ল গন্তব্য ওয়েব-এলিমেন্ট যা পূর্বে উল্লিখিত হয়েছে: 

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 ");
   }
}

ড্রাগ এবং ড্রপ সম্পর্কে সম্পূর্ণ ধারণাটি জানতে এবং সেলেনিয়ামে ড্রাগ এবং ড্রপ সঞ্চালনের জন্য সমস্ত পদ্ধতির কাছে যেতে, এখানে ক্লিক করুন।

সেলেনিয়ামে ক্লিকঅ্যান্ডহোল্ড 

সেলেনিয়ামে অ্যাকশন ক্লাসের (org.openqa.selenium.inteferences প্যাকেজ থেকে) ক্লিকঅ্যান্ডহোল্ড হ'ল আরেকটি গুরুত্বপূর্ণ পদ্ধতি
প্রথমে যে কোনও ওয়েব-এলিমেন্টের উপর বাম ক্লিক অপারেশন করুন এবং মাউস ছাড়াই এটিকে ধরে রাখুন।

নীচে নমুনা কোড চিত্রটি: ড্র্যাগ এবং ড্রপ পরিস্থিতি সম্পাদনের সময় এই পদ্ধতিটি প্রধানত ব্যবহৃত হয় 

সেলেনিয়ামে অ্যাকশন ক্লাস
সেলেনিয়াম -একশন ক্লাস ক্লিক করুন এবং ধরে রাখুন

সেলেনিয়ামে মুভটোএলেমেন্ট

মুভটোএলেমেন্ট হ'ল সেলেনিয়ামের অ্যাকশন শ্রেণি থেকে অন্য ওয়েবএলিমেন্টে (গন্তব্য ওয়েবেলেট) সঞ্চালনের জন্য একটি পদ্ধতি, যা এই পদ্ধতিটিকে একটি স্বতন্ত্র যুক্তি হিসাবে গ্রহণ করে।

নীচে নমুনা কোড চিত্রটি: ড্র্যাগ এবং ড্রপ পরিস্থিতি সম্পাদনের সময় এই পদ্ধতিটি প্রধানত ব্যবহৃত হয় 

উপাদান থেকে সরান - সেলেনিয়ামে অ্যাকশন ক্লাস

সেলেনিয়ামে ডাবল ক্লিক করুন

মাউসের মাধ্যমে ডাবল ক্লিক অপারেশনটির অনুলিপি করতে আমাদের সেলেনিয়ামে অ্যাকশন শ্রেণীর মাধ্যমে ডাবল ক্লিক সম্পাদন করা প্রয়োজন এবং আমরা নীচের পদ্ধতির মাধ্যমে এটি করতে পারি: 

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 ");
   }
}

উপরোক্ত পদ্ধতিতে এটি তিনটি আর্গুমেন্ট গ্রহণ করে: একটি উত্স ওয়েবএলিমেন্ট, আরেকটি যুক্তি গন্তব্য উপাদান, এবং শেষটি টাইমউনাইটের জন্য, অর্থাৎ আমরা সেলেনিয়ামে বিরতি () ব্যবহার করে যে সময় বিলম্ব করতে চাইছি।

সেলেনিয়ামে মাউস হোভার

সেলেনিয়াম অপারেশন ইন মাউস হোভারটি সেলেনিয়ামে অ্যাকশন ক্লাস ব্যবহার করে অর্জন করা যেতে পারে, মূলত, একবার আমরা কোনও ওয়েবএলমেন্টের সাথে মনোযোগ কেন্দ্রীভূত করি এবং সেখান থেকে, আমরা এই মাউস হোভার অপারেশন দ্বারা আপনার মাউস কার্সারটিকে অন্য কোনও উপাদানে নিয়ে যেতে চাই, এবং এই ওয়েবএলমেন্ট যেখানে আমরা আমাদের মাউস কার্সারটি নিতে চাই টার্গেট ওয়েবইলেট হিসাবে পরিচিত। 

নীচে এর জন্য কোড স্নিপেট রয়েছে: 

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 ");
   }
}

সমস্ত সম্পর্কে জানতে আপনি এখানে উল্লেখ করতে পারেন সেলেনিয়াম ওয়েবড্রাইভার কমান্ড .

কীবোর্ড অ্যাকশন - সেলেনিয়ামে অ্যাকশন ক্লাস

কীবোর্ডের ক্রিয়াগুলি কী এবং এর প্রয়োজনীয়তা:

কীবোর্ড ক্রিয়াকলাপের অর্থ হ'ল ক্রিয়াকলাপগুলি যেখানে কীবোর্ড থেকে সরাসরি সঞ্চালিত হয় যেমন ধরা যাক যে আমরা কন্ট্রেল + এ একসাথে বা নিয়ন্ত্রণ + সি একসাথে করার চেষ্টা করছি বা ওয়েব-এলিমেন্টের সাথে আলাপকালে কীবোর্ড থেকে কী আপ বা কীডাউন বোতামটি সম্পাদন করছি trying

আমরা সেলেনিয়ামে অ্যাকশন শ্রেণীর সহায়তায় বেশ কয়েকটি কীবোর্ড ইন্টারঅ্যাকশন করতে পারি

সেলেনিয়ামে সেন্ডকি :

আমরা নীচের পদ্ধতিতে সেলেনিয়ামে অ্যাকশন ক্লাসের সহায়তায় সেন্ডকিগুলি অপারেশন করতে পারি:

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();
           
        }
    }

সেলেনিয়ামে কীআপ :

একইভাবে আমরা নীচের পদ্ধতিতে সেলেনিয়ামে অ্যাকশন শ্রেণীর সাথে কীআপ অপারেশন করতে পারি:

    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();

        }
    }

উপসংহার : এগুলি সহ আমরা সেলেনিয়ামের অ্যাকশন শ্রেণীর সাথে এখানে সম্পন্ন করেছি, সেলেনিয়ামের আসন্ন টিউটোরিয়াল জাভাস্ক্রিপ্টএক্সিকিউটরটিতে মডিউলার এখনও পরিলক্ষিত পদ্ধতিতে। শিখতে নিঃসন্দেহে সেলেনিয়াম কমান্ড আপনি প্রস্তুত করতে এখানে উল্লেখ করতে পারেন সমালোচক সেলেনিয়াম সাক্ষাত্কারের প্রশ্নগুলি আপনি এখানে উল্লেখ করতে পারেন।

দেবরঘ্যা সম্পর্কে

মাইয়েস্ দেবারঘ্যা রায়, আমি একটি ইঞ্জিনিয়ারিং আর্কিট্যাক্ট ফরচুনি 5 সংস্থার সাথে কাজ করছি এবং ওপেন সোর্স অবদানকারী, বিভিন্ন প্রযুক্তি স্ট্যাকের প্রায় 12 বছরের অভিজ্ঞতা / দক্ষতা অর্জন করছি।
আমি বিভিন্ন প্রযুক্তি যেমন জাভা, সি #, পাইথন, গ্রোভি, ইউআই অটোমেশন (সেলেনিয়াম), মোবাইল অটোমেশন (অ্যাপিয়াম), এপিআই / ব্যাকএন্ড অটোমেশন, পারফরম্যান্স ইঞ্জিনিয়ারিং (জেমেটার, পঙ্গপাল), সুরক্ষা অটোমেশন (মোবিএসএফ, ওউএএসপি, কালি লিনাক্স) এর সাথে কাজ করেছি , অ্যাস্ট্রা, জ্যাপ ইত্যাদি), আরপিএ, প্রসেস ইঞ্জিনিয়ারিং অটোমেশন, মেনফ্রেম অটোমেশন, স্প্রিংবুট, কাফকা, রেডিস, রবিটএমকিউ, ইএলকে স্ট্যাক, গ্রেলোগ, জেনকিন্স সহ ক্লাউড টেকনোলজিস, ডিভোপস ইত্যাদির অভিজ্ঞতা রয়েছে Back
আমি আমার স্ত্রীর সাথে ভারতের বেঙ্গালুরুতে থাকি এবং ব্লগিং, সংগীত, গিটার বাজানো এবং আমার জীবনদর্শন দর্শনের প্রতি অনুরাগ রয়েছে যা ল্যাম্বডিজিক্সের জন্ম দিয়েছিল সবার জন্য শিক্ষা। লিংকড-ইনগুলির সাথে সংযুক্ত হতে দেয় - https://www.linkedin.com/in/debarghya-roy/

মতামত দিন

আপনার ইমেইল প্রকাশ করা হবে না। প্রয়োজনীয় ক্ষেত্রগুলি * চিহ্নিত করা আছে।

লাম্বদা গিক্স