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

Referencia de Allure Cucumber.rb ​

Estas son las funciones que puedes utilizar para integrar tus pruebas de Cucumber.rb con Allure.

Metadatos ​

Asigna la descripción, enlaces y otros metadatos a una prueba.

Description ​

  • Allure::description_html: (String html)

Establece la descripción de la prueba.

Puedes comenzar un Escenario con una descripción en tu archivo Gherkin o llamar a Allure.description_html() para actualizarla dinámicamente.

ruby
require 'allure-cucumber'

When 'I open labels page' do
  Allure.description_html 'This test attempts to create a label with specified title'
  # ...
end
gherkin
Feature: Labels

  Scenario: Create new label for authorized user

  This test attempts to create a label with specified title

    When I open labels page
    And I create label with title "hello"
    Then I should see label with title "hello"

Owner ​

Establece el propietario de la prueba.

ruby
require 'allure-cucumber'

When 'I open labels page' do
  Allure.label 'owner', 'John Doe'
  # ...
end

Tag ​

  • Allure::tag: (String tag)

Establece las tags de la prueba.

Puedes usar los tags en tu archivo Gherkin o llamar a Allure.tag() para establecer tags dinámicamente.

gherkin
@authentication @important
Feature: Labels

  Scenario: Create new label for authorized user
    When I open labels page
    And I create label with title "hello"
    Then I should see label with title "hello"
ruby
require 'allure-cucumber'

When 'I open labels page' do
  Allure.tag 'authentication'
  Allure.tag 'important'
  # ...
end

Severity ​

  • @SEVERITY:trivial
  • @SEVERITY:minor
  • @SEVERITY:normal
  • @SEVERITY:critical
  • @SEVERITY:blocker

Establece la severidad de la prueba.

Por defecto, Allure Cucumber.rb buscará una etiqueta Gherkin con el prefijo @SEVERITY:. El prefijo puede cambiarse en la configuración.

Los valores permitidos son: “trivial”, “minor”, “normal”, “critical” y “blocker”.

gherkin
Feature: Labels

  @SEVERITY:critical
  Scenario: Create new label for authorized user
    When I open labels page
    And I create label with title "hello"
    Then I should see label with title "hello"

Label ​

  • Allure::label: (String name, String value)

Establece una etiqueta arbitraria para la prueba. Esta es la implementación subyacente de muchas de las otras funciones de Allure.

El primer argumento de la función es el nombre de la etiqueta. Puede ser cualquier cadena.

Puedes llamar a Allure.label() múltiples veces para crear un arreglo de valores bajo el nombre dado.

ruby
require 'allure-cucumber'

When 'I open labels page' do
  Allure.label 'my custom label', 'value'
  # ...
end

Link ​

  • Allure::add_link: (url: String, name: String?, type: String?)
  • Allure::issue: (String name, String url)
  • Allure::tms: (String name, String url)
  • @ISSUE:⟨name⟩
  • @TMS:⟨name⟩

Añade un enlace relacionado con la prueba.

En la API en tiempo de ejecución, puedes hacerlo llamando a la función Allure.add_link(). El tipo afecta el ícono que se muestra junto al enlace en el informe de la prueba. Para mayor comodidad, Allure proporciona dos funciones abreviadas con tipos de enlace preseleccionados: Allure.issue() y Allure.tms().

ruby
require 'allure-cucumber'

When 'I open labels page' do
  Allure.add_link url: 'https://dev.example.com/', name: 'Website'
  Allure.issue 'AUTH-123', 'https://issues.example.com/AUTH-123'
  Allure.tms 'TMS-456', 'https://tms.example.com/TMS-456'
  # ...
end

Alternativamente, puedes agregar enlaces de problemas y enlaces TMS a través de identificadores cortos en las etiquetas Gherkin. Para habilitar esto, necesitas especificar patrones de enlace en la configuración. Allure Cucumber.rb usará los patrones para procesar las etiquetas Gherkin con prefijos específicos (por defecto @ISSUE: y @TMS:, pero se pueden cambiar en la configuración).

Suponiendo los patrones de enlace https://issues.example.org/{} y https://tms.example.org/{}, la prueba en el ejemplo a continuación tendrá un enlace de problema a https://issues.example.org/AUTH-123 y un enlace TMS a https://tms.example.org/TMS-456.

