Buscar..


Introducción

La clase de Actions nos permite emular con precisión cómo un usuario interactuaría con una página web / elementos. Usando una instancia de esta clase, puede describir una serie de acciones, como hacer clic, hacer doble clic, arrastrar, presionar teclas, etc. Una vez que se describen estas acciones, para poder llevar a cabo las acciones, debe realizar una llamada. ( .Build() ) y luego .Build() que se realicen ( .Perform() ). Así que debemos describir, construir, realizar. Los ejemplos a continuación se expandirán sobre esto.

Sintaxis

  • dragAndDrop (fuente de WebElement, destino de WebElement)
  • dragAndDropBy (fuente WebElement, int xOffset, int yOffset)
  • realizar()

Parámetros

Parámetros Detalles
fuente Elemento para emular el botón hacia abajo en.
objetivo Elemento para mover y soltar el mouse en.
xOffset x coordinar para moverse a.
yOffset y coordinar para moverse a.

Observaciones

Esta sección contiene información de la clase de Acciones de Selenium WebDriver. La clase Acciones le proporciona métodos convenientes para realizar gestos de usuarios complejos como arrastrar y soltar, mantener y hacer clic, etc.

Arrastrar y soltar

DO#

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

Lo anterior encontrará un IWebElement , source , y lo arrastrará, y lo IWebElement en el segundo target IWebElement .

Java

Arrastre y suelte utilizando el elemento web de origen y destino.

Un método conveniente que realiza un clic y mantiene en la ubicación del elemento de origen, se mueve a la ubicación del elemento de destino, y luego libera el mouse.

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

Arrastre un elemento y suéltelo en un desplazamiento dado.

Un método conveniente que realiza un clic y mantiene en la ubicación del elemento fuente, se mueve en un desplazamiento dado (xey, ambos enteros), luego libera el mouse.

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

Mover al elemento

DO#

Supongamos que desea probar que cuando se desplaza sobre un elemento, se muestra una lista desplegable. Es posible que desee verificar el contenido de esta lista, o tal vez seleccionar una opción de la lista.

Primero cree una acción, para desplazarse sobre el elemento (por ejemplo, mi elemento tiene el texto de enlace "Admin") :

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

En el ejemplo anterior:

  • Has creado la acción mouseHover
  • Usted le ha dicho al driver que se mueva a un elemento específico
  • Desde aquí puede realizar otras Actions con el objeto mouseHover o continuar con las pruebas con su objeto driver

Este enfoque es de particular uso cuando el hacer clic en un elemento realiza una función diferente a la del cursor sobre él.

Un ejemplo completo:

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow