Introducción a las anotaciones de TestNG

Como sabemos, TestNG es un marco de automatización de pruebas que se usa junto con el marco de Selenium para facilitar el proceso de automatización de pruebas. Pero surge la pregunta de qué es la anotación y por qué se usan. Las anotaciones en TestNG son una instrucción / código que se agrega en el código para indicar al compilador que controle el flujo de ejecución de casos de prueba de acuerdo con los requisitos específicos. Como existe una secuencia de los métodos, variables y funciones que deben seguirse para ejecutar los casos de prueba correctamente. Las anotaciones de TestNG guían esto al compilador con las anotaciones simples y fáciles de entender y, por lo tanto, no hay necesidad de usar el método principal estático en el programa que especifica el inicio de la ejecución del código.

TestNG Anotaciones

Hay varias anotaciones de TestNG y cada anotación se usa para un propósito diferente. Las anotaciones con sus explicaciones se mencionan a continuación:

1. @BeforeSuite: este método anotado se ejecuta antes de ejecutar todas las pruebas en un conjunto de pruebas.

2. @AfterSuite: este método anotado se ejecuta después de ejecutar todas las pruebas en un conjunto de pruebas en particular.

3. @BeforeTest: este método anotado se ejecuta antes de cualquier método de prueba relacionado con la clase que se define dentro de la etiqueta.

4. @AfterTest: este método anotado se ejecuta después de ejecutar cada método de prueba relacionado con la clase que se define dentro de la etiqueta.

5. @BeforeClass: este método anotado se ejecuta solo una vez y se ejecuta antes del primer método de prueba de la clase mencionada.

6. @AfterClass: este método anotado se ejecuta solo una vez y se ejecuta después de ejecutar todos los métodos de prueba de la clase mencionada / actual.

7. @Test: este método anotado marca cualquier clase o método como parte de una prueba que necesita ser probada. Tiene varios parámetros que se mencionan a continuación:

  • alwaysRun: el método de prueba siempre se ejecuta si esto se establece en true sin importar el caso de prueba del que depende se falla.
  • dataProvider: define el nombre del proveedor de datos para el caso de prueba.
  • depende de los métodos: define la lista de métodos de los que depende ese método en particular.
  • depende de los grupos : Esto define la lista de grupos de los que depende ese método en particular.
  • Descripción : define la descripción del método
  • Habilitado : define si el método está habilitado o no. Si se establece en falso, entonces ese método no se ejecuta o se considera como no presente.
  • Prioridad : Define la prioridad del método de prueba en particular después del cual debe ejecutarse. Los valores de Prioridad más baja se programan primero y si los casos de prueba no están definidos con ningún valor de prioridad, entonces TestNG asigna un valor de prioridad predeterminado (0).
  • successPercentage : define el porcentaje de éxito que se espera de ese método.
  • invocationCount : como su nombre indica, especifica el número de veces que se llama al método.
  • timeOut : define el número máximo de veces que un caso de prueba en particular debería tardar en ejecutarse. Se define en milisegundos.
  • InvocationTimeOut : Al igual que timeOut, especifica el número de milisegundos que debe tomar un método para completar todos los recuentos de invocación. Sus valores siempre se proporcionan en milisegundos.

8. @BeforeMethod: este método anotado se ejecuta antes de cada método de prueba.

9. @AfterMethod: este método anotado se ejecutará después de cada método de prueba.

10. @BeforeGroups: este método anotado se ejecutará antes del primer método de prueba del grupo respectivo que es parte de la ejecución.

11. @AfterGroups: este método anotado se ejecutará después de todos los métodos de prueba o después de invocar el último método del grupo respectivo, que es parte de la ejecución.

12. @DataProvider: este método anotado se utiliza para proporcionar los datos al método de prueba. Se puede usar con cualquier método @test para proporcionar la entrada. Se utiliza para proporcionar los parámetros complejos a los métodos @test que no se pueden proporcionar en el archivo XML. Cada @DataProvider debe devolver Object () () donde a cada Object () se le asigna la lista de parámetros del método de prueba. Tiene un atributo como 'nombre' que debe proporcionarse, si el programador no lo menciona, entonces su valor se establece en el nombre del método. Tiene un atributo con el nombre 'paralelo' que por defecto es 'falso'. Si se establece en verdadero, entonces todos los casos de prueba

13. @Listeners: esta anotación se utiliza para definir los oyentes en un método de prueba.

14. @Parameters: esta anotación se utiliza para definir los parámetros en un método de prueba. El atributo 'Valor' se usa con todos los nombres de variables que se usan como parámetros.

15. @Factory: esta anotación se utiliza para marcar cualquier método de prueba como una fábrica y devuelve el objeto (Object ()) que el archivo TestNG utiliza como clases TestNG.

Ventajas de las anotaciones de TestNG

A continuación se presentan algunas de las ventajas de las anotaciones de TestNG:

  • TestNG es un marco utilizado con el Selenium que tiene anotaciones que proporcionan una forma fácil y sencilla de controlar el flujo de ejecución de casos de prueba automatizados.
  • TestNG ayuda a ejecutar / ejecutar los casos de prueba de forma paralela.
  • TestNG proporciona la facilidad de priorización de casos de prueba de acuerdo con los requisitos del programador.
  • TestNG ayuda a agrupar casos de prueba y ejecutarlos en consecuencia.
  • TestNG proporciona una excelente forma de generación de informes de acuerdo con los resultados de la prueba.
  • TestNG está fuertemente tipado, lo que define la capacidad de una fuerte comprobación de errores.
  • Proporciona una manera fácil de pasar parámetros y proporcionar entradas a los casos de prueba.
  • TestNG también puede conectarse a fuentes de datos externas.
  • No hay necesidad de un patrón o formato que deba seguirse para la ejecución de casos de prueba. Las anotaciones brindan la posibilidad de llamar a los métodos de acuerdo con los requisitos específicos.
  • TestNG genera informes basados ​​en HTML que representan los datos en un formato gráfico que es fácil y más conveniente de entender.

Conclusión

La descripción anterior explica claramente las diversas anotaciones de TestNG y el propósito de cada anotación en el control del flujo. Aunque las anotaciones de TestNG son muy fáciles de usar y podemos usarlo de acuerdo con los requisitos, se debe obtener una comprensión profunda de cada anotación antes de usarlas en la automatización de la prueba.

Artículos recomendados

Esta es una guía para las anotaciones de TestNG. Aquí discutimos varias anotaciones de TestNG con ventajas. También puede consultar nuestros otros artículos relacionados para obtener más información.

  1. Anotaciones Java
  2. Instalar TestNG
  3. Prueba de unidad AngularJS
  4. Pruebas de compatibilidad