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

Español

English

Español

English

Appearance

Sidebar Navigation

Introducción

Instalación y Actualización

Instalación para Windows

Instalación para macOS

Instalación para Linux

Instalación para Node.js

Actualización

Primeros pasos

Cómo ver un informe

Mejorar la legibilidad de informes

Mejorar la navegación en informe

Funcionalidades

Pasos de prueba

Adjuntos

Estados de prueba

Ordenar y filtrar

Categorías de defectos

Análisis visual

Análisis de estabilidad de prueba

Historial y reintentos

Cronología

Exportar a CSV

Exportar métricas

Guías

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

Cómo funciona

Visión general

Archivo de resultados de prueba

Archivo de contenedor

Archivo de categorías

Archivo de entorno

Archivo de ejecutor

Archivos de historial

Integraciones

Azure DevOps

Bamboo

GitHub Actions

Jenkins

IDEs de JetBrains

TeamCity

Visual Studio Code

Frameworks

Behat

Empezando

Configuración

Referencia

Behave

Empezando

Configuración

Referencia

Codeception

Empezando

Configuración

Referencia

CodeceptJS

Empezando

Configuración

Referencia

Cucumber.js

Empezando

Configuración

Referencia

Cucumber-JVM

Empezando

Configuración

Referencia

Cucumber.rb

Empezando

Configuración

Referencia

Cypress

Empezando

Configuración

Referencia

Jasmine

Empezando

Configuración

Referencia

JBehave

Empezando

Configuración

Referencia

Jest

Empezando

Configuración

Referencia

JUnit 4

Empezando

Configuración

Referencia

JUnit 5

Empezando

Configuración

Referencia

Mocha

Empezando

Configuración

Referencia

Newman

Empezando

Configuración

Referencia

NUnit

Empezando

Configuración

Referencia

PHPUnit

Empezando

Configuración

Referencia

Playwright

Empezando

Configuración

Referencia

pytest

Empezando

Configuración

Referencia

Pytest-BDD

Empezando

Configuración

Referencia

Reqnroll

Empezando

Configuración

Referencia

REST Assured

Empezando

Configuración

Robot Framework

Empezando

Configuración

Referencia

RSpec

Empezando

Configuración

Referencia

SpecFlow

Empezando

Configuración

Referencia

Spock

Empezando

Configuración

Referencia

TestNG

Empezando

Configuración

Referencia

Vitest

Empezando

Configuración

Referencia

WebdriverIO

Empezando

Configuración

Referencia

xUnit.net

Empezando

Configuración

Referencia

On this page

Empezando con Allure JBehave ​

Última versión de Allure JBehave

Genera hermosos informes en HTML utilizando Allure Report y tus pruebas de JBehave.

Ejemplo de Allure Report JBehave

INFO

Consulta los proyectos de ejemplo en github.com/allure-examples para ver Allure JBehave en acción.

Configuración ​

Para integrar Allure en un proyecto JBehave existente, necesitas:

  1. Añadir las dependencias de Allure a tu proyecto.
  2. Activar el plugin de Allure JBehave.
  3. Designar una ubicación para el almacenamiento de los resultados de Allure.

Añadir las dependencias de Allure ​

xml
<!-- Define la versión de Allure que deseas utilizar mediante la propiedad allure.version -->
<properties>
    <allure.version>2.24.0</allure.version>
</properties>

