Cómo usar Afirmar en Selenium

Es posible que haya ejecutado muchas pruebas utilizando varias funciones de TestNG y que nunca considere que una prueba pasa o falla durante esas ejecuciones. Ahora que estamos familiarizados con todos los principios clave de TestNG, es hora de hacer algunas pruebas reales con Selenium WebDriver en TestNG. Usaremos TestNG Asserts para este objetivo. Este artículo recorre la implementación de los métodos de aserción y describe las ventajas de las aserciones de código blando y duro. En este tutorial ejecutaremos dos casos: afirmaciones simples y afirmaciones duras y blandas. Este contenido describe el uso de la aserción suave frente a la aserción dura. Antes de escribir el script, generalmente instalamos Java JDK y Eclipse, agregamos bibliotecas jars de Selenium y configuramos las dependencias junto con los controladores del navegador.

Contenidos

Requisitos:

Antes de escribir cualquier código, debe crear un entorno de desarrollo para ejecutar y ejecutar el código. Primero, instale y configure el kit JDK y Eclipse. Después de eso, debe descargar el archivo JAR de TestNG y ponerlo en su instalación de Eclipse para usar la afirmación en el controlador web. Puede obtener archivos JAR de TestNG desde el enlace proporcionado: https://mvnrepository.com/artifact/org.testng/testng. A continuación, agregue los archivos JAR a la biblioteca de Eclipse de la siguiente manera: Vaya a Proyecto => Opción de compilación y configuración > Ruta de compilación de Java > Bibliotecas para agregar estos archivos JAR externos descargados. Ahora agregue las dependencias en el archivo Eclipse > pom.xml. io.github.bonigarciaAdministrador de controladores web5.3.1pruebaorg.apache.mavenartefacto experto artifactId>4.0.0-alfa-2

Aserción TestNG con un ejemplo:

En este tutorial cubriremos dos casos:

    1. reclamo simple
    2. Reclamo duro y suave

Caso 1:

Revisaremos los métodos básicos de aserción para la verificación.

Paso #1: Crea una clase Void

Para aplicar Assertion, necesitamos crear una clase separada «Public void» y hacer pruebas de Assertion dentro de esta clase, a diferencia de otras propiedades de Selenium de pruebas de automatización que usan la clase principal estática. prueba de título vacío público () {}

Paso #2: Configure WebDriver

En este paso, configuraremos el controlador del navegador a través del siguiente script, que el navegador Chrome usó para este tutorial. El siguiente código de secuencia de comandos utiliza: WebDriverManager.chromedriver().setup();ChromeDriver driver = new ChromeDriver();

Paso #3: Abra el navegador

En este paso, el navegador Chrome abrirá la URL del sitio web especificado. Como en este ejemplo, use el sitio web https://www.ebay.com/. Utilice el siguiente método de script: driver.get(«https://www.ebay.com/»); En la imagen a continuación, Chrome está controlado por un software de prueba automatizado.

Paso #4: Busque el título en el sitio web

En este paso, el navegador Chrome abrirá la URL del sitio web especificado. Como en este ejemplo, use el sitio web https://www.ebay.com/.
Consulte la página web y busque el título del sitio. Como se muestra en la imagen de abajo.

Electrónica, Autos, Moda, Coleccionables y Más | Ebay
Esta es la sintaxis: Variable de cadena = «Título» El título es una cadena que crea la variable Cadena.

Paso #5: Establecer el título esperado

En este paso, el título copiado de la página web se usa para crear una cadena para el título esperado. Como se muestra en el código a continuación, String creó la variable «título esperado». String ExpectedTitle = «Electrónica, Autos, Moda, Coleccionables y Más | eBay»;

Paso #6: Obtenga el título real

En este paso, obtenemos el título real usando el método getTitle(). Después de la cadena de código, creamos la variable «título real» que almacenará el método getTitle() enviado por mensaje de texto. String título actual = driver.getTitle();

Paso #7: Revisa el Título que Recibimos

En este paso, hacemos coincidir el título real con el título esperado. La sintaxis se proporciona a continuación: Assert.Method(actual, esperado) Hay muchos métodos de activos, como afirmarEqual, afirmarUnequal, etc. Como puede ver, el parámetro tiene dos valores:

    • Real: el valor que recibe el probador. Aquí, por ejemplo, se debe dar el título real de la página si la declaración del probador está de acuerdo con él.
    • Esperado: por ejemplo, si la afirmación del probador se relaciona con el título de la página, el valor esperado del título debe ir aquí.

El siguiente código que usa el método assertEqual() para hacer coincidir el título de ambos es igual o no. Assert.assertEquals(título actual, título esperado);

Paso #8: Personaliza el título de True Case

Si el título real del sitio y el título esperado coinciden, la condición es verdadera. Considere el siguiente código de ejemplo: String título esperado = «Electrónica, Autos, Moda, Coleccionables y más | eBay»;String título actual = Driver.getTitle();Assert.assertEquals(título actual, título esperado); La primera línea de código es el título esperado. Después de eso, obtenemos un título real. Luego usa el método assert() para hacer coincidir los títulos reales y esperados.

