Skip to content
Allure report logoAllure Report
Main Navigation MódulosDocumentaciónProyecto inicial

Español

English

Español

English

Appearance

Sidebar Navigation

Allure 3

Instalación y Actualización

Instalación

Actualización

Configurar

Trabajando con Reportes

Cómo generar un reporte

Cómo ver un reporte

Mejorar la legibilidad de reportes

Mejorar la navegación en reporte

Lectura de los gráficos de Allure

Migrar desde Allure 2

Allure 2

Instalación y Actualización

Instalación para Windows

Instalación para macOS

Instalación para Linux

Instalación para Node.js

Actualización

Trabajando con Reportes

Cómo generar un reporte

Cómo ver un reporte

Mejorar la legibilidad de reportes

Mejorar la navegación en reporte

Funcionalidades

Agent Mode

Pasos de prueba

Adjuntos

Estados de prueba

Diferencias de aserciones

Ordenar y filtrar

Entornos

Construcciones Multietapa

Categorías

Análisis visual

Análisis de estabilidad de prueba

Historial y reintentos

Almacenamiento autohospedado

Quality Gate

Resoluciones

Errores y Adjuntos Globales

Línea de tiempo

Métricas de rendimiento

Exportar a CSV

Exportar métricas

Guías

Migración a Allure Java 3

Parametrización JUnit 5

JUnit 5 & Selenide: capturas de pantalla y adjuntos

JUnit 5 & Selenium: capturas de pantalla y adjuntos

Configurar JUnit 5 con GitHub Actions

Parametrización en Pytest

Pytest & Selenium: capturas de pantalla y adjuntos

Pytest & Playwright: capturas de pantalla y adjuntos

Pytest & Playwright: videos

Parametrización en Playwright

Publicando Reportes en GitHub Pages

Desplegando almacenamiento autohospedado con Docker

Desplegando almacenamiento autohospedado en Cloudflare Workers

Allure Report 3: XCResults Reader

Cómo funciona

Visión general

Glosario

Archivo de resultados de prueba

Archivo de contenedor

Archivo de categorías

Archivo de entorno

Archivo de ejecutor

Archivos de historial

Identificadores de Prueba

Integraciones

Azure DevOps

Bamboo

GitHub Action

Gradle

Jenkins

IDEs de JetBrains

Maven

TeamCity

Visual Studio Code

Frameworks

AVA

Empezando

Configuración

Referencia

Axios

Primeros pasos

Configuración

Referencia

Behat

Primeros pasos

Configuración

Referencia

Behave

Primeros pasos

Configuración

Referencia

Bun

Primeros pasos

Configuración

Referencia

Chai

Primeros pasos

Referencia

Codeception

Primeros pasos

Configuración

Referencia

CodeceptJS

Primeros pasos

Configuración

Referencia

Cucumber.js

Primeros pasos

Configuración

Referencia

Cucumber-JVM

Primeros pasos

Configuración

Referencia

Cucumber.rb

Primeros pasos

Configuración

Referencia

Cypress

Primeros pasos

Configuración

Referencia

Dart y Flutter

Primeros pasos

Configuración

Referencia

Diesel

Primeros pasos

Configuración

Referencia

Fetch

Primeros pasos

Configuración

Referencia

Go

Primeros pasos

Configuración

Referencia

Jasmine

Primeros pasos

Configuración

Referencia

JBehave

Primeros pasos

Configuración

Referencia

Jest

Primeros pasos

Configuración

Referencia

JUnit 4

Primeros pasos

Configuración

Referencia

JUnit Jupiter

Primeros pasos

Configuración

Referencia

Mocha

Primeros pasos

Configuración

Referencia

Newman

Primeros pasos

Configuración

Referencia

Node.js Test Runner

Empezando

Configuración

Referencia

NUnit

Primeros pasos

Configuración

Referencia

PHPUnit

Primeros pasos

Configuración

Referencia

Playwright

Primeros pasos

Configuración

Referencia

Playwright Java

Empezando

Configuración

Referencia

pytest

Primeros pasos

Configuración

Referencia

Pytest-BDD

Primeros pasos

Configuración

Referencia

Reqnroll

Primeros pasos

Configuración

Referencia

Reqwest

Primeros pasos

Configuración

Referencia

REST Assured

Primeros pasos

Configuración

Robot Framework

Primeros pasos

Configuración

Referencia

Rust Cargo Test

Primeros pasos

Configuración

Referencia

RSpec

Primeros pasos

Configuración

Referencia

Selenide

Primeros pasos

Configuración

Referencia

Selenium BiDi

Primeros pasos

Configuración

Referencia

SpecFlow

Primeros pasos

Configuración

Referencia

Spock

Primeros pasos

Configuración

Referencia

TestCafe

Empezando

Configuración

Referencia

TestNG

Primeros pasos

Configuración

Referencia

Vitest

Primeros pasos

Configuración

Referencia

WebdriverIO

Primeros pasos

Configuración

Referencia

xUnit.net

Primeros pasos

Configuración

Referencia

On this page

Métricas de rendimiento Allure 3 ​

Además de los resultados de prueba, Allure Report 3 puede recopilar métricas de rendimiento numéricas de tu ejecución de prueba: tiempos de carga de página, tiempos de respuesta de API, throughput, uso de memoria, tamaños de bundle o cualquier otra medición. El reporte las muestra en una sección dedicada de Métricas y las compara con ejecuciones anteriores, y los quality gates pueden hacer fallar la ejecución cuando una métrica empeora. Consulta Ver métricas en el reporte para saber dónde encontrar la sección de Métricas y qué muestra.

TIP

Esta funcionalidad no está relacionada con Exportar métricas, que describe cómo exportar estadísticas de prueba de Allure Report 2 a InfluxDB o Prometheus.

Escribir métricas en el directorio de resultados ​

Allure lee métricas de archivos en el directorio de resultados de prueba, junto a los archivos de resultados de prueba:

  • cualquier archivo cuyo nombre termine en -perf.json, por ejemplo, a1b2c3d4-perf.json;
  • un archivo llamado performance.json.

Cada archivo contiene un array JSON de mediciones:

json
[
  {
    "id": "home-page",
    "key": "page.load",
    "value": 1240,
    "start": 1792065109697,
    "stop": 1792065110937
  },
  {
    "id": "search-page",
    "key": "page.load",
    "value": 1515,
    "start": 1792065110937,
    "stop": 1792065112452
  }
]
CampoTipoDescripción
idstringIdentificador del objeto medido, por ejemplo, la página o el endpoint. Mantenlo igual a través de las ejecuciones.
keystringNombre de la métrica. Las mediciones con la misma key se agregan en el reporte, y la key se usa en la configuración y en las reglas de quality gate.
valuenumberEl valor medido.
startnumberHora de inicio de la medición, como un timestamp Unix en milisegundos.
stopnumberHora de finalización de la medición, como un timestamp Unix en milisegundos.

Todos los campos son obligatorios. Allure ignora las mediciones con campos faltantes o un value no numérico.

Las integraciones de Allure no escriben archivos de métricas, por lo que debes producirlos tú mismo: desde tus pruebas, desde un script separado o convirtiendo la salida de una herramienta de pruebas de rendimiento. Por ejemplo, este script de Node.js mide cuánto tardan dos páginas en cargar y guarda los resultados como un archivo de métricas:

javascript
import { randomUUID } from "node:crypto";
import { mkdirSync, writeFileSync } from "node:fs";

const resultsDir = "allure-results";
const metrics = [];

const measure = async (id, key, action) => {
  const start = Date.now();
  await action();
  const stop = Date.now();
  metrics.push({ id, key, value: stop - start, start, stop });
};

await measure("home-page", "page.load", () => fetch("https://example.com/"));
await measure("search-page", "page.load", () => fetch("https://example.com/?q=allure"));

mkdirSync(resultsDir, { recursive: true });
writeFileSync(`${resultsDir}/${randomUUID()}-perf.json`, JSON.stringify(metrics));

Configurar métricas ​

Las métricas se muestran en el reporte incluso sin ninguna configuración: bajo sus keys, en el grupo Sin configurar. Para darles títulos legibles y unidades, y para agrupar métricas relacionadas, agrega la sección performance al archivo de configuración:

javascript
import { defineConfig } from "allure";

