- 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.
-
allure.attach() Añadir adjuntos =====================
-
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("""
""", 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:
========