Salida en la consola

Después de ejecutar el código anterior, el resultado en la consola muestra que el código se ejecutó correctamente y la prueba PASÓ = titletest.

Paso n.º 9: caso de error de título de coincidencia

Si el título real del sitio y el título esperado coinciden, la condición falla. Salida de la consola: después de ejecutar el código anterior, la salida de la consola muestra que el código no se ejecutó correctamente y la prueba FALLÓ = titletest.

Caso 2:

En este caso pasamos por una aserción blanda y una aserción dura.

Reclamo duro y reclamo suave:

En muchos casos, existen obligaciones de ejecución. Puede tener varias afirmaciones en un solo caso de prueba. En sus casos de prueba específicos, hay de cinco a seis puntos de verificación diferentes. Entonces, ¿qué sucede con otras afirmaciones anteriores a esa afirmación en particular como si estuviera fallando en una afirmación en particular?

Escenario de ejemplo:

Verifica el título y la coincidencia del título falló. Después de eso, revisa el texto específico y algunos elementos web en la misma página.

Caso de prueba de aserción dura

Para una aserción dura, si una sola aserción falla, el script se detiene ahí.

Escenario de ejemplo:

Debido a que el título no coincide y utiliza el método Assert.arrertEquals(), el caso de prueba se detiene en ese error en particular. No puede ir más allá y verificar otros activos disponibles en el mismo caso de prueba. Los activos duros representan un desafío porque se detienen ante una sola falla. Aquí está el código de muestra que puede ejecutar y ver el resultado. Cadena de título esperada = «Electrónica, automóviles, moda, coleccionables y más | eBay»; cadena título actual = conductor.getTitle(); Assert.assertEquals(título actual, título esperado); Después de ejecutar el código anterior, la salida en Eclipse muestra que el código no se ejecutó correctamente. Y NO se pasa la prueba = titletest. Podemos observar esa advertencia en el lado derecho muestra las advertencias en color rojo y ahí se detiene la ejecución del código.

Caso de prueba de aserción suave

En el caso de una aserción suave, el script de Verificación de afirmación fallida continúa incluso si el error ocurrió allí y se registra el error. Y el guión continuará.

Paso #1: Obtener el valor del botón de búsqueda

En este paso, examinemos el sitio web https://www.ebay.com/ y obtengamos el nombre del atributo del botón de búsqueda.
La sintaxis se da a continuación: String variable = «nombre de entrada» Aquí hay un código de ejemplo: String textoesperado = «Buscar»;

Paso #2: Obtener el texto real

En este paso, obtendremos el XPath del texto real del botón de búsqueda haciendo lo siguiente: clic derecho > inspeccionar > ir a código > clic derecho en código > seleccionar opción de copia > copiar XPath= [“//*[@id=”gh-btn”]”]XPath se copiará para usted. Obtenga el valor del atributo, los atributos de la página web son (valor, tipo, clase) y elegimos el atributo de valor para este ejemplo. El método .getAttribute() se usa para obtener el atributo. La sintaxis se proporciona aquí: El código de ejemplo se menciona aquí: String actualtext = driver.findElement(By.xpath(«//*[@id=»gh-btn»]»)).getAttribute(«value»);.getAttribute(«value»); => Obtenga el valor y guárdelo en «actualtext».

Paso #3: Revisa el texto

Verifique esto con el método Assert.assertEquals(). public class VerifySoftTest {@Testpublic void searchbtnTest() lanza InterruptedException{String Expectedtitle = «Electrónica, Automóviles, Moda, Coleccionables y más | eBay»;String ExpectedText = «Buscar»;WebDriverManager.chromedriver().setup();ChromeDriver driver = nuevo ChromeDriver();driver.get(«https://www.ebay.com/»);String currentTitle = driver.getTitle();String currentText = driver.findElement(By.xpath(«//*[@id=»gh-btn»]»)).getAttribute(«valor»);System.out.println(«Verificación de título»);softassert.assertEquals(título real, título esperado, «Verificación de título fallida»);System.out.println(«Verificación de text «); softassert.assertEquals(actualText, ExpectedText, «Error en la validación del texto»);System.out.println(«Cerrar navegador»);driver.close();}

Paso #4: Ejecuta el código

Aquí ejecutamos el código mencionado en el paso 3 y observamos el resultado.

Salida en Eclipse:

Después de ejecutar el código anterior, la salida aparecerá en Eclipse. Este código se ejecutó correctamente y la prueba se APROBÓ = searchbtntest. El color verde indica la aprobación del caso de prueba.

Diploma

Es difícil encontrar un código TestNG sin afirmaciones, ya que estos son los métodos más utilizados en TestNG. Este artículo demuestra el uso del método Assert usando el marco Selenium para TestNG, el probador determina si la prueba pasó o no, así como cualquier excepción a través de una herramienta de control automático. En este tutorial, escribiremos código para configurar el controlador del navegador, iniciar el controlador del navegador y realizar aserciones simples, blandas y duras. En este contenido, aprendió cómo las afirmaciones blandas son más importantes que las afirmaciones firmes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.