Personalización de Informes Allure: Guía Detallada de Uso

  1. Métodos comunes de Allure =============

2. @allure.severity Niveles de severidad para casos de prueba

blocker : Defectos críticos, bugs fatales, pérdida de datos, colapso del sistema.

critical: Defectos graves, bugs importantes en funcionalidades no implementadas, errores de función, envíos duplicados

normal: Defectos comunes, errores en consultas condicionales, falta de respuesta

minor: Casos de prueba secundarios, bugs de notificación, errores de color, estilo o tipografía

trivial: Nivel leve, bugs menores, falta de indicación para campos obligatorios.

  1. allure.attach() Añadir adjuntos =====================

  2. Añadir adjuntos en informes Allure (HTML)


  • Sintaxis: allure.attach(contenido, nombre, tipo_adjunto, extension), parámetros:
  • contenido: El contenido a incluir en el adjunto (bloque de código HTML).
  • nombre: Nombre del adjunto.
  • tipo_adjunto: Tipo de adjunto, una de las opciones disponibles en allure.attachment_type.
  • extension: Extensión del archivo adjunto.
  • 
    

allure.attach(""" Comunidad de QA""", name="Fragmento HTML", attachment_type=allure.attachment_type.HTML, extension="html") allure.attach('''Este es un bloque HTML de prueba''', 'Adjunto tipo HTML', allure.attachment_type.HTML)




2) Añadir adjuntos de imagen/video en Allure
--------------------

- Sintaxis: `allure.attach.archivo(ruta, nombre, tipo_adjunto, extension)`, parámetros:
- ruta: Ruta del archivo a adjuntar.
- nombre: Nombre del adjunto.
- tipo_adjunto: Tipo de adjunto, una de las opciones disponibles en `allure.attachment_type`.
- extension: Extensión del archivo adjunto.




allure.attach.archivo("/ruta/captura/error.png", name="Captura de pantalla", attachment_type=allure.attachment_type.PNG, extension="png")


4. allure.title() Título del caso de prueba
=======================

En los resultados de ejecución, el título aparecerá debajo de la historia (story)

5. Ejemplo completo:
=========


import allure

@allure.epic('Nombre del Proyecto') @allure.feature('Módulo de Prueba') # Generalmente se usa sobre la clase class InformeAllure: @allure.title('Título del Caso de Prueba') @allure.story('Historia de Prueba Exitosa') @allure.severity(allure.severity_level.CRITICAL) @allure.description('Descripción detallada del caso de prueba') @allure.issue("https://jira.defectos.com/123", name='Enlace al bug') @allure.link("https://documentacion.proyecto.com", name='Documentación del proyecto') @allure.testcase(url='https://casosprueba.proyecto.com/456', name='Caso de prueba') def verificar_operacion_matematica(self):

    with allure.step("Paso 1: Realizar operación"):
        # Ejecutar operación matemática
        resultado = 5 * 3

    with allure.step("Paso 2: Validar resultado"):
        assert resultado == 15, "El resultado no coincide con lo esperado"

    # Adjuntar contenido HTML
    allure.attach("""
            <h2>Informe de Pruebas</h2>
            <p>Este es un ejemplo de contenido HTML en el informe</p>""",
                  name="Contenido HTML", attachment_type=allure.attachment_type.HTML, extension="html")

    # Adjuntar archivo de imagen
    allure.attach.archivo("/ruta/evidencia/prueba.png", 
                         name="Evidencia visual", 
                         attachment_type=allure.attachment_type.PNG, 
                         extension="png")


Función principal para ejecución


ejecutor.py

import pytest import os

if name == "main": pytest.main(["-s","./","--capture=sys"]) # --capture=sys captura errores en el informe os.system('allure generate resultados/ -o informe/final --clean')


6. Resultados de ejecución:
========

Etiquetas: allure informes-de-pruebas Python pytest

Publicado el 7-7 23:04