Es posible que haya realizado muchas pruebas utilizando varias funciones de prueba y puede que nunca considere una prueba "aprobada" o "fallida" durante estas ejecuciones. Es hora de ejecutar algunas pruebas reales usando Selenium WebDriver en Testng ahora que estamos familiarizados con todos los principios clave en Testng. Aprovecharemos testng afirs para este objetivo. Este artículo realiza la implementación de métodos de afirmación y describe las ventajas de afirmación suave y dura del código. En este tutorial, ejecutamos dos casos: afirmaciones simples y afirmaciones duras y suaves. Este contenido describe el uso de la afirmación suave en comparación con la afirmación dura. Antes de escribir el script, tendemos a instalar Java JDK y Eclipse, agregar bibliotecas de frascos de selenio y configurar las dependencias junto con los controladores del navegador.
Requisitos:
Antes de escribir código, debe crear un entorno de desarrollo para ejecutar y ejecutar el código. En primer lugar, instale y configure el kit JDK y el eclipse. Después de eso, debe descargar e incluir el archivo jar testng en su instalación de eclipse para usar la afirmación en el controlador web. Puede obtener archivos jar testng desde el enlace dado: https: // mvnrePository.com/artefacto/org.testng/testng. Luego, agregue los archivos jar a la biblioteca de eclipse mediante el siguiente proceso: vaya a Project => Build and Configure Opción> Bibliotecas Java Build Path> para agregar esos frascos externos descargados. Ahora, agregue las dependencias al eclipse>.archivo XML.
IO.github.bonigarcia webdrivermanager 5.3.1 prueba organizar.apache.aturdir maven 4.0.0-alfa-2
Afirmación de prueba con un ejemplo:
En este tutorial, cubriremos dos casos:
Caso 1:
Pasamos por métodos básicos de afirmación para verificar.
Paso # 1: crear una clase vacía
Para aplicar la afirmación, tenemos que crear una clase separada de "vacío público" y realizar pruebas de afirmación dentro de esa clase a diferencia de otras propiedades de selenio de las pruebas de automatización utilizando la clase estática principal que.
public void titletest ()
Paso #2: Configurar el webdriver
En este paso, configuraremos el controlador del navegador a través del siguiente script, que el navegador Chrome ha estado utilizando para este tutorial. El siguiente código de script usa:
Webdrivermanager.cromedriver ().configuración();
Cromedriver controlador = nuevo ChromedRiver ();
Paso #3: Abra el navegador
En este paso, el navegador Chrome abrirá la URL del sitio web dada. Como en este ejemplo, use https: // www.eBay.com/ sitio.
Use el siguiente método de script:
conductor.Get ("https: // www.eBay.com/");
Se puede ver en la figura a continuación que Chrome está controlado por el software de prueba automatizado.
Paso #4: Buscando el título del sitio
En este paso, el navegador Chrome abrirá la URL del sitio web dada. Como en este ejemplo, use https: // www.eBay.com/ sitio.
Inspeccione la página web y encuentre el título del sitio web. Como se muestra en la figura a continuación.
Electrónica, autos, moda, coleccionables y más | eBay
Aquí está la sintaxis:
Variable de cadena = "Título"
El título es una cadena que crea la cadena variable.
Paso #5: Establezca el título esperado
En este paso, el título copiado de la página web se utilizará para crear una cadena para el título esperado.
Como se muestra en el código a continuación, la cadena creó la variable "esperado Title".
String esperadoTitle = "electrónica, autos, moda, coleccionables y más | eBay";
Paso #6: Obtenga el título real
En este paso, obtenemos el título real utilizando el método getTitle ().
Siguiendo la cadena de código, hemos creado la variable "RealTitle" que guarda el texto proporcionado getTitle () Método.
Cadena realtitle = controlador.getTitle ();
Paso #7: Verifique el título que estamos obteniendo
En este paso, coincidimos con el título real con el título esperado.
La sintaxis se da a continuación:
Afirmar.Método (real, esperado)
Existen muchos métodos de activos como afirmar, asertunequal y etc.
Como puede ver, el parámetro tiene dos valores:
El siguiente código que usa el método AfirreTequal () para que coincida con el título de ambos es el mismo o no.
Afirmar.afirmarequals (realtitle, esperado title);
Paso #8: Título del partido Caso True
Cuando el título real del sitio y la coincidencia de título esperada, la condición es verdadera.
Considere el código de ejemplo que se proporciona a continuación:
String esperadoTitle = "electrónica, autos, moda, coleccionables y más | eBay";
Cadena realtitle = controlador.getTitle ();
Afirmar.afirmarequals (realtitle, esperado title);
La primera línea del código es el título esperado. Después de eso, obtenemos un título real. Después de eso, el método afirmar () se usa para que coincida con el título real y esperado.
Salida en la consola
Después de ejecutar el código anterior, la salida muestra en la consola que el código se ejecutó correctamente y la prueba se ha pasado = Titletest.
Paso #9: Caso fallido en el título del partido
Cuando el título real del sitio y el título esperado coincide, la condición falla.
Salida en la consola:
Después de ejecutar el código anterior, la salida muestra en la consola que el código se ejecutó sin éxito y la prueba se ha fallado = Titletest.
Caso 2:
En este caso, pasamos por afirmación suave y afirmación dura.
Afirmación dura y afirmación suave:
Hay requisitos de afirmación en muchos casos. Es posible que tenga múltiples afirmaciones en el caso de prueba único. Hay cinco puntos de verificación diferentes en sus casos de prueba particulares. Como si tuviera una falla en una afirmación particular, ¿qué sucederá con otras afirmaciones que están por delante de esa afirmación particular??
Ejemplo de escenario:
Estás verificando el título y el partido falló. Después de eso, verifica cierto texto y algunos elementos web en la misma página.
Caso de prueba de afirmación dura
En afirmación dura, si alguna afirmación falló, el script se detiene allí.
Ejemplo de escenario:
Como el título no coincide y si está utilizando afirmar.método arrertequals (), luego el caso de prueba se detiene en esa falla particular. No puede ir más allá y la verificación de otros activos que están disponibles en el mismo caso de prueba. Los activos duros son un desafío porque se detienen si ocurre una sola falla.
Aquí está el código de ejemplo que puede ejecutar y ver el resultado.
String esperadoTitle = "electrónica, autos, moda, coleccionables y más | eBay";
Cadena realtitle = controlador.getTitle ();
Afirmar.afirmarequals (realtitle, esperado title);
Después de ejecutar el código anterior, la salida muestra en Eclipse que el código ejecutó sin éxito. Y la prueba se ha fallado = TITLETEST. Podemos observar que la alerta del lado derecho en color rojo indica las alertas y detener la ejecución del código allí.
Caso de prueba de afirmación suave
En el caso de la afirmación suave, el script de falla de verificación de afirmación continuará, incluso si la falla ocurrió allí y la falla se registrará. Y el guión continuará.
Paso #1: Obtenga el valor del botón de búsqueda
En este paso, inspeccionemos el https: // www.eBay.com/ sitio y obtener el nombre del atributo del botón de búsqueda.
La sintaxis se da a continuación:
Variable de cadena = "Nombre de entrada"
Aquí hay un código de ejemplo:
String esperadoText = "búsqueda";
Paso #2: Obtener texto real
En este paso, obtenemos el XPath del texto real del botón de búsqueda siguiendo los pasos:
RightClick> Inspeccionar> Código de GOTO> Código Directo> Seleccione Copiar opción> Copiar xpath = [“//*[@id =" gh-btn "]"] Copiará XPATH para usted.
Obtener valor de atributo, los atributos de la página web son (valor, tipo, clase) y seleccionamos el atributo de valor para este ejemplo .getAttribute Method () se usa para obtener el atributo.
La sintaxis se da aquí:
.getAttribute (nombre)
El código de ejemplo se menciona aquí:
String realText = controlador.findelement (por.xpath ("//*[@id =" gh-btn "]").getAttribute ("valor");
.getAttribute ("valor"); => Obtener vale y almacenar en "RealText"
Paso #3: Verifique el texto
Verificar usando Afirmar.Método Afirmarequals ().
clase pública VerifySoftTest
@Prueba
public void SearchBtntest () lanza interruptedException
String esperadoTitle = "electrónica, autos, moda, coleccionables y más | eBay";
String esperadoText = "búsqueda";
Webdrivermanager.cromedriver ().configuración();
Cromedriver controlador = nuevo ChromedRiver ();
conductor.Get ("https: // www.eBay.com/");
Cadena realtitle = controlador.getTitle ();
String realText = controlador.findelement (por.xpath ("//*[@id =" gh-btn "]").getAttribute ("valor");
Sistema.afuera.println ("verificación de título");
blando.afirmarequals (realtitle, esperado title, "verificación de título fallida");
Sistema.afuera.println ("verificación de texto");
blando.afirmarequals (realText, esperadoText, "verificación de texto fallida");
Sistema.afuera.println ("navegador cerrar");
conductor.cerca();
Paso #4: Ejecutar el código
Aquí, ejecutaremos el código mencionado en el paso # 3 y veremos la salida.
Salida en Eclipse:
Después de ejecutar el código anterior, la salida se muestra en Eclipse. Este código se ejecutó con éxito y la prueba se ha aprobado = SearchBtntest. El color verde muestra el pase del caso de prueba.
Conclusión
Es difícil encontrar un código Testng sin afirmaciones porque son los métodos más utilizados en Testng. Este artículo ilustra el uso del método ASSERT utilizando el marco de Selenium para probar, el probador determina si la prueba fue exitosa o no, así como cualquier excepción a través de una herramienta de control automático. En este tutorial, escribimos código para establecer el controlador del navegador, iniciar el controlador del navegador y ejecutar afirmaciones simples y afirmaciones suaves y duras. En este contenido, aprendió cómo la afirmación suave es más importante que la afirmación dura.