Cómo usar los localizadores en selenio

Cómo usar los localizadores en selenio
Los localizadores, como botones, cuadros de texto, casillas de verificación y otros controles, se utilizan para identificar de manera única los elementos web del sitio web. Este artículo realiza la implementación y descripción básica de ocho localizadores de cómo recuperar dichos localizadores de la página web y realizar alguna acción en el sitio web utilizando dichos localizadores. Para hacer esto, creamos un entorno ejecutable y configuramos dependencias. En este artículo, aprenderá cómo obtener la ID, la clase, el enlace, el nombre, el XPath y el nombre de la etiqueta del Sitio y hacer que dichos localizadores realicen algunas acciones en el sitio, como Tipo y Click.

¿Qué son los localizadores en Selenium??

En Selenium, se utiliza un localizador para identificar de manera única cada elemento web en una página web, al igual que una dirección. En otras palabras, es un método para usar varias técnicas de identificación para reconocer un objeto en una página web de manera específica. Identificar con precisión el elemento o el elemento en la página web es el objetivo fundamental de emplear a los localizadores de elementos.

Los elementos en una página web se pueden interactuar con los localizadores de elementos en Selenium WebDriver. La acción se puede realizar en el componente una vez que se reconoce. Los elementos web son cualquier elemento presente en una página web y se puede ubicar utilizando cualquier forma de localizador.

Tipos de localizadores en selenio

Existen diferentes tipos de localizadores que se utilizan para diferentes propósitos. En selenio, usamos la clase "por" para acceder a los localizadores. Selenium admite ocho localizadores para identificar los elementos que incluyen el nombre de clase, ID, CSSSelector, LinkText, ParteLinkText, Name, TagName y XPath.

Estrategias de localización con ejemplos

En este tutorial, cubriremos los ocho tipos básicos de localización. Vamos a empezar!

Considere, para la ilustración, una página de cuenta de usuario de inicio de sesión que se encuentra en https: // www.Saucedemo.com/.

Un formulario de inicio de sesión con dos campos de entrada, "nombre de usuario" y "contraseña", y un campo de botón se muestran en la figura anterior.

Ahora, aprenderemos a pasar los diversos localizadores para identificar el cuadro de entrada de "nombre de usuario" en la página web.

Paso 1: Localización por ID

Las ID son el método más utilizado para identificar el elemento específico. Es una referencia especial que establece el programador mientras escribe el código para un objeto web. Aunque es ideal para que la identificación no aparezca más de una vez en una página, los navegadores proporcionan excepciones a esta regla. Sin una pregunta, la identificación es el localizador más efectivo en Selenium.

Para encontrar la identificación en la página web, vaya al sitio e inspeccione el "nombre de usuario". Obtendrá el campo como se muestra en la siguiente figura:

Aquí, puede encontrar la siguiente sintaxis:

id = "ID del elemento"

Ejemplo:
El siguiente es un código de muestra para su comprensión:

conductor.findelement (por.id ("nombre de usuario")).sendkeys ("testingbyid");

Producción:

En la figura anterior, la salida muestra que el método sendKeys () pasa el "TestingById" al nombre de usuario utilizando el localizador de nombres de clase utilizando el localizador de ID, por.identificación().

Paso 2: Localización por nombre

La herramienta ideal para verificar un formulario de inicio de sesión es un localizador de nombres de campo porque los nombres son únicos en su mayoría pero no siempre. Por eso es mejor utilizar los localizadores con un esquema diferente cuando hay varios tipos de inicio de sesión en la misma página.

Es similar a la identificación de búsqueda del elemento, solo reemplazando la identificación a nombre como name = "". Para encontrar el nombre en la página web, aplique el mismo método que se describió en el paso 1.

La sintaxis está escrita en lo siguiente:

nombre = "Nombre del elemento"

Aquí hay un ejemplo de codificación para su referencia:

conductor.findelement (por.nombre ("Nombre de usuario"))).sendKeys ("testingByName");

Producción:
Se puede ver a partir de la siguiente figura que muestra que el método sendKeys () pasa el "testingByName" al nombre de usuario utilizando el localizador de nombres, por.nombre().

Paso 3: Localización por clase

El nombre de clase de un elemento se encuentra utilizando el localizador de nombre. El elemento inicial en una página web es alcanzado por el localizador de clases utilizando una propiedad de clase especificada.

Use el procedimiento que se describió en el Paso 1 para ubicar el nombre en el sitio web.

Sintaxis:
class = "Clase del elemento"