export default defineConfig({
  performance: {
    groups: {
      web: { title: "Páginas web" },
      api: { title: "API" },
    },
    metrics: {
      "page.load": { title: "Carga de página", unit: "ms", better: "lower", group: "web" },
      "api.rps": { title: "Throughput de API", unit: "req/s", better: "higher", group: "api" },
    },
  },
});
json
{
  "performance": {
    "groups": {
      "web": { "title": "Páginas web" },
      "api": { "title": "API" }
    },
    "metrics": {
      "page.load": { "title": "Carga de página", "unit": "ms", "better": "lower", "group": "web" },
      "api.rps": { "title": "Throughput de API", "unit": "req/s", "better": "higher", "group": "api" }
    }
  }
}
yaml
performance:
  groups:
    web:
      title: Páginas web
    api:
      title: API
  metrics:
    page.load:
      title: Carga de página
      unit: ms
      better: lower
      group: web
    api.rps:
      title: Throughput de API
      unit: req/s
      better: higher
      group: api
  • groups - los grupos en los que mostrar las métricas. Cada key es un ID de grupo, y title es el nombre del grupo mostrado en el reporte.
  • metrics - configuración para cada key de métrica:
    • title - el nombre de la métrica mostrado en el reporte.
    • unit - la unidad agregada a los valores, por ejemplo, ms o req/s.
    • better - lower si los valores más pequeños son mejores (duraciones, tamaños), o higher si los valores más grandes son mejores (throughput, puntuaciones). El reporte lo usa para resaltar cambios para peor, y las reglas delta de quality gate lo usan para ignorar cambios para mejor.
    • group - el ID de un grupo de groups.

Ver métricas en el reporte ​

Cuando el reporte contiene métricas, el menú Reporte en la esquina superior izquierda obtiene el elemento Métricas:

Esto abre una tabla para cada grupo, con una fila para cada métrica:

  • Count - el número de mediciones con esta key en la ejecución actual.
  • Total, Avg, Min, Max - la suma, el promedio, el mínimo y el máximo de los valores.
  • Delta - cuánto ha cambiado el valor promedio desde el reporte anterior. Según la configuración de better, un cambio para peor se resalta en rojo, y un cambio para mejor en verde.
  • Trend - una línea en miniatura (sparkline) de los valores promedio en los reportes anteriores y el actual.

Haz clic en una fila para ver el Historial de métrica: el valor y el cambio para cada reporte anterior. La lista de Valores actuales en la parte inferior muestra cada medición individual de la ejecución actual, junto con el archivo del que fue leída.

Seguimiento de métricas a lo largo del tiempo ​

Para comparar métricas con ejecuciones anteriores, Allure necesita el historial de pruebas: ya sea un archivo de historial habilitado con la opción historyPath, o Allure Report Storage. Para cada reporte, Allure guarda el valor promedio de cada key de métrica en el historial. Las columnas Delta y Trend, el historial de métricas y las reglas delta de quality gate se basan en estos valores guardados.

Con Allure Report Storage, el historial se mantiene por rama, y una rama que no tiene suficientes reportes propios obtiene los reportes de la rama principal agregados a su historial (consulta Profundidad del historial y ramas). Como resultado, los primeros reportes de una rama nueva comparan sus métricas con el último reporte de la rama principal. En un pipeline de pull request o merge request, Allure usa el historial de la rama destino en su lugar, en cada ejecución (consulta Profundidad del historial y ramas), de modo que las reglas delta verifican si el cambio hizo que las métricas empeoraran respecto a la rama destino.

Verificar métricas con quality gates ​

Allure Report tiene cuatro reglas de quality gate para métricas. Pueden hacer fallar una ejecución de prueba si una métrica excede un límite o cambia demasiado desde la ejecución anterior:

javascript
import { defineConfig } from "allure";

export default defineConfig({
  historyPath: "./history.jsonl",
  qualityGate: {
    rules: [
      {
        metricMax: { key: "page.load", value: 1500 },
        metricMaxDeltaPercent: { key: "api.rps", value: 10 },
      },
    ],
  },
});

Consulta Reglas de métricas para más detalles.

Métricas en builds multietapa ​

Los archivos de volcado almacenan las métricas recopiladas durante cada etapa, y el reporte construido a partir de los archivos de volcado muestra las métricas de todas las etapas.

Esta página ha sido traducida automáticamente. Si notas algún error, te agradeceríamos mucho que nos lo hicieras saber.
Pager
Previous pageLínea de tiempo
Next pageExportar a CSV
Powered by

Suscríbete a nuestro boletín

Recibe noticias del producto que realmente necesitas, sin spam.

Suscribirse
Allure TestOps
  • Visión general
  • Por qué elegirnos
  • Nube
  • Autoalojado
  • Historias de éxito
Compañía
  • Documentación
  • Blog
  • Sobre nosotros
  • Contacto
  • Eventos
© 2026 Qameta Software Inc. All rights reserved.