Clase de acción en Selenium Webdriver

En este tutorial, aprenderemos el manejo de eventos de teclado y mouse en Selenium Webdriver

Clase de actividad en selenio

Clase de actividad en selenio Selenium es una función incorporada que permite manejar eventos de teclado y mouse. Incluye varias operaciones, como hacer clic en varios eventos mediante la tecla de control, arrastrar y soltar eventos y muchas más. Estas operaciones se realizan desde la clase de acción mediante el uso de la API altamente interactiva con el usuario en Selenium Webdriver.

Manejo de eventos de teclado y mouse

Los eventos especiales de teclado y mouse se manejan usando el API de interacciones de usuario avanzadas. El es Comportamiento y el Acción clases requeridas para la realización de estos eventos. Los siguientes son los eventos de teclado y mouse más comunes proporcionados por la clase Actions.

MétodoSuelte
clickAndHold ()Haga clic (sin soltar) en la posición actual del mouse.
contextClick ()Al hacer clic en el contexto, se establece la ubicación actual del mouse. (Acción del mouse de clic derecho)
haga doble clic ()Haga doble clic en la posición actual del mouse.
dragAndDrop (fuente, destino)Haga clic y mantenga presionado en la ubicación del elemento de origen, se mueve a la ubicación del elemento de destino, luego se suelta el mouse.

Parámetros:

elemento fuente para repetir el botón en.

elemento de destino para mover el mouse y soltarlo.

dragAndDropBy (origen, desplazamiento x, desplazamiento y)Haga clic y mantenga presionado en la ubicación del elemento de origen, se mueve con un cierto desplazamiento y luego suelta el mouse.

Parámetros:

elemento fuente para repetir el botón en.

xOffset: desplazamiento del movimiento horizontal.

yDesplazamiento de desplazamiento vertical.

keyDown (tecla_modificador)Pulsar crea una tecla de moderador. No libera la tecla del moderador; las interacciones posteriores pueden asumir presión.

Parámetros:

tecla_modificador: cualquiera de las teclas modificadoras (Keys.ALT, Keys.SHIFT o Keys.CONTROL)

keyUp (moderador de _key)Realiza una liberación de clave.

Parámetros:

tecla_modificador: cualquiera de las teclas modificadoras (Keys.ALT, Keys.SHIFT o Keys.CONTROL)

moveByOffset (desplazamiento x, desplazamiento)El mouse se mueve desde su posición actual (o 0,0) bajo el desplazamiento dado.

Parámetros:

desplazamiento horizontal desplazamiento x. Un valor negativo significa mover el mouse hacia la izquierda.

Desplazamiento y desplazamiento vertical. Valor negativo significa mover el mouse hacia abajo.

moveToElement (toElement)El mouse se mueve al centro del elemento.

Parámetros:

toElement- elemento al que moverse.

lanzamiento ()Libera el botón izquierdo del mouse presionado en la posición actual del mouse
sendKeys (onElement, secuencia de caracteres)Se envían una serie de pulsaciones de teclas sobre el elemento.

Parámetros:

onElement: un elemento que recibe las pulsaciones de teclas, generalmente un campo de texto

secuencia de caracteres: cualquier valor de cadena que indique la secuencia de pulsaciones de teclas que se enviará

En el siguiente ejemplo, usaremos el método moveToElement () para pasar el mouse sobre las filas de una tabla Mercury Journeys. Vea el ejemplo a continuación.

Es parte de un elemento la celda que se muestra arriba. Si no está oculto, su color es # FFC455 (naranja). Después de flotar, el color de la celda se vuelve transparente. Se vuelve del mismo color que el fondo azul de toda la tabla naranja.

Paso 1: Importar el Comportamiento y Acción clases.

Paso 2: Algo nuevo Iniciar acciones.

Paso 3: Ejecute una acción utilizando el objeto Acciones en el paso 2.

En este caso, usaremos el método moveToElement () porque solo estamos pasando el enlace «Inicio». El método de construcción () es siempre el último método utilizado para que todas las acciones enumeradas se compilen en un solo paso.

Paso 4: Utilice el método de rendimiento () al ejecutar el objeto Activity que pensamos en el Paso 3.

A continuación se muestra el código completo de WebDriver para el color de fondo del elemento comprobar antes y después del ratón.


package newproject;

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;

public class PG7 {
    
    public static void main(String[] args) {
        String baseUrl = "http://demo.guru99.com/test/newtours/";
        System.setProperty("webdriver.gecko.driver","C:\geckodriver.exe");
                WebDriver driver = new FirefoxDriver();

                driver.get(baseUrl);           
                WebElement link_Home = driver.findElement(By.linkText("Home"));
                WebElement td_Home = driver
                        .findElement(By
                        .xpath("//html/body/div"
                        + "/table/tbody/tr/td"
                        + "/table/tbody/tr/td"
                        + "/table/tbody/tr/td"
                        + "/table/tbody/tr"));    
                 
                Actions builder = new Actions(driver);
                Action mouseOverHome = builder
                        .moveToElement(link_Home)
                        .build();
                 
                String bgColor = td_Home.getCssValue("background-color");
                System.out.println("Before hover: " + bgColor);        
                mouseOverHome.perform();        
                bgColor = td_Home.getCssValue("background-color");
                System.out.println("After hover: " + bgColor);
                driver.close();
        }
}

El resultado a continuación indica claramente que el color de fondo se volvió transparente después de que se movió el mouse.

Cree una serie multitarea

Puede crear una serie de acciones utilizando las clases Acción y Acciones.. Solo recuerde cerrar el conjunto con el método de construcción (). Considere el código de muestra a continuación.

public static void main(String[] args) {
String baseUrl = "http://www.facebook.com/"; 
WebDriver driver = new FirefoxDriver();

driver.get(baseUrl);
WebElement txtUsername = driver.findElement(By.id("email"));

Actions builder = new Actions(driver);
Action seriesOfActions = builder
	.moveToElement(txtUsername)
	.click()
	.keyDown(txtUsername, Keys.SHIFT)
	.sendKeys(txtUsername, "hello")
	.keyUp(txtUsername, Keys.SHIFT)
	.doubleClick(txtUsername)
	.contextClick()
	.build();
	
seriesOfActions.perform() ;

}

Resumen

  • Los eventos especiales de teclado y mouse se manejan usando la API AdvancedUserInteractions.
  • Los eventos de palabras clave y mouse más utilizados son doble clic (), keyUp, dragAndDropBy, contextClick y sendKeys.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *