¿Qué es la clase de acción en Selenium y sus aplicaciones?

Publicado: 2021-05-19

Action Class en Selenium es una función integrada que ofrece Selenium para administrar eventos de teclado y mouse. Puede administrar múltiples operaciones y eventos, como tecla de control, arrastrar y soltar, y muchos más. Las operaciones de la clase de acción se implementan utilizando la función API de interacción avanzada del usuario de Selenium Webdriver.

Tabla de contenido

Eventos de teclado y mouse de uso común

Los eventos especiales de teclado y mouse se manejan mediante la API de interacciones avanzadas de usuarios. Esta API contiene la clase Action y Actions que se requieren al ejecutar estos eventos. A continuación se muestran los eventos de teclado y mouse de uso común proporcionados en la clase Acción.

Método Descripción
Hacer clic y mantener () Para hacer clic sin soltar en la ubicación actual del mouse.
contexto-clic() Realiza un clic contextual (acción de clic con el botón derecho del mouse) en la ubicación actual del mouse
haga doble clic() Realiza una acción de doble clic en la ubicación actual del mouse
arrastrar y soltar (origen, destino) Realiza la operación de hacer clic y mantener presionado en la ubicación del elemento de origen, luego se mueve a la ubicación del elemento de destino y suelta el mouse.

Parámetros:

source-element para emular eventos de botón hacia abajo.

Elemento de destino para mover y soltar el mouse

arrastrar y soltar por (fuente, desplazamiento x, desplazamiento y) Hace clic y mantiene presionado en la ubicación del elemento de origen, se mueve por un desplazamiento especificado y luego suelta el mouse.

Parámetros:

source-element para emular eventos de botón hacia abajo.

xOffset: para especificar el desplazamiento del movimiento horizontal.

yOffset- para especificar el desplazamiento de movimiento vertical.

tecla abajo (tecla_modificador) Realiza el evento de pulsación de tecla modificadora. No suelta la tecla modificadora con interacciones subsecuentes asumiendo que está presionada.

Parámetros:

modifier_key para representar cualquiera de las teclas modificadoras, como Keys.SHIFT, Keys.ALT o Keys.CONTROL.

clave arriba (modifier_key) Realiza una liberación clave.

Parámetros:

modifier_key para representar cualquiera de las teclas modificadoras, como Keys.SHIFT, Keys.ALT o Keys.CONTROL.

moveByOffset(compensación x, compensación y) Mueve el mouse desde la posición actual por el desplazamiento especificado.

Parámetros:

x-offset para especificar el desplazamiento horizontal. Un valor negativo significa que el mouse se está moviendo hacia la izquierda.

y-offset para especificar el desplazamiento vertical. Un valor negativo significa que el mouse se está moviendo hacia abajo.

moverAElemento(aElemento) Mueve el ratón de la mitad a la mitad del elemento.

Parámetros:

elemento para representar el elemento al que moverse.

liberar() Suelta el botón izquierdo del mouse presionado en la ubicación actual del mouse.
sendKeys(onElement, secuencia de caracteres) Envía una serie de pulsaciones de teclas al elemento.

Parámetros:

Elemento para representar el elemento que recibirá las pulsaciones de teclas, generalmente un campo de texto.

Secuencia de caracteres: cualquier valor de cadena para representar la secuencia de pulsaciones de teclas que se envía.

Ejemplos de aplicación de la clase de acción de selenio

1. Importar Acción y la clase Acción .

import org.open a.selenium.interactions.Action;

importar org.open a.selenium.interactions.Actions;

2. Crea una instancia de un nuevo objeto de Acciones

Generador de acciones = nuevas acciones (controlador);

3. Cree una instancia de una acción usando el objeto de acción en el paso anterior

Acción mouseOverHome = constructor

.moveToElement(enlace_Inicio)

.construir();

Aquí, estamos usando el método moveToElement() para realizar un movimiento del mouse sobre el enlace Inicio. build() es siempre el método final para garantizar que todas las acciones se compilen en un solo paso.

4. Use el método perform mientras ejecuta el objeto Action que declaramos en el paso anterior.

Sintaxis:

mouseOverHome.perform();

Ejemplo 2:

Tomemos otro ejemplo en el que la clase Action se usa para implementar la función Autocompletar del cuadro de texto.

Para hacer esto manualmente, presionamos la tecla shift, escribimos el texto que se debe ingresar en mayúsculas y luego soltamos la tecla shift. Poner, Shift + teclas alfabéticas se presionan juntas.

Para imitar la misma operación mediante un script de automatización, se utiliza el método Clase de acciones.

1. Paquete de importación

La clase Action y Actions existen en el paquete org.openqa.selenium.interactions de Web Driver API. Para usar estos debe importar paquetes:

org.openqa.selenium.interactions.Acción;

org.openqa.selenium.interactions.Actions;

