खोज…


परिचय

Actions वर्ग हमें ठीक तरीके से अनुकरण करने का एक तरीका देता है कि कोई उपयोगकर्ता वेब पेज / तत्वों के साथ कैसे इंटरैक्ट करेगा। इस वर्ग के उदाहरण का उपयोग करके आप क्रियाओं की एक श्रृंखला का वर्णन कर सकते हैं, जैसे क्लिक करना, डबल-क्लिक करना, ड्रैग करना, कुंजियाँ दबाना आदि। एक बार इन क्रियाओं का वर्णन करने के बाद, क्रियाओं को पूरा करने के लिए, आपको कॉल अवश्य करनी चाहिए क्रियाओं का निर्माण करना चाहिए ( .Build() ) और फिर उन्हें प्रदर्शन करने का निर्देश दें ( .Perform() )। इसलिए हमें वर्णन करना, निर्माण करना, प्रदर्शन करना चाहिए। नीचे दिए गए उदाहरण इस पर विस्तार करेंगे।

वाक्य - विन्यास

  • ड्रैगएंडड्रॉप (वेबलाइमेंट स्रोत, वेबलीमेंट टारगेट)
  • DragAndDropBy (WebElement स्रोत, int xOffset, int yOffset)
  • प्रदर्शन ()

पैरामीटर

पैरामीटर विवरण
स्रोत नीचे बटन का अनुकरण करने के लिए तत्व।
लक्ष्य पर ले जाने और छोड़ने के लिए तत्व।
xOffset x को स्थानांतरित करने के लिए समन्वय।
yOffset y को स्थानांतरित करने के लिए समन्वय।

टिप्पणियों

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

खींचें और छोड़ें

सी#

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Interactions;

namespace WebDriverActions
{
    class WebDriverTest
    {
        static void Main()
        {
            IWebDriver driver = new FirefoxDriver();

            driver.Navigate().GoToUrl("");
            IWebElement source = driver.FindElement(By.CssSelector(""));
            IWebElement target = driver.FindElement(By.CssSelector(""));
            Actions action = new Actions(driver);
            action.DragAndDrop(source, target).Perform();
        }
    }
}

ऊपर एक IWebElement , source मिलेगा, और इसे ड्रैग करें, और इसे दूसरे IWebElement , target में छोड़ दें।

जावा

स्रोत का उपयोग करके खींचें और ड्रॉप करें और लक्ष्यीकरण का लक्ष्य रखें।

एक सुविधा विधि जो स्रोत तत्व के स्थान पर क्लिक-एंड-होल्ड करती है, लक्ष्य तत्व के स्थान पर जाती है, फिर माउस को छोड़ती है।

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;

/**
 * Drag and Drop test using source and target webelement
 */
public class DragAndDropClass {
    public static void main(String[] args) {
        WebDriver driver = new FirefoxDriver();
        driver.get("");
        WebElement source = driver.findElement(By.cssSelector(""));
        WebElement target = driver.findElement(By.cssSelector(""));
        Actions action = new Actions(driver);
        action.build();
        action.dragAndDrop(source, target).perform();
    }
}

किसी तत्व को खींचें और उसे किसी दिए गए ऑफ़सेट पर छोड़ दें।

एक सुविधा विधि जो स्रोत तत्व के स्थान पर क्लिक-एंड-होल्ड करती है, एक दिए गए ऑफ़सेट (x और y, दोनों पूर्णांक) से चलती है, फिर माउस को छोड़ती है।

WebElement source = driver.findElement(By.cssSelector(""));
Actions action = new Actions(driver);
action.build()
action.dragAndDropBy(source, x, y).perform(); // x and y are integers value

एलिमेंट पर जाएं

सी#

मान लीजिए कि आप परीक्षण करना चाहते हैं कि जब आप किसी तत्व पर होवर करते हैं, तो एक ड्रॉप सूची प्रदर्शित होती है। आप इस सूची की सामग्री की जाँच करना चाहते हैं, या शायद सूची में से एक विकल्प का चयन कर सकते हैं।

पहले एक एक्शन बनाएँ, एलीमेंट पर होवर करने के लिए (जैसे मेरे तत्व में लिंक टेक्स्ट "एडमिन" है) :

Actions mouseHover = new Actions(driver);
mouseHover.MoveToElement(driver.FindElement(By.LinkText("Admin"))).Perform();

ऊपर के उदाहरण में:

  • आपने एक्शन mouseHover बनाया है
  • आपने driver को एक विशिष्ट तत्व में जाने के लिए कहा है
  • यहां से आप mouseHover ऑब्जेक्ट के साथ अन्य Actions कर सकते हैं या अपने driver ऑब्जेक्ट के साथ परीक्षण जारी रख सकते हैं

किसी तत्व पर क्लिक करने पर, उसके ऊपर मंडराने की तुलना में यह एक अलग कार्य करता है, यह दृष्टिकोण विशेष उपयोग का है।

एक पूर्ण उदाहरण:

Actions mouseHover = new Actions(driver);
mouseHover.MoveToElement(driver.FindElement(By.LinkText("Admin"))).Perform();

Assert.IsTrue(driver.FindElement(By.LinkText("Edit Record")).Displayed);
Assert.IsTrue(driver.FindElement(By.LinkText("Delete Record")).Displayed);


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow