Evidence Reporter
{{ t("Resumen del caso") }}

{{ case.name }}

{{ t("Estatus de ejecución") }}
{% if case.status == 'PASS' %}✓{% elif case.status == 'FAIL' %}✕{% elif case.status == 'SKIP' %}↷{% else %}!{% endif %} {{ case.status }}
{% if case.description %}

{{ case.description }}

{% endif %} {% if case.attempts %}

{{ t("Historial de intentos") }}

{% for attempt in case.attempts + [case] %}{% endfor %}
{{ loop.index }} · {{ attempt.status }}{{ attempt.started_at|display_date }}{% if attempt.message %}
{{ attempt.message }}{% endif %}
{% endif %}
{{ t("Duración") }}{% if case.duration_seconds is not none %}{{ '%.2f'|format(case.duration_seconds) }} s{% else %}{{ t("Sin finalizar") }}{% endif %}
{{ t("Capturas obtenidas") }}{{ case.events|selectattr('kind','equalto','capture')|list|length }}
{{ t("Advertencias") }}{{ case.warning_count }}
{% for label,value in case.metadata.items() %}{% endfor %}
{{ t("Caso de prueba") }}{{ case.name }}
{{ t("Suite") }}{{ case.suite }}
{{ t("Inicio de ejecución") }}
{{ t("Fin de ejecución") }}
{{ label }}{{ value }}
{% if case.message %}
{{ t("Resultado") }}

{{ case.message }}

{% endif %} {% if case.status == 'INCOMPLETE' %}
{{ t("Ejecución incompleta: se muestran las evidencias conservadas, sin atribuir un resultado final.") }}
{% endif %}
{% macro logs_list(events) %}{% for event in events %}
{{ event.title }}
{{ event.level }}{% if event.reason %}

{{ event.reason }}

{% else %}

{{ event.title }}

{% endif %}
{% endfor %}{% endmacro %} {% macro captures_list(events) %}{% for event in events if event.kind in ['capture','capture_warning'] %}

{{ event.title }}

{% if event.status == 'PASS' %}✓{% elif event.status == 'FAIL' %}✕{% elif event.status == 'WARN' %}!{% else %}ⓘ{% endif %} {{ event.status }}
{% if event.kind == 'capture' %}{% if event.description %}

{{ event.description }}

{% endif %}
{{ {'page':t("Página visible"),'element':t("Elemento"),'desktop':t("Escritorio"),'attachment':t("Imagen adjunta")}.get(event.capture_type,event.capture_type) }} · {{ event.width }} × {{ event.height }} px{{ t("Ampliar imagen") }}
{% if event.url %}
URL: {{ event.url }}{% if event.page_title %}
{{ t("Página") }}: {{ event.page_title }}{% endif %}
{% endif %} {% else %}
{{ t("Evidencia no disponible") }}

{{ event.reason }}

{% endif %}
{% else %}

{{ t("Sin capturas en este bloque.") }}

{% endfor %} {% endmacro %}
{% set milestones = blocks|selectattr('id')|list %}{% if milestones %}
{{ milestones|length }} {{ t("hitos de negocio") }}
{% endif %} {% for block in blocks %}{% set block_index = loop.index %}{% set messages = block.events|rejectattr('kind','equalto','capture')|list %}{% set warnings = block.events|selectattr('level','equalto','WARN')|list %}{% set captures = block.events|selectattr('kind','equalto','capture')|list %}
{{ t("Hito de negocio") if block.id else t("Evidencias directas") }}{{ loop.index }}{{ block.title }}{{ captures|length }} {{ t("capturas") }} · {{ messages|length }} {{ t("logs") }} · {{ block.warning_count }} {{ t("advertencias") }}
{% if block.description %}

{{ block.description }}

{% endif %} {% if not block.id %}
{{ captures_list(block.events) }}
{{ logs_list(messages) }}{% if not messages %}

{{ t("Sin mensajes registrados en este bloque.") }}

{% endif %}
{% else %} {{ captures_list(block.events) }} {% if messages %}
{{ t("Logs del bloque") }} · {{ messages|length }}
{{ logs_list(messages) }}
{% endif %} {% endif %}
{% else %}

{{ t("Sin evidencias registradas") }}

{{ t("El resultado se conserva aunque no se hayan llamado keywords de evidencia.") }}

{% endfor %}
{{ t("Registro de mensajes") }}

{{ t("Logs de negocio") }}

{{ t("Mensajes explícitos y advertencias de captura. Despliega el bloque que quieras consultar.") }}

{% set counts = namespace(total=0) %}{% for block in blocks %}{% set messages = block.events|rejectattr('kind','equalto','capture')|list %}{% if messages %}{% set counts.total = counts.total + messages|length %}
{{ block.title }} · {{ messages|length }}
{{ logs_list(messages) }}
{% endif %}{% endfor %}{% if counts.total == 0 %}

{{ t("Sin logs registrados.") }}

{% endif %}