specflow reporting how generate test reports
Tutoriel Specflow Report Generator: Façons de générer des rapports de test et d'exécuter des tests sélectifs dans Specflow:
Dans ce Tutoriels de formation Specflow pour tous , nous avons tout exploré Générer de la documentation vivante avec Pickles dans notre tutoriel précédent.
Dans ce tutoriel, nous aborderons les différentes techniques de création de rapports pour les tests écrits dans le framework Specflow.
Le type de rapport généré dépend également en grande partie du type de testeur utilisé. Des variantes gratuites et payantes de coureurs sont disponibles, chacune ayant ses propres avantages et inconvénients.
Nous discuterons plus en détail de la création de rapports en utilisant une combinaison de NUnit en tant que testeur et de modèles de rapport Specflow pour générer des rapports HTML à partir des fichiers de sortie de test générés par NUnit.
Ce que vous apprendrez:
Rapports Specflow
Voir la vidéo: Regardez le didacticiel vidéo sur Specflow Reporting
comment représenter un graphe en java
Génération de rapports de test - Prérequis
Avant de commencer à générer un rapport de test, assurons-nous que tous les prérequis sont disponibles ou installés.
Nous utiliserons le même exemple de test de recherche YouTube qui utilise le modèle Specflow avec le testeur NUnit. Afin de commencer à générer des rapports, vous aurez besoin de la console NUnit pour exécuter les tests Specflow.
Installez la console NUnit en téléchargeant le fichier de package exécutable pour Windows ici . Téléchargez le package MSI NUnit-Console -3.9.0 et terminez l'installation étape par étape de NUnit Console en exécutant le fichier de package téléchargé.
Une fois l'installation réussie, vous devriez pouvoir voir le dossier Nunit dans le dossier ProgramFiles.
Reportez-vous à la capture d'écran ci-dessous:
La génération de rapport Specflow fonctionne également avec d'autres frameworks comme MSUnit de la même manière que NUnit.
Processus étape par étape
#1) Exécutez les tests à l'aide de NUnit Console pour créer un rapport XML.
- Compilez le SpecflowProject dans Visual Studio et assurez-vous qu'il n'y a pas de fichier dll de projet d'erreurs de compilation créé. Le fichier DLL créé doit être disponible dans le dossier Debug / Release du projet Visual Studio.
- Ouvrez maintenant l'invite de commande et accédez à l'emplacement de base de la console NUnit.
- Exécutez la commande suivante afin d'exécuter les tests Specflow.
Voyons d'abord la syntaxe:
nunit3-console.exe 'result={PathToReportLocation};format=nunit2' {SpecflowProjectDllPath}
Une fois la commande ci-dessus exécutée, vous verrez tous vos scénarios dans les fichiers de fonctionnalités pour commencer à être exécutés. Une fois le test terminé, assurez-vous que le fichier de résultat XML de l'exécution de NUnit est généré à l'emplacement spécifié dans le résultat paramètre dans la commande ci-dessus.
Veuillez également noter ici que le format du rapport généré que nous avons est sélectionné comme «NUnit2» car la version actuelle de Specflow ne prend pas en charge NUnit 3. Une fois cette prise en charge disponible, l'option de format de rapport peut être supprimée.
#deux) Utilisez maintenant l'application specflow.exe pour créer le rapport HTML.
L'application specflow.exe s'exécute sur le rapport XML généré par NUnit et génère de beaux rapports HTML. specflow.exe est une application exécutable présente dans le dossier du package npm du projet où specflow a été installé.
Voir la capture d'écran ci-dessous pour localiser l'exécutable Specflow.
Le rapport généré par cette application est au format HTML et contient un résumé des scénarios exécutés regroupés par fonctionnalités.
Exécutez les étapes suivantes pour générer un rapport HTML à partir du rapport XML qui a été généré via l'exécution de la console NUnit.
- Ouvrez l'invite de commande et accédez à l'exécutable Specflow.
- Exécutez maintenant la commande avec la syntaxe ci-dessous pour générer le rapport HTML.
specflow.exe nunitexecutionreport --ProjectFile {PathToProjectSln.csproj} --xmlTestResult {PathToNUnitReportXml} --OutputFile {DesiredPathToGenerateHtmlReport}
- Une fois l'exécution de la commande ci-dessus terminée, assurez-vous que le rapport HTML est généré à l'emplacement de dossier spécifié.
Ouvrons le rapport généré et voyons les différentes sections. Les sections importantes décrites dans le rapport sont mises en évidence ci-dessous.
Comme vous pouvez le voir, le rapport ci-dessus est beaucoup plus facile à lire et à interpréter et est utile à toutes les parties prenantes du projet pour avoir un aperçu du résumé global de l'exécution des tests.
Exécution de tests sélectifs
Très souvent, vous devez exécuter quelques tests sélectifs ou un sous-ensemble de l'ensemble de la suite de tests ou des tests marqués avec certaines catégories spéciales. Tout cela est possible via les balises Specflow que nous avons vues dans nos articles précédents (qui peuvent être appliquées aussi bien au niveau de la fonctionnalité qu'au niveau du scénario).
Ainsi, afin d'exécuter uniquement un sous-ensemble de tests, nous pouvons utiliser des balises Specflow pour marquer / étiqueter de tels scénarios et lors de l'exécution de la console NUnit, les catégories peuvent être mentionnées dans le cadre de la commande.
Voyons le processus étape par étape pour effectuer une exécution de test sélective:
#1) Ouvrez le projet Visual Studio et étiquetons un scénario / une fonctionnalité que nous voulons exécuter de manière sélective avec une balise / catégorie nommée «sélective».
#deux) Compilez la solution pour que les modifications aient lieu et une nouvelle DLL avec les modifications mises à jour est créée.
# 3) Ouvrez maintenant l'invite de commande et suivez les étapes mentionnées ci-dessus pour exécuter les tests avec l'application console NUnit.
# 4) L'exécutable NUnit examine le filtre de test et essaie de rechercher tous les tests correspondant au filtre spécifié. Dans notre cas, il essaiera de faire correspondre toutes les fonctionnalités / scénarios avec la catégorie «sélectif» et n'exécutera que ces tests.
Puisque nous venons de marquer un scénario avec cette balise, nous devrions nous attendre à ce que le lanceur de test NUnit n'exécute qu'un seul test.
nunit3-console.exe '--result={PathToReportFile};format=nunit2' --where 'cat == selective' {PathToSpecflowSeleniumProjectDll}
Comme vous pouvez le voir ci-dessus, nous avons mentionné un filtre comme 'cat == selective'. L'application NUnit l'interprète comme un filtre de catégorie avec la valeur «sélectif».
# 5) Une fois l'exécution de la commande ci-dessus terminée, nous pouvons voir le résumé du test sur la console (ainsi que le rapport XML généré par NUnit).
# 6) Maintenant, nous pouvons créer un rapport HTML à partir de celui-ci (en suivant les étapes pour générer du HTML via l'exécutable Specflow). Voici à quoi ressemblera le HTML généré.
Comme NUnit vient d'exécuter un test, le rapport HTML généré ne doit afficher qu'une seule fonctionnalité et un seul scénario.
Voyons à quoi ressemble le rapport HTML:
Conclusion
Dans ce didacticiel, nous avons exploré les différentes manières d'exécuter des tests de fonctionnalités Specflow ainsi que de générer des rapports HTML via l'exécutable Specflow. Les rapports générés sont faciles à lire et à interpréter et sont utiles à toutes les parties prenantes du projet.
Nous avons également vu les techniques pour exécuter un sous-ensemble de tests plutôt que toute la suite de tests via des balises Specflow qui permettent à NUnit de rechercher / filtrer des scénarios spécifiques et d'exécuter uniquement ceux qui correspondent aux critères de filtre spécifiés.
Consultez notre prochain didacticiel pour explorer les questions d'entrevue les plus fréquemment posées sur Specflow!
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Générer de la documentation vivante avec Pickles pour les fichiers d'entités Specflow
- Comment gérer les exigences, exécuter des cas de test et générer des rapports à l'aide de TestLink - Tutoriel n ° 2
- Guide pour générer des rapports d'étendue dans Selenium WebDriver
- Créer des tests Appium pour une application Android
- Transformations d'arguments d'étape et tables Specflow
- Comment exécuter une exécution à grande échelle de tests Appium en parallèle
- Exécution de vos tests Appium en parallèle à l'aide d'Appium Studio pour Eclipse
- Tutoriel Specflow: Le guide ultime de l'outil BDD