learn how use testng annotations selenium
TestNG, como la mayoría de ustedes saben, es una automatización marco ampliamente utilizado en selenio . Es importante que todos los probadores comprendan las anotaciones que se utilizan al trabajar con TestNG.
En pocas palabras, las anotaciones de TestNG son líneas de código que se insertan en el programa / lógica empresarial para controlar cómo se ejecutarán los métodos siguientes.
En este artículo, me enfocaré en la importancia de los diferentes tipos de anotaciones y su uso.
A continuación, he compartido la configuración utilizada para mi proyecto. Esto no necesariamente tiene que seguirse para su proyecto.
Las anotaciones difieren según los requisitos de su proyecto. Sin embargo, el flujo de ejecución será el mismo.
Prerrequisitos:
- Instale TestNG en Eclipse. Controlar este tutorial sobre la guía de instalación .
- JDK - Kit de desarrollo de Java
- Las anotaciones solo se pueden usar con la versión Java 1.5 o superior
Antes de escribir scripts de prueba o configurar un proyecto, debemos conocer la jerarquía en la que funcionan las anotaciones. La ejecución siempre será la misma.
Por ejemplo, compile y ejecute el siguiente script y observe el orden de ejecución. Será como sigue:
- AntesSuite
- Antes de la prueba
- Antes de clase
- AntesMétodo
- Caso de prueba 1
- AfterMethod
- AntesMétodo
- Caso de prueba 2
- AfterMethod
- Después de clases
- Después de la prueba
- AfterSuite
Ejemplo:
|_+_|Podemos dividir el proceso del script de prueba en los siguientes pasos:
- Escriba la lógica empresarial de su prueba e insértela arriba Anotaciones de TestNG en tu código
- Agregue la información sobre su prueba (por ejemplo, el nombre de la clase, los grupos, los métodos que desea ejecutar, etc.) en un testng.xml expediente.
- Ejecutar TestNG
Pero la pregunta sigue siendo: ¿qué información debemos proporcionar en las anotaciones anteriores?
Eche un vistazo a los pasos importantes que podemos lograr utilizando las anotaciones anteriores:
#1) @Prueba
Esta es la parte principal de nuestro script de automatización donde escribiremos la lógica empresarial, las cosas que queremos automatizar. Podemos pasar atributos a nuestro método de prueba.
A continuación se muestran las listas de atributos que podemos pasar a nuestro método de prueba:
- siempre corre : Se utiliza cuando queremos asegurarnos de que un método siempre se ejecuta incluso si los parámetros de los que depende el método fallan. Si se establece en verdadero, este método de prueba siempre se ejecutará. P.ej: @Test (alwaysRun = true)
- proveedor de datos : TestNG dataProvider se utiliza para proporcionar cualquier dato para la parametrización. P.ej. @Test (dataProvider = 'Hola').
- dataProviderClass : Esta es la clase desde donde pasamos los datos al proveedor de datos. En nuestro caso, el nombre de la clase dataProvider es 'Hola'.
- dependsOnGroups : Es la lista de grupos de los que depende este método. P.ej: @Test (grupos = {'Ciudad', 'Estado'})
- dependsOnMethods: Este comando se usa para ejecutar un método basado en su método dependiente. P.ej: @Test (dependsOnMethods = {'OpenBrowser', 'database is up'})
- descripción : Es la descripción del método. P.ej: @Test (descripción = 'método de prueba')
- invocationCount : Se refiere a la cantidad de veces que se debe invocar un método. Funcionará como un bucle. P.ej: @Test (invocationCount = 7) . Por lo tanto, este método se ejecutará 7 veces.
- invocationTimeOut : Esto se refiere a la cantidad máxima de milisegundos que debe tomar un método para que se complete todo el invocationCount. Este atributo se ignorará si no se especifica invocationCount. P.ej: @Test (invocationCount = 7, invocationTimeOut = 30)
- prioridad : Este comando establece la prioridad del método de prueba. Las prioridades más bajas se programarán primero. P.ej: @Test (prioridad = 1)
#2)@BeforeSuite y @AfterSuite
En @BeforeSuite método anotado, puede configurar e iniciar selenio conductores y en @DespuésSuite método anotado, puede detener los controladores Selenium
Ejemplo :
|_+_|#3)@BeforeClass y @AfterClass
En @Antes de clase método anotado, puede configurar sus propiedades de Firefox, inicializar su controlador y así sucesivamente y en @Después de clases método anotado, puede detener el controlador
Ejemplo :
|_+_|#4)@BeforeMethod y @AfterMethod
En @BeforeMethod método anotado, puede verificar la conexión de la base de datos antes de ejecutar su método de prueba y en @AfterMethod método anotado, puede cerrar su conexión de base de datos
Ejemplo :
|_+_| |_+_|#5)@BeforeTest y @AfterTest
En @BeforTest método, puede configurar sus preferencias de perfil de Firefox y en @Después de la prueba método, puede poner un código que generará el resultado de la prueba y enviarlo por correo a las partes interesadas
Ejemplo :
|_+_|El aspecto más importante que debe tenerse en cuenta aquí al trabajar con anotaciones es que su sistema debe estar equipado con la versión Java 1.5 o superior, de lo contrario, Eclipse podría mostrar un error de que las anotaciones no son compatibles con su sistema.
Ahora, considere un caso en el que su sistema tiene la versión correcta de Java necesaria para las anotaciones, pero el error sigue apareciendo.
Algo como a continuación:
Error de sintaxis, las anotaciones solo están disponibles si el nivel de fuente es 1.5 o superior.
¿Qué harás ahora? Existen tres opciones para rectificar esta situación.
Repasemos uno por uno:
Opción 1:
- Vaya a Eclipse y haga clic derecho en su proyecto
- Seleccionar propiedades
- Haga clic en Java Compiler
- Asegúrese de que su nivel de cumplimiento del compilador sea 1.5 o superior
- Guarde la configuración y su problema estará resuelto
Opcion 2:
- Ir a la pestaña Ventana en Eclipse
- Seleccionar preferencias
- Haga clic en Java y luego en Compilador
- Asegúrese de que su nivel de cumplimiento del compilador sea 1.5 o superior
- Guarde la configuración y su problema estará resuelto
Opción # 3:
Compruebe su ruta de inicio de Java configurando la variable de ruta de entorno Java correcta.
Conclusión:
A través de este artículo, intentamos discutir algunas de las anotaciones y atributos importantes que los evaluadores utilizan con frecuencia. Sin embargo, hay más anotaciones en TestNG que no se utilizan con frecuencia, como @AfterGroups, @BeforeGroups y así sucesivamente, que se utilizan cuando se trabaja con grupos en el script de prueba del proyecto.
Por lo tanto, utilice las anotaciones anteriores de acuerdo con sus requisitos. Siempre es recomendable no realizar la configuración de su proyecto en el método de prueba. En el método de prueba, escriba la lógica empresarial central que se va a probar.
resto preguntas y respuestas de la entrevista para experimentados
Asegúrese de que su sistema esté equipado con versiones de Java 1.5 o superiores; de lo contrario, Eclipse podría mostrar un error de que las anotaciones no son compatibles con su sistema.
Espero que este artículo te ayude con las anotaciones de TestNG. Háganos saber si tiene algún comentario o pregunta.
Lectura recomendada
- Cómo usar TestNG Framework para crear scripts de Selenium - Tutorial de TestNG Selenium n. ° 12
- Tutorial de búsqueda de elementos por texto de selenio con ejemplos
- Más de 30 mejores tutoriales de selenio: aprenda selenio con ejemplos reales
- Tutorial de Cucumber Selenium: Integración de Cucumber Java Selenium WebDriver
- Introducción a Selenium WebDriver - Tutorial de Selenium n. ° 8
- Scripts eficientes de Selenium y escenarios de resolución de problemas: tutorial de Selenium n. ° 27
- Depuración de scripts de Selenium con registros (Tutorial de Log4j) - Tutorial de Selenium n. ° 26
- Tutorial de Python DateTime con ejemplos