Arrastre y suelte con Selenium

Arrastre y suelte con Selenium
Selenium ofrece varias funcionalidades a los usuarios y una de ellas es arrastrar y soltar. En este artículo, intentaremos comprender la funcionalidad de arrastrar y soltar del controlador web de Selenium, también entenderemos cómo usarlo y dónde hacerlo. Si es nuevo en este concepto, este artículo contiene toda la información que necesita para comenzar.

¿Cuál es el método draganddrop en Selenium??

Selenium se utiliza para evaluar las aplicaciones web en una variedad de sistemas operativos y navegadores. Se pueden usar numerosos idiomas de codificación para crear scripts de prueba de selenio. Estos incluyen Java, Python, C#y otros. El proceso de mover un archivo de una carpeta a otra en cualquier tipo de navegador web (Firefox, Google Chrome, Windows Explorer, Opera, etc.) con la ayuda del método de arrastrar y soltar se lleva a cabo con un mouse. Cuando un usuario arrastra (se mueve) un elemento web desde un punto y posteriormente lo deja caer a otro lugar específico, este proceso se llama método de arrastrar y soltar.

Algunas aplicaciones web pueden automatizar la práctica de arrastrar y soltar objetos web. Por ejemplo, moverlos de un extremo a otro extremo soltándolos en un lugar o elemento específico a través del controlador web de Selenium. El controlador web de Selenium se puede usar para controlar las operaciones de arrastrar y soltar de dichos elementos.

A través de esta funcionalidad del controlador web de Selenium, los desarrolladores web pueden transferir fácilmente datos o cualquier tipo de documento a través del método de arrastrar y soltar. También obtendremos una comprensión de todo el proceso a través de la codificación y algunas de las ilustraciones de imágenes

Aquí hay un diagrama simple para comprender el método de arrastrar y soltar.

Métodos de arrastrar y soltar varios elementos en Selenium:

Hay varios métodos de arrastrar y soltar múltiples elementos en Selenium. Aquí discutiremos algunos de ellos.

  • En el primer escenario de caso, draganddrop (fuente, objetivo).para construir().llevar a cabo();
  • En el segundo escenario de caso, actuamos Clickandhold (desde). Construir().llevar a cabo(); acto.
  • En el tercer escenario de caso, actuamos draganddropby (fuente, xoffset, yoffset).llevar a cabo();

Al usar algunos de estos escenarios, podemos dragando múltiples elementos en Selenium.

La diferencia entre draganddrop () y draganddropby ()

La única diferencia entre draganddrop () y dragAndDropby () es que en la función dragAndDropby (), el cursor se mueve al webelemento de destino mediante un desplazamiento. Mientras que, en el método draganddrop (), el puntero se mueve directamente al webelemento.

La diferencia entre la creación de drag y drop y acción de la clase

Selenium proporciona acción.clase draganddrop para mover elementos de un extremo a otro.

La clase de acción, por otro lado, usa las coordenadas del elemento para mover un elemento de un extremo a otro.

¿Cuál es la sintaxis para el método de arrastrar y soltar en Selenium??

Usaremos la siguiente sintaxis para el método de arrastrar y soltar:

Comportamiento.draganddrop (SourCelocator, DestinationLocator)

Entonces, aquí, veremos cómo pasar estos dos parámetros a través del método de arrastrar y soltar.

  1. Surcelocater, el elemento es el primer parámetro que arrastraremos
  2. El elemento "DestinationLocator", es el segundo parámetro en el que se debe eliminar el primer elemento.

La sintaxis que usaremos se da a continuación:

Comportamiento.draganddropby (SourCelocator, píxel de eje X de DestinationLocator, píxel de eje Y de DestinationLocator)

Ejemplo 1:

Aquí, le mostraremos un sistema de pedidos de pizza en el que hablaremos sobre la estrategia de arrastrar y soltar. Puede ver primero la siguiente figura y luego pasar al código.

Intentemos comprender el método de arrastrar y soltar en selenio de la figura anterior.

El elemento de factura se arrastra y el elemento de factura se suelta en el lado específico por el método de arrastre y caída.

A continuación, hemos proporcionado el fragmento de código completo al que puede consultar para una comprensión clara.

Org de importación.abierto.selenio.Por;
Org de importación.abierto.selenio.Webdriver;
Org de importación.abierto.selenio.Webelemento;
Org de importación.abierto.selenio.cromo.Cromedriver;
Org de importación.abierto.selenio.interacciones.Comportamiento;
Org de importación.prueba.anotaciones.Prueba;
draganddrop de clase pública
Controlador webdriver;
@Prueba
Public void dragndrop ()

