how use testng framework
En los últimos tutoriales, arrojamos luz sobre los comandos básicos y de uso común de WebDriver. También aprendimos sobre las estrategias de localización de elementos de la IU y su inclusión en los scripts de prueba. Y por lo tanto, desarrollamos nuestra propia primer script de prueba de automatización de WebDriver .
Continuando con este tutorial, discutiremos todo sobre TestNG, sus características y sus aplicaciones.
TestNG es un marco avanzado diseñado de manera que aproveche los beneficios tanto de los desarrolladores como de los evaluadores. Para las personas que ya usan JUnit, TestNG no parece diferente con algunas funciones avanzadas. Con el comienzo de los marcos, JUnit ganó una enorme popularidad entre las aplicaciones Java, los desarrolladores de Java y los probadores de Java, con un aumento notable de la calidad del código.
Ver también=> Tutorial JUnit y su uso en scripts de Selenium
A pesar de ser un marco sencillo y fácil de usar, JUnit tiene sus propias limitaciones que dan lugar a la necesidad de incorporar TestNG en la imagen. TestNG fue creado por un programador aclamado llamado 'Cedric Beust'. TestNG es un marco de código abierto que se distribuye bajo la licencia de software Apache y está disponible para su descarga.
Hablando de nuestro requisito para introducir TestNG con WebDriver es que proporciona un formato de resultado de prueba eficiente y efectivo que, a su vez, puede ser compartido con las partes interesadas para tener una idea del estado del producto / aplicación, eliminando así el inconveniente de la incapacidad de WebDriver para generar informes de las pruebas. TestNG tiene un mecanismo de manejo de excepciones incorporado que permite que el programa se ejecute sin terminar inesperadamente.
Tanto TestNG como JUnit pertenecen a la misma familia de Unit Frameworks, donde TestNG es una versión extendida de JUnit y se usa más ampliamente en la era de pruebas actual.
Lo que vas a aprender:
- Características de TestNG
- Instalación de TestNG en Eclipse
- Creación de un proyecto de muestra TestNG
- Creando la clase TestNG
- Ejecución del script TestNG
- Informes HTML
- Establecer prioridad en TestNG
- Tutorial de código
- Anotaciones de TestNG
- Conclusión
- Lectura recomendada
Características de TestNG
- Soporte para anotaciones
- Soporte para parametrización
- Metodología de ejecución avanzada que no requiere la creación de conjuntos de pruebas
- Soporte para pruebas basadas en datos utilizando proveedores de datos
- Permite al usuario establecer prioridades de ejecución para los métodos de prueba.
- Admite un entorno seguro contra amenazas al ejecutar varios subprocesos
- Admite fácilmente la integración con varias herramientas y complementos como herramientas de compilación (Ant, Maven, etc.), entorno de desarrollo integrado (Eclipse).
- Facilita al usuario medios efectivos de generación de informes utilizando ReportNG
Hay varias ventajas que hacen que TestNG sea superior a JUnit. Algunos de ellos son:
- Anotaciones avanzadas y sencillas
- Se pueden establecer patrones de ejecución
- Ejecución concurrente de scripts de prueba
- Se pueden establecer dependencias de casos de prueba
Las anotaciones están precedidas por un símbolo '@' tanto en TestNG como en JUnit.
Así que ahora comencemos con la parte de instalación e implementación.
Cuadrícula en línea para la automatización de pruebas de selenio
# 1) Prueba Lambda
El marco de trabajo TestNG se utiliza mejor con un Selenium Grid en la nube, como LambdaTest, que le ayuda a ejecutar pruebas paralelas en más de 2000 navegadores y sistemas operativos reales, sin la molestia de mantener un Selenium Grid interno.
Puede obtener una variedad de registros, como registros de comandos, registros de red, registros de Selenium sin procesar, metadatos, etc., junto con una grabación de video completa de su secuencia de comandos de prueba de Selenium para la depuración.
LambdaTest también ofrece integraciones con múltiples herramientas CI / CD como Jenkins, Travis CI, CircleCI, etc. para pruebas continuas. LambdaTest también le permite integrarse con numerosas herramientas de gestión de proyectos para facilitar el registro de errores.
=> Visite el sitio web de LambdaTestInstalación de TestNG en Eclipse
Siga los pasos a continuación para descargar e instalar TestNG en eclipse:
Paso 1: Inicie eclipse IDE -> Haga clic en la opción Ayuda dentro del menú -> Seleccione la opción 'Eclipse Marketplace ...' dentro del menú desplegable.
Paso 2: Ingrese la palabra clave 'TestNG' en el cuadro de texto de búsqueda y haga clic en el botón 'Ir' como se muestra a continuación.
Paso 3: Tan pronto como el usuario haga clic en el botón 'Ir', se mostrarán los resultados que coincidan con la cadena de búsqueda. Ahora el usuario puede hacer clic en el botón Instalar para instalar TestNG.
Paso 4: Tan pronto como el usuario hace clic en el botón Instalar, se le solicita al usuario una ventana para confirmar la instalación. Haga clic en el botón 'Confirmar'.
Paso 5: En el siguiente paso, la aplicación le pedirá que acepte la licencia y luego haga clic en el botón 'Finalizar'.
Paso 6: La instalación se inicia ahora y el progreso se puede ver de la siguiente manera:
Se nos aconseja reiniciar nuestro eclipse para reflejar los cambios realizados.
Al reiniciar, un usuario puede verificar la instalación de TestNG navegando a 'Preferencias' desde la opción 'Ventana' en la barra de menú. Consulte la siguiente figura para ver el mismo.
(Haga clic en la imagen para verla ampliada)
Creación de un proyecto de muestra TestNG
Comencemos con la creación del proyecto TestNG en eclipse IDE.
Paso 1: Haga clic en la opción Archivo dentro del menú -> Haga clic en Nuevo -> Seleccionar proyecto Java.
Paso 2: Ingrese el nombre del proyecto como “DemoTestNG” y haga clic en el botón “Siguiente”. Como paso final, haga clic en el botón 'Finalizar' y su proyecto Java estará listo.
Paso 3: El siguiente paso es configurar la biblioteca TestNG en el proyecto Java recién creado. Para lo mismo, haga clic en la pestaña 'Bibliotecas' en Configurar ruta de compilación. Haga clic en 'Agregar biblioteca' como se muestra a continuación.
Paso 4: El usuario sería sometido con un cuadro de diálogo que lo impulsaba a seleccionar la biblioteca a configurar. Seleccione TestNG y haga clic en el botón 'Siguiente' como se muestra a continuación en la imagen. Al final, haga clic en el botón 'Finalizar'.
TestNG ahora se agrega al proyecto Java y las bibliotecas requeridas se pueden ver en el explorador de paquetes al expandir el proyecto.
Agregue todas las bibliotecas y jarras de Selenium descargadas en la ruta de compilación del proyecto como se ilustra en el tutorial anterior.
Creando la clase TestNG
Ahora que hemos realizado toda la configuración básica para comenzar con la creación del script de prueba usando TestNG. Creemos un script de muestra con TestNG.
Paso 1: Expanda el proyecto 'DemoTestNG' y vaya a la carpeta 'src'. Haga clic con el botón derecho en el paquete 'src' y vaya a Nuevo -> Otro.
Paso 2: Expanda la opción TestNG y seleccione la opción de clase 'TestNG' y haga clic en el botón 'Siguiente'.
Paso 3: Proporcione los detalles requeridos de la siguiente manera. Especifique la carpeta de origen, el nombre del paquete y el nombre de la clase TestNG y haga clic en el botón Finalizar. Como es evidente en la imagen de abajo, el usuario también puede verificar varias notaciones de TestNG que se reflejarían en el esquema de la clase de prueba. Las anotaciones de TestNG se analizarán más adelante en esta sesión.
La clase TestNG mencionada anteriormente se crearía con el esquema predeterminado.
Ahora que hemos creado la base básica para el script de prueba TestNG, ahora inyectemos el código de prueba real. Estamos usando el mismo código que usamos en la sesión anterior.
Guión:
- Inicie el navegador y abra 'gmail.com'.
- Verifique el título de la página e imprima el resultado de la verificación.
- Ingrese el nombre de usuario y la contraseña.
- Haga clic en el botón Iniciar sesión.
- Cierre el navegador web.
Código:
|_+_|Explicación del código con respecto a TestNG
1) @Test - @Test es uno de los Anotaciones de TestNG . Esta anotación permite que la ejecución del programa sepa que el método anotado como @Test es un método de prueba. Para poder utilizar diferentes anotaciones de TestNG, necesitamos importar el paquete ' importar org.testng.annotations. * ”.
2) No es necesario el método main () al crear scripts de prueba con TestNG. La ejecución del programa se realiza sobre la base de anotaciones.
3) En una declaración, usamos la clase Assert al comparar el valor esperado y el real. La clase Assert se utiliza para realizar varias verificaciones. Para poder utilizar diferentes aserciones, debemos importar ' importar org.testng.Assert ”.
Ejecución del script TestNG
El script de prueba TestNG se puede ejecutar de la siguiente manera:
=> Haga clic derecho en cualquier lugar dentro de la clase dentro del editor o la clase java dentro del explorador de paquetes, seleccione la opción 'Ejecutar como' y haga clic en la 'Prueba TestNG'.
El resultado de TestNG se muestra en dos ventanas:
- Ventana de consola
- Ventana de resultados de TestNG
Consulte los siguientes screencasts para las ventanas de resultados:
consultas SQL preguntas de práctica con respuestas
(Haga clic en la imagen para verla ampliada)
Informes HTML
TestNG viene con una gran capacidad de generar informes HTML legibles y comprensibles para las ejecuciones de prueba. Estos informes se pueden ver en cualquiera de los navegadores y también se pueden ver utilizando la compilación de Eclipse, en el soporte del navegador.
Para generar el informe HTML, siga los pasos a continuación:
Paso 1: Ejecute la clase TestNG recién creada. Actualice el proyecto que contiene la clase TestNG haciendo clic derecho sobre él y seleccionando la opción 'Actualizar'.
Paso 2: Se generará una carpeta denominada 'salida de prueba' en el proyecto en el nivel de carpeta 'src'. Expanda la carpeta 'test-output' y abra el archivo 'emailable-report.html' con el navegador Eclipse. El archivo HTML muestra el resultado de la ejecución reciente.
Paso 3: El informe HTML se abrirá dentro del entorno de eclipse. Consulte la imagen de abajo para ver lo mismo.
Actualice la página para ver los resultados de las nuevas ejecuciones, si las hubiera.
Establecer prioridad en TestNG
Fragmento de código
|_+_|Tutorial de código
Si una secuencia de comandos de prueba se compone de más de un método de prueba, la prioridad de ejecución y la secuencia se pueden establecer usando la anotación TestNG “@Test” y estableciendo un valor para el parámetro de “prioridad”.
En el fragmento de código anterior, todos los métodos se anotan con la ayuda @Test y las prioridades se establecen en 0, 1 y 2. Por lo tanto, el orden de ejecución en el que se ejecutarían los métodos de prueba es:
- Método 1
- Método2
- Método3
Soporte para anotaciones
Hay una serie de anotaciones proporcionadas en TestNG y JUnit. La sutil diferencia es que TestNG proporciona algunas anotaciones más avanzadas a JUnit.
Anotaciones de TestNG
A continuación se muestra la lista de las anotaciones más útiles y favorables en TestNG:
Anotación | Descripción |
---|---|
@Después de clases | La anotación notifica al sistema que el método anotado como @AfterClass debe ejecutarse después de ejecutar el último método de prueba dentro de la misma clase de prueba |
@Prueba | La anotación notifica al sistema que el método anotado como @Test es un método de prueba |
@BeforeSuite | La anotación notifica al sistema que el método anotado como @BeforeSuite debe ejecutarse antes de ejecutar las pruebas en toda la suite. |
@DespuésSuite | La anotación notifica al sistema que el método anotado como @AfterSuite debe ejecutarse después de ejecutar las pruebas en toda la suite. |
@AntesTest | La anotación notifica al sistema que el método anotado como @BeforeTest debe ejecutarse antes de ejecutar cualquier método de prueba dentro de la misma clase de prueba |
@Después de la prueba | La anotación notifica al sistema que el método anotado como @AfterTest debe ejecutarse después de ejecutar cualquier método de prueba dentro de la misma clase de prueba |
@Antes de clase | La anotación notifica al sistema que el método anotado como @BeforeClass debe ejecutarse antes de ejecutar el primer método de prueba dentro de la misma clase de prueba |
@BeforeMethod | La anotación notifica al sistema que el método anotado como @BeforeMethod debe ejecutarse antes de ejecutar todos y cada uno de los métodos de prueba dentro de la misma clase de prueba |
@AfterMethod | La anotación notifica al sistema que el método anotado como @AfterMethod debe ejecutarse después de ejecutar todos y cada uno de los métodos de prueba dentro de la misma clase de prueba |
@AntesGrupos | La anotación notifica al sistema que el método anotado como @BeforeGroups es un método de configuración que alista un grupo y que debe ejecutarse antes de ejecutar el primer método de prueba del grupo. |
@AfterGroups | La anotación notifica al sistema que el método anotado como @AfterGroups es un método de configuración que alista un grupo y que debe ejecutarse después de ejecutar el último método de prueba del grupo. |
Nota : Muchas de las anotaciones mencionadas anteriormente también se pueden ejecutar en el marco JUnit 3 y JUnit 4.
Conclusión
A través de este tutorial, tratamos de familiarizarlo con un marco de prueba basado en Java llamado TestNG. Comenzamos la sesión con la instalación del framework y avanzamos con la creación del script y los temas avanzados. Discutimos todas las anotaciones proporcionadas por TestNG. Implementamos y ejecutamos nuestro primer script de prueba TestNG usando anotaciones y afirmaciones.
Resumen del artículo:
- TestNG es un marco avanzado diseñado para aprovechar los beneficios tanto de los desarrolladores como de los probadores.
- TestNG es un marco de código abierto que se distribuye bajo la licencia de software Apache y está disponible para su descarga.
- TestNG se considera superior a JUnit debido a sus características avanzadas.
- Características de TestNG
- Soporte para anotaciones
- Metodología de ejecución avanzada que no requiere la creación de conjuntos de pruebas
- Soporte para parametrización
- Soporte para pruebas basadas en datos utilizando proveedores de datos
- Establecer prioridades de ejecución para los métodos de prueba
- Admite un entorno seguro contra amenazas al ejecutar varios subprocesos
- Admite fácilmente la integración con varias herramientas y complementos como herramientas de compilación (Ant, Maven, etc.), entorno de desarrollo integrado (Eclipse).
- Facilita al usuario medios efectivos de generación de informes utilizando ReportNG
- Ventajas de TestNG sobre JUnit
- Avanzado agregado y anotaciones fáciles
- Se pueden establecer patrones de ejecución
- Ejecución concurrente de scripts de prueba
- Se pueden establecer dependencias de casos de prueba
- TestNG está disponible gratuitamente y se puede instalar fácilmente en el IDE de Eclipse utilizando Eclipse Market.
- Tras la instalación, TestNG estaría disponible como una biblioteca dentro del entorno de Eclipse.
- Cree un nuevo proyecto Java y configure la ruta de compilación utilizando una biblioteca TestNG.
- Cree una nueva clase TestNG expandiendo el proyecto TestNG creado y recorra su carpeta 'src'. Haga clic con el botón derecho en el paquete 'src' y vaya a Nuevo -> Otro. Seleccione la opción de clase TestNG.
- @Test es una de las anotaciones proporcionadas por TestNG. Esta anotación permite que la ejecución del programa sepa que el método anotado como @Test es un método de prueba. Para poder utilizar diferentes anotaciones de TestNG, necesitamos importar el paquete ' importar org.testng.annotations. * ”.
- No es necesario el método main () al crear scripts de prueba con TestNG.
- Usamos la clase Assert mientras comparamos el valor esperado y el real. La clase Assert se utiliza para realizar varias verificaciones. Para poder utilizar diferentes aserciones, debemos importar ' importar org.testng.Assert ”.
- Si una secuencia de comandos de prueba se compone de más de un método de prueba, la prioridad de ejecución y la secuencia se pueden establecer usando la anotación TestNG “@Test” y estableciendo un valor para el parámetro de “prioridad”.
- TestNG tiene la capacidad de generar automáticamente informes de ejecución de pruebas legibles por humanos. Estos informes se pueden ver en cualquiera de los navegadores y también se pueden ver utilizando el soporte de navegador integrado de Eclipse.
Siguiente tutorial n. ° 13 : Continuando con los próximos tutoriales de la serie Selenium, nos concentraríamos en manejar los diversos tipos de elementos web disponibles en las páginas web. Por lo tanto, en el siguiente tutorial, concentraríamos nuestro enfoque en los 'menús desplegables' y ejercitaremos sus estrategias de manejo. También discutiremos sobre la clase Select de WebDriver y sus métodos para seleccionar valores en los menús desplegables.
Un comentario para los lectores : Mientras nuestro próximo tutorial de la serie Selenium está en el modo de procesamiento, los lectores pueden comenzar a crear sus propios scripts básicos de WebDriver utilizando el marco TestNG.
Para scripts y conceptos más avanzados, incluya tantas anotaciones y afirmaciones en sus clases de TestNG y ejecútelas usando el entorno de TestNG. Además, analice los informes HTML generados por TestNG.
Lectura recomendada
- Cómo usar Firebug para crear scripts de Selenium - Tutorial de Selenium n. ° 4
- Introducción a JUnit Framework y su uso en Selenium Script - Tutorial de Selenium n. ° 11
- Aprenda a usar las anotaciones de TestNG en Selenium (con ejemplos)
- Tutorial de Cucumber Selenium: Integración de Cucumber Java Selenium WebDriver
- Cómo localizar elementos en los navegadores Chrome e IE para crear scripts de Selenium - Tutorial de Selenium n. ° 7
- Creación de marco de Selenium y acceso a datos de prueba desde Excel - Tutorial de Selenium n. ° 21
- Creación de genéricos y conjuntos de pruebas: tutorial de Selenium n. ° 22
- Tutoriales detallados de Eclipse para principiantes