gherkin
Feature: Labels

  @ISSUE:AUTH-123
  @TMS:TMS-456
  Scenario: Create new label for authorized user
    When I open labels page
    And I create label with title "hello"
    Then I should see label with title "hello"

Jerarquía basada en el comportamiento ​

  • Allure::epic: (String epic)
  • Allure::feature: (String feature)
  • Allure::story: (String story)
  • @EPIC:⟨name⟩
  • @FEATURE:⟨name⟩
  • @STORY:⟨name⟩

Asigna nombres de épicos, características o historias de usuario para una prueba, como parte de la jerarquía basada en el comportamiento de Allure.

Puedes hacerlo a través de las funciones en la API de Runtime o especificando etiquetas Gherkin con ciertos prefijos. Los prefijos por defecto son @EPIC:, @FEATURE: y @STORY:, pero se pueden cambiar en la configuración. Ten en cuenta que debido a una limitación en la sintaxis de Gherkin, el valor no puede contener espacios.

ruby
require 'allure-cucumber'

When 'I open labels page' do
  Allure.epic 'Web interface'
  Allure.feature 'Essential features'
  Allure.story 'Authentication'
  # ...
end
gherkin
Feature: Labels

  @EPIC:WebInterface
  @FEATURE:EssentialFeatures
  @STORY:Authentication
  Scenario: Create new label for authorized user
    When I open labels page
    And I create label with title "hello"
    Then I should see label with title "hello"

Jerarquía basada en suites ​

  • Allure::suite: (String name)

Asigna los nombres de suite principal, suite o sub-suite para una prueba, como parte de la jerarquía basada en suites de Allure.

ruby
require 'allure-cucumber'

When 'I open labels page' do
    Allure.label 'parentSuite' 'Web interface'
    Allure.suite 'Essential features'
    Allure.label 'subSuite', 'Authentication'
  # ...
end

Sub-pasos de prueba ​

  • AllureStepAnnotation::step: (name: String, status: Status?)
  • Allure::run_step: (String name) { (*any) -> untyped }
  • Allure::step: (name: String, status: Status) { (*any) -> untyped }

Define un sub-paso de prueba con el nombre dado.

Hay tres formas de definir un sub-paso.

  • Sub-pasos anotados

    En una clase que extiende AllureStepAnnotation, define un método que contenga un sub-paso de prueba y agrega la anotación step a este, con un argumento opcional name (el valor predeterminado es el nombre del método). Cada vez que el método se llame durante la ejecución de la prueba, se creará un nuevo sub-paso dentro del paso Gherkin actual. Si el método llama a otra función que también tiene el atributo step, Allure Report creará un sub-sub-paso, y así sucesivamente.

  • Sub-pasos basados en bloques

    Escribe un sub-paso de prueba dentro de un bloque para la función Allure.run_step(). Si el bloque devuelve un valor, Allure.run_step() lo devolverá sin modificación, y no afectará al informe.

  • Sub-pasos no-op

    Si llamas a la función Allure.step(), Allure añadirá al informe un sub-paso no-op. Esto permite un informe estilo registro dentro de un paso más grande. Un sub-paso no-op termina inmediatamente después de que comenzó y no puede tener sub-pasos propios.

    El segundo argumento opcional indica el estado que se mostrará para el sub-paso en el informe. Los valores permitidos son: :passed (el valor predeterminado), :failed, :broken, :skipped y :unknown.

ruby
require 'allure-cucumber'

When 'I open labels page' do
  Steps.step_1
  Steps.step_2
end

class Steps
  extend AllureStepAnnotation

  step 'Step 1'

  def self.step_1
    step_1_1
    step_1_2
  end

  step 'Step 1.1'

  def self.step_1_1
    # ...
  end

  step 'Step 1.2'

  def self.step_1_2
    # ...
  end

  step 'Step 2'

  def self.step_2
    step_2_1
    step_2_2
  end

  step 'Step 2.1'

  def self.step_2_1
    # ...
  end

  step 'Step 2.2'

  def self.step_2_2
    # ...
  end
end
ruby
require 'allure-cucumber'

