Comenzando con Allure Behat
Genera informes HTML hermosos utilizando Allure Report y tus pruebas de Behat.
Configuración
1. Prepara tu proyecto
Instala la herramienta de línea de comandos de Allure Report, si aún no está instalada en tu sistema operativo. Ten en cuenta que Allure Report requiere Java, consulta las instrucciones de instalación.
Abre una terminal y ve al directorio del proyecto. Por ejemplo:
bashcd /home/user/myproject
Agrega el repositorio de Allure Behat al archivo composer.json de tu proyecto, por ejemplo:
json{ "repositories": [ { "url": "https://github.com/allure-framework/allure-behat.git", "type": "vcs" } ] }
Agrega allure-framework/allure-behat a las dependencias de desarrollo de tu proyecto:
bashphp composer.phar require allure-framework/allure-behat:dev-master --dev
En
behat.yml
, agrega la extensión Allure y habilita el formateador allure:yamldefault: formatters: pretty: true allure: true extensions: Allure\Behat\AllureFormatterExtension: {}
Cambia las opciones de configuración de la extensión si es necesario.
2. Ejecuta las pruebas
Ejecuta tus pruebas de Behat de la misma manera que lo harías normalmente. Por ejemplo:
vendor/bin/behat
Esto guardará los datos necesarios en allure-results
u otro directorio, según la configuración de output_path
. Si el directorio ya existe, los nuevos archivos se agregarán a los existentes, de modo que un informe futuro se basará en todos ellos.
3. Genera un informe
Finalmente, convierte los resultados de las pruebas en un informe HTML. Esto se puede hacer con uno de los dos comandos:
allure generate
procesa los resultados de las pruebas y guarda un informe HTML en el directorioallure-report
. Para ver el informe, usa el comandoallure open
.Usa este comando si necesitas guardar el informe para futuras referencias o para compartirlo con colegas.
allure serve
crea el mismo informe queallure generate
, pero lo coloca en un directorio temporal y comienza un servidor web local configurado para mostrar el contenido de este directorio. El comando luego abre automáticamente la página principal del informe en un navegador web.Usa este comando si necesitas ver el informe para ti mismo y no necesitas guardarlo.
Escribir pruebas
El adaptador Allure Behat extiende las características estándar de los informes de Behat proporcionando capacidades adicionales para crear pruebas más informativas y estructuradas. Esta sección resalta mejoras clave que se pueden utilizar:
- Anotación de metadatos: Mejora los informes de las pruebas con enlaces a problemas, enlaces a TMS y niveles de gravedad.
- Organización de pruebas: Estructura tus pruebas según sus historias de usuario para una mejor legibilidad y organización.
- División de pasos: Divide los pasos en sub-pasos para facilitar su comprensión y mantenimiento.
- Adjuntos: Captura automáticamente capturas de pantalla y otros archivos durante la ejecución de la prueba.
- Detalles del entorno: Incluye información completa del entorno para acompañar el informe de la prueba.
Especificar metadatos
Especifica enlaces a problemas, enlaces a TMS y nivel de gravedad para tu prueba a través de etiquetas Gherkin. Consulta la referencia para más detalles.
Feature: Etiquetas
@issue:https://issues.example.org/AUTH-123
@tms:https://tms.example.org/TMS-456
@severity:critical
Scenario: Crear una nueva etiqueta para el usuario autorizado
When Abro la página de etiquetas
And Creo una etiqueta con el título "hello"
Then Debería ver la etiqueta con el título "hello"
Organizar pruebas
Agrupa las pruebas según sus historias de usuario añadiendo etiquetas Gherkin arbitrarias.
@UI @Labels
Feature: Labels
Scenario: Crear nueva etiqueta para usuario autorizado
When Abro la página de etiquetas
And creo una etiqueta con el título "hello"
Then Debería ver la etiqueta con el título "hello"
Dividir un paso en sub-pasos
Divide un paso de Gherkin en sub-pasos más pequeños sub-pasos. Consulta la referencia para más detalles.
use Behat\Behat\Context\Context;
use Yandex\Allure\Adapter\Support\StepSupport;
class MyContext implements Context
{
use StepSupport;
/**
* @When I go to the registration form
*/
public function goToRegistrationForm()
{
$this->executeStep('Step 1', [$this, 'step1']);
$this->executeStep('Step 2', [$this, 'step2']);
}
public function step1()
{
$this->executeStep('Step 1.1', function () {
// ...
});
$this->executeStep('Step 1.2', function () {
// ...
});
}
public function step2()
{
$this->executeStep('Step 2.1', function () {
// ...
});
$this->executeStep('Step 2.2', function () {
// ...
});
}
}
Adjuntar capturas de pantalla y otros archivos
Puedes adjuntar cualquier tipo de archivo a tu informe de Allure. Por ejemplo, una forma popular de hacer que un informe sea más fácil de entender es adjuntar una captura de pantalla de la interfaz de usuario en un determinado punto. Consulta la referencia para más detalles.
use Behat\Behat\Context\Context;
use Yandex\Allure\Adapter\Support\AttachmentSupport;
class MyContext implements Context
{
use AttachmentSupport;
/**
* @When I go to the registration form
*/
public function profileShouldBeCreated()
{
$this->addAttachment('/path/to/image.png', 'Screenshot', 'image/png');
}
}
Seleccionar pruebas a través de un archivo de plan de pruebas
DANGER
El plan de pruebas actualmente no es compatible con el adaptador Allure Behat.
Información del entorno
Para la página principal del informe, puedes recopilar diversa información sobre el entorno en el que se ejecutaron las pruebas.
Por ejemplo, es una buena idea usar esto para recordar la versión del sistema operativo y la versión de PHP. Esto puede ayudar al lector futuro a investigar errores que solo se reproducen en algunos entornos.
Para proporcionar información del entorno, pon 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.