2. Crea una instancia de la clase Action

Ayudaría si creara un objeto de la clase Actions para invocar sus métodos. Entonces, instanciamos la clase Actions y usamos el objeto WebDriver para iniciar la clase. La sintaxis es:

Acciones acciones = nuevas acciones (objeto webdriver);

3. Generar una secuencia de acciones

En este ejemplo, la secuencia de pasos para realizar múltiples acciones es:

  • Presiona la tecla Shift
  • Enviar el texto deseado
  • Suelte la tecla Mayús

Para realizar estas acciones, la clase Action tiene métodos como:

  • método keyDown para presionar la tecla Shift.
  • método sendKeys para enviar el texto deseado.
  • El método keyUp libera la tecla Shift.
  • KeyDown actúa como una tecla modificadora presionada para enfocarse en un elemento mientras que el método keyUp libera una tecla modificadora presionada.

Una tecla modificadora cambia la acción de otra tecla cuando ambas teclas se presionan simultáneamente. Por ejemplo, Mayús, Alt y Ctrl.

Se genera una secuencia de acciones, pero estas acciones se realizan en un elemento web. Los pasos para esto son:

Elemento WebElement = controlador.findElement;

acciones.keyDown(elemento, Teclas, Shift);

action.sendKeys(“TexttoBeConvertAndSendInUpperCase);

acciones.keyUp(Teclas.Shift);

Lo importante a observar aquí es que si pasa el cursor sobre cualquier método de clase Action, se devolverá un objeto de clase Actions.

4. Construye la secuencia de acciones

Puedes construir la secuencia de acciones a través del método build() de la clase Actions. Este método genera todo el conjunto de acciones que están listas para ser realizadas. La sintaxis es:

Acción acción = acciones.build();

El método build() devuelve un objeto de tipo Acción que representa una acción compuesta creada a partir de una secuencia de múltiples acciones invocadas por llamadas a métodos.

5. Realizar secuencias de acción

El último paso para ejecutar la clase Action es realizar la secuencia de acciones a través del método perform() de la interfaz Action. La sintaxis es:

acción.realizar();

Los pasos anteriores deben ejecutarse para aprovechar todos los métodos de la clase Actions y realizar diferentes acciones de usuario con el teclado y el mouse.

Aprenda cursos de desarrollo de software en línea de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.

¿Qué sigue?

Si está interesado en obtener más información sobre el desarrollo de software de pila completa, consulte el desarrollo de software de pila completa del programa Executive PG de upGrad & IIIT-B, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos y asignaciones, estado de ex alumnos de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.

¿Qué es la clase de acción en Selenium?

Una clase de acción es una clase que describe una acción, o una serie de acciones, que puede realizar en un elemento web. Identificamos los elementos sobre los que queremos realizar acciones mediante localizadores. Las clases de acción se definen mediante la combinación de dos caracteres de un modificador de nivel de clase estático público y un sufijo de acción (es decir, Action, KeyAction, PageAction, etc.). El modificador estático público nos permite exponer la clase como una clase que se puede instanciar. El sufijo Acción indica el tipo de acción que se está realizando. La clase de sufijo Acción también se parametriza. El parámetro es el nombre del elemento de la acción. Por ejemplo, si queremos realizar una acción en un campo de texto, usaríamos el parámetro textfield.

¿Cuáles son los usos del selenio?

Selenium es una herramienta de prueba de software portátil muy potente (herramienta de prueba de software de Selenium), que se utiliza para grabar y reproducir las acciones del usuario en una página web. Se utiliza para probar los requisitos funcionales y no funcionales de una aplicación web en cualquier navegador web. Está implementado en Java y tiene una API muy simple. Admite pruebas de aplicaciones web en todos los principales navegadores web como Firefox, Chrome, Internet Explorer, Safari, etc.

¿Cómo aprender Selenium en Java?

Selenium es una herramienta que le permite escribir pruebas automatizadas en varios lenguajes de programación. Las pruebas se escriben utilizando un controlador web. Puede usarlo para probar su aplicación web basada en los siguientes lenguajes de programación: Java, C#, Python y PHP. En realidad, muchos desarrolladores sienten que no es tan necesario aprender la API de Java de Selenium. Selenium WebDriver es la elección correcta para encontrar elementos en la página y realizar acciones con ellos. Es posible implementar pruebas en muchos lenguajes de programación, pero si necesita escribir pruebas en Java, entonces Selenium WebDriver es la mejor opción. Otro método para aprender Selenium en Java es usar Selenium IDE, también conocido como Selenium RC. La compatibilidad de los navegadores con esta herramienta no es tan buena como sabemos, solo se admiten Firefox y Chrome. Pero, el IDE puede ayudarlo a diseñar y ejecutar rápidamente casos de prueba de Selenium, grabar y reproducir casos de prueba, generar casos de prueba automáticamente, etc.