Sistema.setProperty ("WebDriver.cromo.conductor "," e: // selenium // selenium_jars // Chromedriver.exe");
ddriver = new ChromedRiver ();
ddriver.Get ("http: // demo.caja web.com/test/drag_drop.html ");
Webelement de = ddriver.findelement (por.xpath ("//*nid = lbill1/a"));
Webelemento a = ddriver.findelement (por.xpath ("//*nid = 'ordenl/li"));
Acciones Act1 = Nuevas acciones (ddriver);
acto 1.draganddrop (desde, a).construir().llevar a cabo();

En la siguiente sección, hemos dado una explicación adecuada del código anterior para que pueda entenderlo mejor.

Ejecutamos el código anterior en el navegador Chrome y luego arrastramos el elemento de factura. Y colóquelo en el contador de efectivo y el área de colocación de pedidos a través del método de arrastre y caída. Entendamos el código línea por línea.

En la primera sección, cargamos las bibliotecas requeridas. Después de eso, se crea una clase arrastre y caída. Luego, comenzamos el navegador y abrimos la página web.

Ver la siguiente pieza de código. Aquí, comenzamos capturando el primer elemento que necesitamos arrastrar a la variable "desde."Como puede ver, nos dirigimos al elemento.

Webelemento
De = ddriver.findelement (por.xPath ("//*[@id = 'bill']/a”));

Esta sección del código arrastrará la factura de identificación a la sección de pago.

Después de eso, nos dirigimos al segundo elemento que se supone que deja caer el primer elemento en la variable llamado "To". El código se da aquí. Esto dejará caer la identificación de "factura" al elemento ID "pedido" en la sección de pago.

Webelemento a = ddriver.findelement (por.xpath ("//*[@id = 'orden']/li”));

El código "Acciones Builder = nuevas acciones (controlador)"; " creará un objeto de la clase de acciones para crear acciones compuestas. La última línea del código de muestra realizará la función de arrastrar y soltar.

Ejemplo # 2:

En este programa de ejemplo, utilizaremos el jQueryui.COM Sitio web para explicar el método de arrastrar y soltar.

Arriba está la interfaz que estamos usando. Arrascaremos el cuadro llamado "Arrastame a mi objetivo" al cuadro llamado "Drle aquí."Selenium WebDriver Coding se utilizará para hacer esto.

Ahora, comprendamos cómo ejecutar el siguiente código:

Webdrivermanager.cromedriver ().configuración();
Chromedriver ddriver = new ChromedRiver ();
ddriver.Get ("https: // jqueryui.com/droppable/");
ddriver.administrar().ventana().maximizar();
Webelement frame1 = controlador.findelement (por.xpoth ("//*[@id = rContentr]/iframe")); conductor.cambiar a().marco (marco1);
Webelement drag_me = ddriver.findelement (por.id ("draggable"));
Webelement drop_me = ddriver.findelement (por.id ("droppable"));
Acciones Action1 = Nuevas acciones (ddriver);
acción1.draganddrop (drag_me, drop_me).llevar a cabo();

Ahora, en este método de arrastre y caída, los dos argumentos se transmiten: uno es el arrastre de webelement y el otro es una caída de webelement.

La siguiente línea del código se dirigirá a la ID de elemento llamada "Draggable" para arrastrarlo desde allí.

Webelement drag_me = ddriver.findelement (por.id ("draggable"));

En esta siguiente línea de código, nos dirigimos a la identificación del elemento llamado "Droppable" para soltar el primer elemento en eso.

Webelement drop_me = ddriver.findelement (por.id ("Droppable"));

Cuando ejecutamos estas líneas de código, la primera imagen llamada "Arrastme a mi objetivo" se mueve al cuadro "soltar aquí".

Entonces, después de escribir la línea de código anterior, tenemos esta imagen.

Conclusión

Este artículo fue sobre el método de arrastrar y soltar en Selenium. En primer lugar, tenemos que mencionar cuál es exactamente el método de arrastrar y soltar. Después de eso, lo ayudamos a comprender el método de arrastrar y caer a través de dos ejemplos adecuados. Entonces, en estos ejemplos (mencionados anteriormente), utilizamos los métodos de acción del controlador web y demostramos la capacidad de arrastrar y soltar de la aplicación web de Selenium. Para arrastrar y soltar el elemento, hemos estado utilizando la función de arrastrar y soltar desde la clase de acciones. Estos parámetros son SourCelocator y DestinationLocator. Entendemos el procedimiento de arrastrar y soltar utilizando los píxeles SourCelocator, el eje x y el eje y del DestinationLocator.