When 'I open labels page' do
  Allure.run_step 'Step 1' do

    # ...
    Allure.step name: 'Step 1.1', status: :passed

    # ...
    Allure.step name: 'Step 1.2', status: :passed
  end

  Allure.run_step 'Step 2' do

    # ...
    Allure.step name: 'Step 2.1', status: :passed

    # ...
    Allure.step name: 'Step 2.2', status: :passed
  end
end

Pruebas parametrizadas ​

Un informe de prueba de Allure puede reflejar dos formas en las que puedes pasar datos de tu archivo Gherkin a tu código de implementación en Ruby, a saber:

  • Esquemas de escenario,
  • Parámetros en tiempo de ejecución.

Esquemas de escenario ​

En Gherkin, un Escenario con esquema (o un Plantilla de escenario) implementa el patrón de pruebas parametrizadas. Un esquema de escenario debe contener una tabla Examples, de la cual Cucumber.rb carga conjuntos de parámetros, uno tras otro. Cada conjunto de parámetros se coloca en las declaraciones de los pasos según los marcadores de posición, generando así un nuevo escenario basado en la fila. Luego, Cucumber.rb ejecuta cada uno de ellos de forma independiente, como si fuera un Escenario separado. Los datos luego pueden ser capturados por una expresión regular y pasados como argumentos separados al código Ruby.

Allure Cucumber.rb reconoce automáticamente este patrón. No se requiere configuración adicional.

El siguiente ejemplo muestra un archivo Gherkin y un archivo de implementación Ruby de una prueba. En este ejemplo, los cuatro parámetros para el paso "Yo ingreso mis detalles..." se mostrarán en ambas instancias del escenario en el informe de prueba.

gherkin
Feature: User management

  Scenario Outline: 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 |
ruby
require 'allure-cucumber'

When 'I go to the registration form' do
  # ...
end

And /^I enter my details: (.*), (.*), (.*), (.*)$/ do |login, password, name, birthday|
  # ...
end

Then 'the profile should be created' do
  # ...
end

Parámetros en tiempo de ejecución ​

  • Allure::parameter: (String nombre, String valor)

La función Allure.parameter() puede ser utilizada en cualquier punto, incluso si el archivo Gherkin no especifica parámetros reales o tablas de datos para algún paso.

El siguiente ejemplo muestra un archivo Gherkin y un archivo de implementación Ruby de una prueba. En cuanto a Cucumber.rb se refiere, el paso "Yo ingreso mis detalles" en el ejemplo no tiene datos pasados a él, sin embargo, Allure mostrará los cuatro parámetros a nivel de la prueba.

gherkin
Feature: User management

  Scenario: Registration
    When I go to the registration form
    And I enter my details
    Then the profile should be created
ruby
require 'allure-cucumber'

When 'I go to the registration form' do
  # ...
end

And 'I enter my details' do
  Allure.parameter 'login', 'johndoe'
  Allure.parameter 'password', 'qwerty'
  Allure.parameter 'name', 'John Doe'
  Allure.parameter 'birthday', '1970-01-01'
  # ...
end

Then 'the profile should be created' do
  # ...
end

Archivos adjuntos ​

  • Allure::add_attachment: (nombre: String, fuente: Archivo | String, tipo: String, test_case: bool?)

Agrega un archivo adjunto con el nombre dado.

El contenido se pasa en el argumento fuente y puede ser una cadena de texto o un Archivo.

Para asegurarse de que el navegador web del lector muestre los archivos adjuntos correctamente, pase el tipo de medio adecuado del contenido como tipo. La clase Allure::ContentType contiene algunos tipos de medios populares, o puede usar una cadena personalizada, siempre que sea entendida por el navegador web al visualizar el informe de prueba.

Cuando se encuentra dentro de un paso de prueba, la función agrega el archivo adjunto al paso actual por defecto. Para agregarlo al resultado completo de la prueba en su lugar, pase true al argumento opcional test_case.

Si un paso de Gherkin tiene una tabla de datos, Allure Report la mostrará como uno de los archivos adjuntos del paso.

ruby
require 'allure-cucumber'

When 'I open labels page' do
  Allure.add_attachment name: 'Screenshot',
                        source: File.new('/path/to/image.png'),
                        type: Allure::ContentType::PNG
  Allure.add_attachment name: 'Data',
                        source: 'This is the file content.',
                        type: Allure::ContentType::TXT
  # ...
end
Pager
Previous pageConfiguración
Next pageEmpezando
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.