<!-- Añade allure-bom a la gestión de dependencias para garantizar que se utilizan las versiones correctas de todas las dependencias -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-bom</artifactId>
            <version>${allure.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<!-- Añade las dependencias necesarias de Allure a la sección de dependencias -->
<dependencies>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-jbehave5</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
kts
// Define la versión de Allure que deseas utilizar mediante la propiedad allureVersion
val allureVersion = "2.24.0"
// ...
dependencies {
    // Importa allure-bom para garantizar que se utilizan las versiones correctas de todas las dependencias
    testImplementation(platform("io.qameta.allure:allure-bom:$allureVersion"))
    // Añade las dependencias necesarias de Allure a la sección de dependencias
    testImplementation("io.qameta.allure:allure-jbehave5")
}
groovy
// Define la versión de Allure que deseas utilizar mediante la propiedad allureVersion
def allureVersion = "2.24.0"

dependencies {
    // Importa allure-bom para garantizar que se utilizan las versiones correctas de todas las dependencias
    testImplementation platform("io.qameta.allure:allure-bom:$allureVersion")
    // Añade las dependencias necesarias de Allure a la sección de dependencias
    testImplementation "io.qameta.allure:allure-jbehave5"
}

Habilitar el plugin Allure JBehave ​

En tu clase Embeddable (como una clase basada en JUnitStories), añade el reporter AllureJbehave5 al objeto de configuración.

java
import io.qameta.allure.jbehave5.AllureJbehave5;
import org.jbehave.core.configuration.Configuration;
import org.jbehave.core.configuration.MostUsefulConfiguration;
import org.jbehave.core.junit.JUnitStories;
import org.jbehave.core.reporters.StoryReporterBuilder;

public class Stories extends JUnitStories {

    @Override
    public Configuration configuration() {
        return new MostUsefulConfiguration()
                .useStoryReporterBuilder(new StoryReporterBuilder()
                        .withReporters(new AllureJbehave5()));
    }

    // ...
}

Especificar la ubicación de los resultados de Allure ​

Allure, por defecto, guarda los resultados de las pruebas en el directorio raíz del proyecto. Sin embargo, se recomienda almacenar los resultados de las pruebas en el directorio de salida de la compilación.

Para configurar esto, crea un archivo allure.properties y colócalo en el directorio de recursos de pruebas de tu proyecto, que normalmente se encuentra en src/test/resources:

properties
#allure.properties
allure.results.directory=target/allure-results
properties
#allure.properties
allure.results.directory=build/allure-results
properties
#allure.properties
allure.results.directory=build/allure-results

Ejecutar las pruebas ​

Ejecuta tus pruebas de JBehave como lo harías normalmente. A continuación se muestran los comandos para usuarios de Gradle y Maven:

Para Gradle:

bash
./gradlew test
bash
gradlew test

Para Maven:

bash
./mvnw verify
bash
mvnw verify

Después de ejecutar las pruebas, Allure recopilará los datos de ejecución de las pruebas y los almacenará en el directorio allure-results. Luego podrás generar un informe HTML a partir de estos resultados utilizando las herramientas de informes de Allure.

Después de ejecutar las pruebas, Allure recopilará los datos de ejecución de las pruebas y los almacenará en el directorio allure-results. Luego podrás generar un informe HTML a partir de estos resultados utilizando las herramientas de informes de Allure.

Escribir pruebas ​

El adaptador Allure JBehave extiende las características estándar de informes de JBehave proporcionando capacidades adicionales para crear pruebas más informativas y estructuradas. Esta sección destaca las mejoras clave que pueden ser utilizadas:

  • Anotación de Metadatos: Mejora los informes de pruebas con descripciones, enlaces y otros metadatos.
  • Organización de Pruebas: Estructura tus pruebas en jerarquías claras para una mejor legibilidad y organización.
  • División en Pasos: Divide las pruebas en pasos más pequeños para facilitar la comprensión y mantenimiento.
  • Pruebas Parametrizadas: Describe claramente los parámetros para las pruebas parametrizadas para especificar diferentes escenarios.
  • Archivos Adjuntos: Captura automáticamente capturas de pantalla y otros archivos durante la ejecución de la prueba.
  • Selección de Pruebas: Utiliza un archivo de plan de pruebas para seleccionar qué pruebas ejecutar, lo que permite una ejecución flexible de las pruebas.
  • Detalles del Entorno: Incluye información completa sobre el entorno para acompañar el informe de pruebas.

Agregar metadatos ​

Allure te permite enriquecer tus informes con una variedad de metadatos. Esta información adicional proporciona contexto y detalles para cada prueba, mejorando la utilidad del informe. Consulta la sección de referencia de metadatos para obtener una lista exhaustiva de lo que se puede añadir.

java
import io.qameta.allure.Allure;
import org.jbehave.core.annotations.Then;

public class JBehaveSteps {

    @When("I open labels page")
    public void openLabelsPage() {
        Allure.description("This test attempts to create a label with specified title");
        Allure.label("owner", "John Doe");
        Allure.label("severity", "critical");
        Allure.link("Website", "https://dev.example.com/");
        Allure.issue("AUTH-123", "https://example.com/issues/AUTH-123");
        Allure.tms("TMS-456", "https://example.com/tms/TMS-456");
        // ...
    }
}

Organizar pruebas ​

Allure facilita una navegación mejorada en los informes de pruebas permitiendo que las pruebas se organicen en estructuras jerárquicas. Como se explica en la sección sobre Mejorando la navegación en tu informe de pruebas, Allure JBehave soporta esta característica.

Para especificar la ubicación de una prueba en la jerarquía basada en suites:

Crear Sub-Pasos ​

Allure JBehave mejora los informes de pruebas permitiendo la creación de sub-pasos dentro de un solo paso de JBehave, lo que puede ser particularmente útil en casos donde tienes un conjunto de acciones que son:

  • Lo suficientemente cohesivas como para ser descritas como un solo paso en un archivo de historia.
  • Lo suficientemente complejas como para involucrar varios puntos potenciales de fallo.

Allure proporciona tres métodos para definir sub-pasos:

  1. Sub-Pasos Anotados: Definidos utilizando la anotación @Step.
  2. Sub-Pasos Lambda: Utilizando expresiones lambda para definiciones de pasos más concisas e inline.
  3. Sub-Pasos No-Op: Utilizados como marcadores de posición o para estructurar pasos sin funcionalidad adicional.

Para obtener una guía detallada sobre cómo implementar cada tipo de sub-paso, consulta la referencia de pasos de prueba.

java
import io.qameta.allure.Step;
import org.jbehave.core.annotations.Then;

public class JBehaveSteps {

    @When("I open labels page")
    public void openLabelsPage() {
        step1();
        step2();
    }

    @Step("Step 1")
    public void step1() {
        subStep1();
        subStep2();
    }

    @Step("Sub-step 1")
    public void subStep1() {
        // ...
    }

    @Step("Sub-step 2")
    public void subStep2() {
        // ...
    }

    @Step("Step 2")
    public void step2() {
        // ...
    }
}
java
import io.qameta.allure.Allure;
import org.jbehave.core.annotations.Then;

public class JBehaveSteps {

    @When("I open labels page")
    public void openLabelsPage() {

        Allure.step("Step 1", (step) -> {
            // ...
            Allure.step("Sub-step 1");
            // ...
            Allure.step("Sub-step 2");
        });

        Allure.step("Step 2", (step) -> {
            // ...
        });
    }
}

Soporte para Esquemas de Escenarios ​

Allure JBehave ofrece soporte completo para Esquemas de Escenarios, una característica de JBehave que permite pruebas parametrizadas. No se necesita configuración especial para aprovechar esta capacidad dentro de Allure.

Scenario: Registration
When I go to the registration form
And I enter my details: <login>, <password>, <name>, <birthday>
Then the profile should be created

Examples:
| login   | password | name     | birthday   |
| johndoe | qwerty   | John Doe | 1970-01-01 |
| janedoe | 123456   | Jane Doe | 1111-11-11 |
java
import io.qameta.allure.Allure;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;

public class JBehaveSteps {

    @When("I go to the registration form")
    public void goToRegistrationForm() {
        // ...
    }

    @When("I enter my details: $login, $password, $name, $birthday")
    public void enterMyDetails() {
        // ...
    }

    @Then("the profile should be created")
    public void profileShouldBeCreated() {
        // ...
    }
}

Además, la API en tiempo de ejecución de Allure puede ser utilizada para incluir parámetros adicionales en el informe de pruebas, ofreciendo capacidades de documentación mejoradas y mayor detalle para cada escenario de prueba:

Scenario: Registration
When I go to the registration form
And I enter my details
Then the profile should be created
java
import io.qameta.allure.Allure;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;

public class JBehaveSteps {

    @When("I go to the registration form")
    public void goToRegistrationForm() {
        // ...
    }

    @When("I enter my details")
    public void enterMyDetails() {
        Allure.parameter("login", "johndoe");
        Allure.parameter("password", "qwerty");
        Allure.parameter("name", "John Doe");
        Allure.parameter("birthday", "1970-01-01");
        // ...
    }

    @Then("the profile should be created")
    public void profileShouldBeCreated() {
        // ...
    }
}

Adjuntar capturas de pantalla y otros archivos ​

En los informes de Allure, tienes la capacidad de adjuntar varios tipos de archivos, lo que puede mejorar enormemente la comprensión del informe. Una práctica común es adjuntar capturas de pantalla que capturen el estado de la interfaz de usuario en momentos específicos durante la ejecución de la prueba.

Allure JBehave ofrece múltiples métodos para crear adjuntos, ya sea desde archivos preexistentes o desde contenido generado en tiempo real. Para obtener instrucciones detalladas sobre cómo implementar adjuntos, consulta la sección de adjuntos en la referencia de Allure JBehave.

java
import io.qameta.allure.Allure;
import org.jbehave.core.annotations.Then;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class JBehaveSteps {

    @When("I open labels page")
    public void openLabelsPage() throws IOException {
        // ...
        Allure.attachment("data.txt", "This is the file content.");
        Allure.attachment("img.png", Files.newInputStream(Paths.get("/path/img.png")));
    }
}

Ejecución selectiva de pruebas (Allure TestOps) ​

DANGER

El plan de pruebas actualmente no es compatible con el adaptador Allure JBehave.

Información del entorno ​

Para la página principal del informe, puedes recopilar varios tipos de información sobre el entorno en el que se ejecutaron las pruebas.

Por ejemplo, es una buena idea usar esto para recordar las versiones de SO y Java. Esto puede ayudar al lector futuro a investigar errores que solo son reproducibles en algunos entornos.

Widget de Entornos en el Informe de Allure

Para proporcionar información del entorno, coloca un archivo llamado environment.properties en el directorio allure-results después de ejecutar las pruebas. Consulta el ejemplo en Archivo de entorno.

Ten en cuenta que esta característica debe usarse para propiedades que no cambian para todas las pruebas en el informe. Si tienes propiedades que pueden ser diferentes para distintas pruebas, considera usar Pruebas Parametrizadas.

Pager
Previous pageReferencia
Next pageConfiguración
Powered by

Únete a nuestro boletín

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