Allure Report - Un outil de reporting pour votre framework de test
23 août 2024

Licence Creative Commons

Introduction

Dans la majorité des cas, l'utilisation d'un outil de reporting qui permet de visualiser facilement les résultats de vos tests automatisés doit être envisagé. Bien évidemment, il existe de nombreux outils de reporting pout chaque framework de test. On peut citer par exemple le plugin maven-surefire-report pour les tests JUnit ou mochawesome pour les tests avec le framework Mocha dans l'écosystème JavaScript.

Malheureusement l'ajout ou la description de certaines informations est impossible lorqu'on utlise ces outils. Par exemple, dans les rapports de test au format XML générés par maven-surefire-report, on peut constater qu'il n'existe aucune balise pour décrire les étapes de test ou gérer les captures écrans.

Rapport de test au format Maven Surefire (XML)

<?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="fr.ingenieurtest.reporting.ExempleTest" time="0.665" tests="1" errors="0" skipped="0" failures="0">
  <testcase name="testTrueAuthentification" classname="fr.ingenieurtest.reporting.ExempleTest" time="0.086">
    <system-out><![CDATA[Remplissage du champ login
Remplissage du champ password
Clic sur le bouton connexion
Vérifier l'affichage de la page d'accueil
]]></system-out>
  </testcase>
</testsuite>

Une solution possible pour répondre à ce genre de besoin est d'utiliser Allure Report. Grâce à cet outil, vous pourrez ajouter dans votre rapport de test divers informations supplémentaires comme par exemple la description d'un test, les étapes de test ou une capture écran.


Présentation de l'outil

Allure report est un outil open-source qui permet de générer des rapports de test clairs, complets et détaillés. La particularité notable de cet outil est qu'il peut s'adapter et s'intéger à tout type de framework de test et de langage de programmation. Par exemple, il est possible d'utiliser Allure report avec JUnit, TestNG, Mocha, Jest, Robot framework ou Cypress (Consulter la liste complète).

Exemple

Code source d'un test JUnit

package fr.ingenieurtest.reporting.allure;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import io.qameta.allure.Allure;
import io.qameta.allure.Description;
import io.qameta.allure.Severity;
import static io.qameta.allure.SeverityLevel.*;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class AllureTest {

    @Test
    @DisplayName("Authentification avec un identifiant et un mot de passe valide")
    @Description("Une authentification reussi entraine une redirection vers la page d'accuei")
    @Severity(CRITICAL)
    void testTrueAuthentification() { 
        Allure.step("Saisir l'identifiant de l'utilisateur", step -> {
            System.out.println("Remplissage du champ login");
        });
        Allure.step("Saisir le mot de passe de l'utilisateur", step -> {
            System.out.println("Remplissage du champ password");
        });
        Allure.step("Cliquer sur la bouton de connexion", step -> {
            System.out.println("Clic sur le bouton connexion");
        });
        Allure.step("Vérifier l'affichage de la page d'accueil", step -> {
            System.out.println("Affichage de la page d'accueil");
        });

        String name = "Fichier log";
        String content = "[2024-08-22 21:20:42][INFO] Remplissage du champ login\n" +
                         "[2024-08-22 21:20:45][INFO] Remplissage du champ password\n" +
                         "[2024-08-22 21:20:48][INFO] Clic sur le bouton de connexion\n" + 
                         "[2024-08-22 21:20:52][INFO] Affichage de la page d'accueil\n"; 

        Allure.addAttachment(name, content);
        assertEquals("OK", "OK");
    }
}

Rapport de test Allure au format HTML

Fonctionnement

Durant l'execution des tests, l'adpateur Allure qui est intégré au framework de test reçoit les données d'execution de test (résultats, temps d'execution, etc) et les enregiste dans son propre format dans un répertoire. Ensuite, un rapport de test au format HTML peut être généré à partir des données d'execution de test au format Allure. Le répertoire allure-result peut éventuellement contenir des pièces jointes.

Conclusion

Allure Report est un puissant outil open-source pour la génération de rapports de test clairs et détaillés. L'une de ces plus grande force est la prise en charge des frameworks de test les plus populaires. Pour en savoir plus, consulter la documentation officiel (https://allurereport.org/docs).



Références: