Comenzando con Allure Behat
Genera reportes 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/myprojectAgrega 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 --devEn
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/behatEsto 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 reporte futuro se basará en todos ellos.
3. Genera un reporte
Finalmente, convierta los resultados de las pruebas en un reporte HTML. Esto se puede hacer con uno de dos comandos:
allure generateprocesa los resultados de las pruebas y guarda un reporte HTML en el directorio allure-report. Para ver el reporte, use el comandoallure open.allure servecrea el mismo reporte que allure generate, luego abre automáticamente la página principal del reporte en un navegador web.
Escribir pruebas
La integración Allure Behat extiende las características estándar de los reportes 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 reportes 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 subpasos 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 reporte 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 subpasos
Divide un paso de Gherkin en subpasos más pequeños. 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 reporte de Allure. Por ejemplo, una forma popular de hacer que un reporte 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 la integración Allure Behat.
Información del entorno
Para la página principal del reporte, 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 reporte. Si tienes propiedades que pueden ser diferentes para distintas pruebas, considera usar Pruebas parametrizadas.