Cómo generar informes de extensión en Selenium

Publicado: 2021-06-21

La biblioteca de código abierto utilizada para la automatización de pruebas en Selenium es ExtentReports. Marcos de prueba; NUnit, JUnit, etc. se pueden integrar con la biblioteca. Los informes incorporados se crean en selenio a través de los marcos de TestNG y JUnit, pero los informes de extensión siguen siendo la primera opción de los probadores de automatización de selenio. Los informes de extensión en Selenium brindan más información sobre la ejecución de los scripts de automatización. Los resultados se representan como gráficos circulares y son básicamente documentos HTML. Se pueden generar detalles como las instantáneas y los registros personalizados a través de la biblioteca.

Después de la ejecución exitosa de una prueba automatizada, los evaluadores deben generar un informe de ejecución de la prueba. TestNG proporciona un informe predeterminado, pero no se proporcionan los detalles. Con la aplicabilidad de la API ExtentReport, se pueden generar informes interactivos a través de configuraciones simples. La biblioteca admite marcos de Java y .Net como JUnit, NUnit y TestNG, etc.

Dependencia del informe de extensión maven

Fuente

Los informes de extensión de selenio constan de dos clases:

Tabla de contenido

1. Clase de informes de extensión

El evaluador especifica una ruta y, en función de la ruta especificada, los informes HTML se generan a partir de la clase ExtentReports. O existe la generación de un nuevo informe o la sobrescritura de un informe existente. Se decide en base al valor booleano. El valor booleano predeterminado es "verdadero", lo que significa que se sobrescribirán todos los datos que existían en el pasado.

2. Clase de prueba de extensión

Los pasos de prueba se registran a través de la clase ExtentTest en los informes HTML generados a través del método anterior.

3. Extensión HtmlReporter

Esta clase crea un archivo HTML.

Las funciones integradas enumeradas se pueden utilizar con las clases que se enumeran a continuación.

  • startTest: se ejecutan las condiciones previas de un caso en la prueba
  • endTest: Se ejecutan las postcondiciones de un caso en la prueba.
  • Método de registro: el estado de cada paso de la prueba se registra en el informe HTML generado a través del registro.
  • Vaciar: Se crea un nuevo informe eliminando los datos de un informe anterior.

Los siguientes valores se utilizan para indicar el estado de una prueba: PASS, SKIP, FAIL e INFO.

Cómo crear informes de extensión

Algunos requisitos previos para generar un informe de extensión son:

  • Preinstalación y configuración de Java.
  • La instalación de TestNG.
  • Descarga de los Jars de Informes de Extensión (Versión 2.41.2).
  • Requisito de la extensión-config.xml que permite la configuración del informe HTML.

Los pasos básicos que se requieren seguir para la generación de informes de extensión son:

  • Se va a crear un proyecto de prueba.
  • Se va a descargar la extensión del archivo jar del informe.
  • El archivo jar del informe de extensión se agrega al proyecto.
  • Se crea una clase implementada.

Pasos para generar un informe de extensión

  • Los informes de extensión se pueden generar en WebDriver de Selenium a través de la importación de un archivo jar que es extensionreports-java-2.41.2.jar. El contenido del archivo jar se extraerá a un directorio una vez que se descargue.
  • Los archivos jar extraídos del archivo ZIP descargado se agregarán al proyecto de compilación. Se utiliza la opción Ruta de compilación -> Configurar ruta de compilación.
  • Una clase Java se crea recientemente para la extensión informada a través del siguiente código.

Fuente

Explicación del código

Con el método startTest, comienza la ejecución de la prueba. El objeto de los informes de extensión se inicializa. El objeto de informe de extensión utiliza cualquier ruta definida por el usuario como parámetro que se le pasa.

@beforeclass: el código demuestra el uso de los informes de extensión.

@test: las siguientes acciones se automatizan a través de esta clase:

  • Apertura del navegador Chrome a través de la URL www.google.com .
  • El título de la página debe validarse con el valor esperado una vez que se abre.
  • El estado del caso de la prueba debe registrarse como APROBADO o FALLIDO utilizando el método de registro de informes de extensión.

@afterclass: En esta clase se incluye código para la ejecución de un caso de postcondiciones de prueba. Incluye el código de finalización de la prueba o vaciado del informe. Sin el uso del método flush(), no se generarán los informes de extensión en Selenium .

Capture capturas de pantalla en los informes de extensión

1. A través del método de captura

  • Hay varios beneficios al usar una captura de pantalla durante la prueba.
  • Si el software comienza a actuar de manera errónea, los evaluadores podrían identificar el problema observando las capturas de pantalla.
  • Por lo tanto, si la ejecución de la prueba encuentra algún problema, las capturas de pantalla permitirán a los evaluadores depurar el script de prueba.
  • Las capturas de pantalla deben capturarse solo durante la falla de una prueba, ya que las capturas consumen más memoria.
  • El siguiente código utilizado para capturar una captura de pantalla se toma de

Fuente

2. Explicación del código

  • El WebDriver de selenio actual se captura como una captura de pantalla a través del método de getScreenShotAs(). Luego se almacena en varias formas de salida.

File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.File);

  • Se devuelve un objeto del archivo a través del método getScreenShotAs y se almacena en una variable del archivo. Para usar este método, es obligatorio transmitir la instancia del controlador web para tomar una captura de pantalla.

File Dest = new File(“scr/../Errimages/” + System.currentTimeMillis()+ “.png”);

  • Se crea una carpeta con el nombre de "ErrImages" dentro de la carpeta "src" a través del código anterior. El archivo se guarda en la carpeta creada con el nombre del archivo como la hora del sistema actual.

String errflpath = Dest,getAbsolutePath();

Fileutils.copyFile(scrFile, Destino);

returnerrflruta;

  • Las imágenes de error generadas se copian en una carpeta de destino.

3. Método de registro

  • Se utiliza un método incorporado en el método de registro. El addScreenCapture de la clase Extent se usa para capturar una captura de pantalla y luego se agrega a los informes de extensión generados.

test.log(LogStatus.Fail,test.addScreenCapture(capture(driver))+ “Prueba fallida”);

Ventajas de los informes de extensión

  • El uso de los informes de extensión es fácil.
  • Los gráficos circulares se utilizan para mostrar los resultados.
  • Se proporciona el porcentaje de un caso aprobado de una prueba.
  • La capacidad de agregar los detalles del entorno de forma natural.
  • Comparado con los otros informes, el informe de extensión ofrece la posibilidad de personalización.
  • Se pueden generar más informes interactivos a través de la API de extensión. Los informes interactivos pueden tener la forma de una vista gráfica, una captura de pantalla durante cada paso de la prueba, una vista del tablero e informes que se pueden enviar por correo electrónico.
  • Es posible la integración con los frameworks JUnit, TestNG y NUnit.
  • La ejecución paralela de ejecuciones de prueba es posible con la generación de un solo informe para todas las ejecuciones paralelas.
  • El informe se puede configurar.
  • Para la ejecución de cada caso de prueba, se muestra el tiempo necesario.
  • Es posible un fácil seguimiento de las ejecuciones de múltiples casos de prueba en una sola suite.
  • Según los informes de la prueba, los resultados se pueden filtrar. Además, los resultados paso a paso se pueden filtrar a través de las opciones de aprobación/rechazo/info.
  • Se proporcionan categorizaciones de informes para categorías como Regresión/funcional, etc.
  • Los registros de los pasos de prueba se pueden agregar a los informes.

Ejemplo de informes de extensión en Selenium

Se muestra un ejemplo para que pueda comprender el proceso de generación de expertos en informes de extensión.

Paso 1 : se creará un proyecto maven y una clase BasicExtentReport.java con la adición de un código disponible aquí

  • Se genera un archivo HTML independiente a partir de la clase 'ExtentHtmlReporter'.
  • Esta clase acepta 'ExtentHtmlReporter(java.io.File)' y la ruta 'ExtentHtmlReporter(java.lang.String filePath)'.
  • La ruta del archivo se pasa para guardar los informes.
  • El método config() de la clase 'ExtentHtmlReporter' permite varias opciones de configuración. Los elementos se pueden cambiar a través del código para realizar cambios en el aspecto del informe de extensión, incluida la marca de tiempo, el nombre del informe, etc.
  • El estado de cada paso de la prueba es informado por 'AfterMethod' y, por lo tanto, el estado de la prueba se actualiza como Pasa, Falla, omite, etc. En caso de que ocurra cualquier error, se genera un mensaje para brindar la información. Se hace a través de 'result.getThrowable()'.
  • Las etiquetas del estado se crean utilizando la clase MarkupHelper que también colorea el estado del informe.

