Todo lo que necesita saber sobre las anotaciones TestNG en Selenium



Este artículo sobre las anotaciones de TestNG en Selenium lo ayudará a comprender las diversas anotaciones que admite TestNG en Selenium con la ayuda de ejemplos.

Desde el concepto de se ha introducido, muchas metodologías de prueba han evolucionado, los paradigmas han cambiado pero los requisitos de alguna manera triunfaron para permanecer constantes. Una de esas metodologías es TestNG lo que nos ayuda a agrupar los casos de prueba en diferentes secciones de código con la ayuda de Anotaciones. pero como funciona? Comprendamos este concepto a través de este artículo sobre las anotaciones de TestNG en .

Cubriré los temas que se mencionan a continuación en este artículo:





analizar archivos xml en java

Introducción a TestNG

TestNG representa Prueba la próxima generación y es un marco de automatización de pruebas de código abierto inspirado en JUnit y NUnit. Bien, TestNG no solo está inspirado, sino que es una versión mejorada de estos dos marcos. Entonces, ¿cuál es la actualización aquí? La actualización con TestNG es que proporciona funcionalidad adicional como anotaciones de prueba, agrupación, priorización, parametrización y técnicas de secuenciación en el código que no era posible antes.

Introducción a TestNG - Anotaciones de TestNG - EdurekaNo solo gestiona los casos de prueba, sino que también se pueden obtener informes detallados de las pruebas utilizando TestNG. Habrá un resumen detallado que mostrará el número de casos de prueba que han fallado. Además, los errores se pueden localizar con precisión y corregir lo antes posible. Ahora que sabe qué es TestNG, veamos por qué utilizar TestNG en Selenium.



¿Por qué utilizar TestNG en selenio?

Los desarrolladores de software de todo el mundo estarán de acuerdo unánimemente en que escribir código en casos de prueba les ahorra una buena parte de su tiempo de depuración. ¿Por qué? Esto se debe a que los casos de prueba ayudan a crear un código sólido y sin errores al dividir todo el código en casos de prueba más pequeños y, luego, al evaluar cada uno de estos casos de prueba en condiciones de aprobación / falla, puede crear código sin errores. Ya que no admite la ejecución de código en casos de prueba, TestNG entra en escena, lo que ayudará en la ejecución de los casos de prueba.

TestNG también admite las siguientes funciones:

  • Genera el informe en un formato adecuado que incluye una cantidad de casos de prueba ejecutados, la cantidad de casos de prueba fallidos y casos de prueba que se han omitido.
  • Se pueden agrupar varios casos de prueba más fácilmente convirtiéndolos en un archivo TestNG.xml. Aquí, puede establecer las prioridades para ejecutar los casos de prueba.
  • Con TestNG, puede ejecutar varios casos de prueba en varios navegadores, es decir, pruebas en varios navegadores .
  • El marco de prueba se puede integrar fácilmente con herramientas como Maven, Jenkins, etc.

Ahora que sabe qué es TestNG y por qué se usa, avancemos más y conozcamos las diversas anotaciones que admite TestNG en Selenium.

Anotaciones de TestNG

Las anotaciones de TestNG en Selenium se utilizan para controlar el siguiente método que se ejecutará. Las anotaciones de prueba se definen antes de cada método en el código de prueba. En caso de que algún método no tenga como prefijo anotaciones, ese método se ignorará y no se ejecutará como parte del código de prueba. Para definirlos, los métodos deben anotarse simplemente con ' @Prueba ‘.



Tipos de anotaciones de TestNG:

A continuación se muestra la lista de anotaciones que admite TestNG en selenio.

  • @BeforeMethod: Un método con esta anotación se ejecutará antes de cada @prueba método anotado.
  • @AfterMethod: Este la anotación se ejecutará después de cada @prueba método anotado.
  • @Antes de clase: Esta anotación se ejecutará antes primer examen ejecución del método. Se ejecuta solo una vez por clase.
  • @Después de la clase: T su anotación se ejecutará después de que se hayan ejecutado todos los métodos de prueba en la clase actual
  • @BeforeTest: Un método con esta anotación se ejecutará antes primer examen método anotado.
  • @Después de la prueba: Un método con esta anotación se ejecutará cuando todos @Prueba Los métodos anotados completan la ejecución de aquellas clases que están dentro de la etiqueta en TestNG.xml archivo.
  • @BeforeSuite: Esta anotación se ejecutará solo una vez antes todas las pruebas de la suite se han ejecutado
  • @AfterSuite: Se ejecutará un método con esta anotación una vez despues la ejecución de todas las pruebas en la suite se ha ejecutado
  • @BeforeGroups: Este método anotado se ejecutará antes de la primera prueba de funcionamiento de ese grupo específico.
  • @AfterGroups: Este método anotado se ejecutará después de todos los métodos de prueba de ese grupo completa su ejecución.

Entonces, esto se trata de Anotaciones en TestNG. Ahora avancemos más y entendamos cómo escribir un primer caso de prueba usando TestNG.