Ejemplo:

conductor.findelement (por.classname ("form_input")).sendKeys ("TestingByClass");

Producción:
Muestra que el método sendkeys () pasa el "testingByClass" al nombre de usuario utilizando el localizador de clases, por.nombre de la clase().

Paso 4: Localización por XPath

XPath se usa cuando el elemento no tiene una clase, nombre o propiedad de ID a la que se puede acceder por él. Los localizadores de XPath ayudan a encontrar el elemento en la página web. Los localizadores, usando XPath, son sólidos y confiables. Es una técnica que utiliza una expresión de XPath para garantizar la ubicación de cualquier elemento en la página.

Para encontrar el XPATH, haga clic derecho> Inspeccionar> Vaya al código> Haga clic derecho en Código> Seleccione Copiar opción> Copiar XPATH. Copia el xpath para ti.

Sintaxis:
nombre = "xpath del elemento"

Ejemplo:

conductor.findelement (por.XPATH ("//*[@id =" Nombre de usuario "]")).sendkeys ("testingbyxpath");

Producción:
La salida muestra que el método sendkeys () pasa el "testingbyxpth" al nombre de usuario utilizando el localizador XPath, por.XPATH ().

Paso 5: Locación por LinkText

El localizador de LinkText se usa cuando necesitamos actuar con texto de hipervínculo. Podemos acceder al enlace agregando "link =" antes de nuestro enlace dirigido.

Para encontrar el LinkText en la página web, vaya al sitio e inspeccione el "Nombre de usuario". Obtendrá el campo como se muestra en la siguiente figura:

Sintaxis:
link = "link_text"

Ejemplo:

conductor.Get ("https: // www.selenio.dev/documentación/webdriver/elements/localators/");
conductor.findelement (por.LinkText ("Introducción")).hacer clic();

Obtenemos la URL y seleccionamos el enlace de anclaje para hacer clic automáticamente en el submenú "Comenzando" usando el método Click ().

Producción:
La siguiente figura muestra la salida del método Click () que abre automáticamente la URL "Inicio" utilizando el localizador de LinkText, mediante.Texto del enlace().

Paso 6: Localización por texto de enlace parcial

Este paso es el mismo que en el paso 5. Aquí, no necesitamos escribir el inntexto completo para abrir la URL, pero podemos acceder al enlace con el texto parcial.

Sintaxis:
link = ”parcial_link_text"

Ejemplo:
Aquí, observamos que el mismo código se usa como LinkText, pero damos un título parcial del enlace de anclaje para cargar la página.

conductor.Get ("https: // www.selenio.dev/documentación/webdriver/elements/localators/");
conductor.findelement (por.parciallinkText ("obtener")).hacer clic();

Paso 7: Localización por CSSSelector

Para identificar el elemento en la página web, use el localizador CSSSELECT.

Para encontrar el nombre en la página web, aplique el mismo método que se describió en el paso 5.

Sintaxis:
class = "Clase del elemento"

Ejemplo:

conductor.findelement (por.cssselector ("form_input")).sendKeys ("TestingByClass");

Producción:
La salida muestra que el método sendKeys () pasa el "testingByClass" al nombre de usuario utilizando el localizador de clases, por.nombre de la clase().

Paso 8: Localización por TagName

Aquí hay div, entrada, p. En este tutorial, usamos la etiqueta para identificar el elemento.

Sintaxis:
etiqueta = "nombre de la etiqueta"

Ejemplo:

conductor.findelement (por.TagName ("Entrada"))).sendKeys ("TestingBytagBame");

Producción:
Podemos observar a partir de la siguiente figura que el método sendkeys () pasa el "testingByBame" al nombre de usuario utilizando el localizador de entrada, por.TagName ().

Conclusión

Este artículo guía el uso de localizadores en el marco de Selenium para identificar los elementos de una página web a través de una herramienta de control automático. Para esto, instalamos el Java JDK y Eclipse junto con las bibliotecas de Selenium JAR para "Automatizar el software de herramientas de control" en el sistema. Usando el idioma Java, escribimos el código para establecer el controlador del navegador. Luego, aplicamos las estrategias de ocho localizadores utilizando las bibliotecas de Selenium como clase, nombre, identificación, etiqueta, texto de enlace y texto de enlace parcial. Aprendimos a saber si una etiqueta/elemento no tiene un nombre, identificación o clase; cómo podemos identificar ese elemento; y cómo hacer clic y escribir el texto automáticamente.