수색…


소개

Actions 클래스는 사용자가 웹 페이지 / 요소와 상호 작용하는 방식을 정확하게 모방하는 방법을 제공합니다. 이 클래스의 인스턴스를 사용하여 클릭, 두 번 클릭, 드래그, 키 누르기 등과 같은 일련의 동작을 설명 할 수 있습니다. 이러한 동작이 설명되면 액션을 수행하기 위해 액션을 작성해야합니다 ( .Build() )를 수행 한 다음 수행하도록 지시합니다 ( .Perform() ). 따라서 우리는 묘사하고, 구축하고, 수행해야합니다. 아래의 예는 이에 따라 확장 될 것입니다.

통사론

  • dragAndDrop (WebElement 소스, WebElement 대상)
  • dragAndDropBy (WebElement 소스, int xOffset, int yOffset)
  • 행하다()

매개 변수

매개 변수 세부
출처 버튼을 에뮬레이트 할 요소.
목표 마우스를 움직이거나 움직일 요소.
x 오프셋 x 좌표로 이동하십시오.
y 오프셋 y 좌표로 이동하십시오.

비고

이 섹션에는 Selenium WebDriver의 Actions 클래스에 대한 정보가 포함되어 있습니다. Actions 클래스는 드래그 앤 드롭, 보류 및 클릭 등과 같은 복잡한 사용자 동작을 수행하는 편리한 방법을 제공합니다.

끌어서 놓기

기음#

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

요소로 이동

기음#

요소 위로 마우스를 가져 가면 드롭 목록이 표시되는지 테스트하려고한다고 가정합니다. 이 목록의 내용을 확인하거나 목록에서 옵션을 선택할 수도 있습니다.

먼저 요소 위로 마우스를 가져 가려는 액션을 만듭니다 (예 : 내 요소에 링크 텍스트 "Admin"이 있음) .

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