Contactez-nous

Comprendre les rapports générés : `log.html` et `report.html`

Maîtrisez l'interprétation des rapports `log.html` et `report.html` générés par Robot Framework pour une analyse approfondie et un débogage efficace de vos tests automatisés.

Les artefacts essentiels de l'exécution : `log.html` et `report.html`

Chaque fois que vous exécutez une suite de tests avec Robot Framework, il produit un ensemble de fichiers de sortie. Parmi ceux-ci, deux fichiers HTML se distinguent par leur importance capitale pour comprendre et analyser les résultats : `log.html` et `report.html`. Ces rapports sont générés automatiquement et fournissent des niveaux de détail différents, complémentaires pour une vision complète de la session de test. Ils sont la principale source d'information pour déterminer si les tests ont réussi, identifier les échecs, et diagnostiquer les problèmes.

Par défaut, ces fichiers sont créés dans le répertoire à partir duquel la commande `robot` a été lancée, mais leur emplacement et leurs noms peuvent être personnalisés via les options en ligne de commande (par exemple, avec `--outputdir`, `--log`, `--report`). Comprendre la structure et le contenu de ces deux rapports est une compétence fondamentale pour tout utilisateur de Robot Framework, car ils transforment les données brutes d'exécution en informations exploitables.

Ces rapports sont conçus pour être consultés dans un navigateur web standard, offrant une interface interactive avec des sections dépliables, des filtres, et des liens de navigation, ce qui facilite grandement leur exploration et l'analyse des résultats, même pour des suites de tests volumineuses.

Le fichier `log.html` : une plongée détaillée dans l'exécution de chaque test

Le fichier `log.html` est le rapport le plus détaillé. Il offre une vue chronologique et hiérarchique de l'exécution de chaque test case, de chaque keyword et même des étapes internes de certains keywords (surtout ceux écrits en Python). C'est l'outil de prédilection pour le débogage et l'analyse approfondie des échecs.

Voici les principales sections et informations que vous trouverez dans `log.html` :

  • Vue d'ensemble (Summary) : Un résumé rapide avec le nombre total de tests, les tests passés/échoués, et le temps total d'exécution. Des liens rapides vers les tests échoués sont souvent présents.
  • Arborescence des Suites et Tests (Test Execution Tree) : Sur le côté gauche (généralement), une structure arborescente liste toutes les suites de tests et les tests individuels qui ont été exécutés. Vous pouvez cliquer sur n'importe quel test ou suite pour afficher ses détails dans la partie principale du rapport.
  • Détails d'un Test Case : Lorsque vous sélectionnez un test, la vue principale affiche :
    • Son nom, son statut (PASS/FAIL), sa durée, et ses tags.
    • La documentation du test case, si elle a été fournie dans le fichier `.robot`.
    • La séquence des keywords exécutés pour ce test. Chaque keyword est affiché avec :
      • Son nom complet (incluant la librairie d'origine si ce n'est pas un User Keyword).
      • Les arguments qui lui ont été passés.
      • Son statut (PASS/FAIL/SKIP).
      • Le temps d'exécution du keyword.
      • Les messages loggés par ce keyword (ceux explicites via Log, Log To Console, mais aussi les messages internes, y compris les traces d'appels pour les keywords de bas niveau si le loglevel est TRACE).
      • En cas d'échec, le message d'erreur précis qui a causé l'échec du keyword (et donc souvent du test).
      • Pour les librairies comme SeleniumLibrary, une capture d'écran peut être automatiquement intégrée au log au moment de l'échec, ce qui est extrêmement utile pour visualiser l'état de l'interface utilisateur.
  • Messages et Niveaux de Log : Vous pouvez filtrer les messages affichés par niveau de log (TRACE, DEBUG, INFO, WARN, ERROR), ce qui peut aider à se concentrer sur les informations les plus pertinentes lors du débogage.

Le `log.html` est indispensable pour comprendre pourquoi un test a échoué. Il permet de remonter à la source de l'erreur, de voir les données exactes qui étaient manipulées, et de comprendre le flux d'exécution qui a mené à l'échec. C'est votre principal outil d'investigation.

Le fichier `report.html` : une synthèse statistique et managériale des résultats

Le fichier `report.html` fournit une vue d'ensemble de plus haut niveau des résultats de l'exécution. Il est moins axé sur les détails techniques de chaque étape et plus sur les statistiques globales, ce qui le rend idéal pour le reporting, le suivi de la qualité et la communication avec les parties prenantes non techniques.

Les éléments clés du `report.html` incluent :

  • Statistiques Générales (Statistics) : Présente de manière claire le nombre total de tests exécutés, le nombre de tests passés, le nombre de tests échoués, et le pourcentage de réussite. Le temps total d'exécution est également indiqué.
  • Statistiques par Suite (Statistics by Suite) : Un tableau détaillant les résultats pour chaque suite de tests exécutée, avec le nombre de tests passés et échoués par suite. Cela permet d'identifier rapidement si les problèmes sont localisés dans des modules spécifiques de l'application.
  • Statistiques par Tag (Statistics by Tag) : Si vous utilisez des tags pour catégoriser vos tests (par exemple, `smoke`, `regression`, `feature-X`, `priority-high`), ce tableau montre les résultats agrégés pour chaque tag. C'est une fonctionnalité très puissante pour analyser la performance de sous-ensembles spécifiques de votre suite de tests.
  • Liste des Tests (Test Details) : Une liste de tous les tests exécutés, indiquant leur suite parente, leur statut et leur durée. Les tests échoués sont généralement mis en évidence. Chaque test dans cette liste est un lien direct vers ses détails dans le `log.html`, facilitant la navigation vers une analyse plus approfondie si nécessaire.
  • Messages d'Erreur des Tests Echoués : Souvent, un résumé des messages d'erreur des tests critiques (ceux qui ont échoué) est présenté pour un diagnostic rapide.

Le `report.html` est parfait pour obtenir une vue d'ensemble rapide de la santé de votre projet après une campagne de tests. Il aide à répondre à des questions comme : "Quelle est la qualité globale de la version actuelle ?", "Quelles fonctionnalités présentent le plus de problèmes ?", "Nos tests de non-régression critiques sont-ils tous passants ?". C'est un outil de communication efficace pour partager l'état d'avancement des tests.

En combinant l'analyse détaillée du `log.html` pour le débogage et la vue synthétique du `report.html` pour le suivi global, vous disposez d'un système de reporting complet et puissant pour gérer vos efforts d'automatisation des tests avec Robot Framework.