selenium-webdriver
동작 (복잡한 사용자 제스처 에뮬레이션)
수색…
소개
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