Paso 2: Pasar el sistema operativo y los parámetros del navegador se realiza mediante la creación de un archivo testng.xml. El código está disponible en el sitio web mencionado.

Paso 3: se agrega otro código al archivo pom.cml.

Paso 4: Ejecutar el programa genera el informe resultante .

Fuente

Para ver los informes de fallas, se debe hacer clic en las pruebas fallidas. Esto mostrará el estado de la prueba junto con el motivo de la falla de la prueba.

Algunas cosas adicionales relacionadas con los informes de extensión son:

  • En aras de la apariencia, se puede cambiar el tema existente en un informe.
  • Según la conveniencia del usuario, la vista del tablero puede ocultarse o mostrarse.
  • En el caso de ejecutar varias pruebas, se puede buscar un caso de prueba paso a paso.
  • El tiempo total necesario para ejecutar la prueba, incluida la hora de inicio y la hora de finalización, se muestra al usuario.
  • Los filtros adicionales están presentes en un informe. Los resultados se pueden filtrar según el estado de las pruebas, como pruebas aprobadas, pruebas fallidas o casos de prueba donde solo hay información.

Aprenda cursos de software en línea de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.

Conclusión

Para la generación de informes personalizables, los informes de extensión son la mejor manera. Al ser una biblioteca de código abierto con una fácil configuración con selenio, los informes de extensión definitivamente se han convertido en la mejor opción para todos los probadores de automatización. El artículo discutió brevemente los informes de extensión, cómo generarlos y su utilidad. Los beneficios pueden obtenerse mediante el conocimiento de la programación del software, que es la base de la generación de los informes de extensión.

Si estás dispuesto a aprender y explorar los beneficios de la programación de software, consulta el curso de Programa Ejecutivo PG en Desarrollo de Software - Especialización en Desarrollo Full Stack , ofrecido por upGrad . Este es un curso especialmente diseñado para profesionales de nivel de entrada dentro del grupo de edad de 21 a 45 años. Al proporcionar una plataforma para conferencias en línea y sesiones interactivas con experiencias prácticas, el curso brinda garantía de ubicación en las principales industrias. Nuestro equipo está disponible para cualquier consulta.

¿Qué es un generador de informes de Selenium?

Selenium Report Builder o Selenium IDE es un complemento de Firefox para Selenium que ayuda a crear y editar los casos de prueba de Selenium. Hace que el proceso de automatización sea más eficiente y reduce el esfuerzo necesario para crear diferentes informes. Es una forma cómoda de ejecutar pruebas y proporciona una visión general del estado actual. Los informes se generan en varios formatos, como texto, PDF, CSV, HTML, etc.

¿Qué se puede probar automáticamente usando Selenium?

Selenium es una herramienta para automatizar aplicaciones web con fines de prueba y puede usarse para pruebas de regresión. Selenium puede automatizar cualquier cosa que un usuario pueda hacer en un navegador. La mayoría de los sitios web tienen algún tipo de funcionalidad que facilita a sus empleados realizar tareas como ordenar inventario, procesar pedidos, actualizar el sitio web, etc. Selenium se puede usar para probar aplicaciones y sitios web basados ​​en la web. Es un lenguaje de alto nivel que soporta varios lenguajes de programación como JAVA y C#. Selenium se utiliza para automatizar el navegador y brinda a los desarrolladores de aplicaciones web la capacidad de escribir pruebas automatizadas para ejecutarlas en aplicaciones web.

¿Qué es Selenium Grid?

Selenium Grid es una herramienta que permite ejecutar pruebas automatizadas en varios navegadores (u otros nodos de cuadrícula). Permite la ejecución paralela de estas pruebas con varias configuraciones (ubicaciones, navegadores, sistemas operativos) y varios navegadores a la vez. Las pruebas en sí se pueden ejecutar en modo sin cabeza para no requerir ninguna GUI en absoluto. The Grid ofrece ejecución de trabajos asincrónicos y es capaz de gestionar cientos de trabajos al mismo tiempo. Selenium Grid es, por lo tanto, un modelo central y radial para ejecutar casos de prueba. Grid permite a los usuarios agrupar varios navegadores para ejecutar un solo caso de prueba. Una vez configurado, se puede usar para ejecutar pruebas en varias máquinas o navegadores a pedido o según un cronograma. Selenium Grid se puede utilizar para paralelizar la ejecución de pruebas, escalar pruebas y aumentar la cobertura de pruebas.