Creación de casos de prueba con anotaciones de TestNG

Los diversos pasos involucrados en la creación de casos de prueba usando TestNG Annotation son los siguientes:

  1. Cree un proyecto y agregue la biblioteca TestNG.
  2. Crea un archivo de clase y codifica el programa
  3. Finalmente, escriba el archivo XML y ejecútelo en TestNG Suite.

Si desea obtener más detalles sobre cómo escribir un caso de prueba con TestNG, consulte este artículo en Tutorial de TestNG . Ahora, avancemos más y entendamos cómo las anotaciones de TestNG lo ayudarán a agrupar los casos de prueba y configurar su programa.

Caso de prueba 1:

En este caso de prueba, usaré tres anotaciones diferentes y codificaré el programa. Comprendamos cómo hacerlo con el siguiente ejemplo.

package co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test public class AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' public WebDriver driver @BeforeTest public void launchBrowser () {System.out.println ('iniciando el navegador Chrome') System.setProperty ('webdriver.chrome.driver', driverPath) driver = new ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String esperabaTitle = 'Capacitación en línea dirigida por un instructor con soporte de por vida 24X7 @AfterTest public void terminateBrowser () {driver.close ()}}

Básicamente, quiero comprobar si el título real de la página web de Edureka coincide con el título esperado o no. Entonces, primero estoy usando ' @BeforeTest ' Anotación y creación de una instancia del controlador del navegador y navegación a través del sitio web de Edureka utilizando el driver.get () método. Estos son los pasos que se deben realizar antes de la prueba.

A continuación, durante esta prueba, quiero comprobar si el título esperado y el título real coinciden o no. Es por eso que estoy especificando todos los pasos con @Test Annotation. Finalmente, quiero cerrar el controlador y terminar el navegador después de la prueba. Por eso estoy usando @Después de la prueba Anotación y cierre del controlador. Así es como estoy agrupando todo el código en varias anotaciones y ejecutando el caso de prueba. Ejecutemos el programa como TestNG Test y verifiquemos la salida.

Puede ver en la instantánea que el caso de prueba se ejecutó correctamente en una prueba y suite predeterminadas. Además, el caso de prueba pasó y tampoco hubo fallas.

Ahora veamos un ejemplo más para comprender el flujo de ejecución de varias anotaciones en profundidad. Es muy necesario conocer el flujo de ejecución de las anotaciones. Por lo tanto, echemos un vistazo a la instantánea a continuación para conocerlo.

cómo lanzar un doble a un int

El flujo de ejecución de anotaciones será como se muestra en la instantánea anterior. Ahora veamos un ejemplo más para entender lo mismo.

Caso de prueba 2:

package co.edureka.pages import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass import org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test public class testngAnnotations {// Caso de prueba 1 @Test public void testCase1 () {System.out.println ('Test Case 1')} // Test Case 2 @Test public void testCase2 () {System.out.println ('Test Case 2')} @BeforeMethod public void beforeMethod () {System.out.println ('Before Method ')} @AfterMethod public void afterMethod () {System.out.println (' After Method ')} @BeforeClass public void beforeClass () {System.out.println (' Before Class ')} @AfterClass public void afterClass ( ) {System.out.println ('After Class')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public void afterTest () {System.out.println ('After Test')} @BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( 'After Suite')}}

En el código anterior, estoy escribiendo aleatoriamente todos los métodos con Anotaciones. No estoy siguiendo la secuencia. Pero, cuando ejecuto el programa, seguirá el mismo orden. Ahora revisemos la salida.

[RemoteTestNG] detectó TestNG versión 6.14.2 Antes de la suite Antes de la prueba Antes de la clase Antes del método Caso de prueba 1 Después del método Antes del método Caso de prueba 2 Después del método Después de la clase Después de la prueba PASADA: testCase1 PASADA: testCase2 =========== ==================================== Prueba predeterminada Las pruebas se ejecutan: 2, Fallos: 0, Saltos: 0 ============================================= Después de Suite = ============================================== Suite predeterminada Total de pruebas ejecutar: 2, Fallos: 0, Saltos: 0 ======================================= ========

En el resultado anterior, puede observar que ejecutó tanto los casos de prueba como Before Suite y After Suite ejecutados solo una vez. Además, la prueba se ejecutó correctamente en la suite y la prueba predeterminadas. Así es como debe ejecutar los casos de prueba utilizando Anotaciones.Eso nos lleva al final de este artículo sobre anotaciones de TestNG en Selenium.

Espero que haya entendido los conceptos y haya agregado valor a sus conocimientos. Ahora, si desea obtener más información sobre Selenium, puede consultar el artículo sobre .

Si encontró este 'TestNG Annotations in Selenium 'Relevante, revisar la por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo.

Tienes una pregunta para nosotros? Por favor, menciónelo en la sección de comentarios de Anotaciones TestNG en selenio artículo y nos pondremos en contacto con usted.