Publié le Nov 22, 2019
Automation Tes insights about QA for Startups using UI Automation Test report using Protractor, BDD and cucumber-html-reporter
Dans le développement de script de test orienté fonctionnalités, la solution Test Reporting est réalisable pour le framework Protractor avec l'intégration de cucumber. Commençons le test d'automatisation avec la structure du framework.
Le script de test est conçu sur la base de l'ordre des cas de test par scénario de test fourni pour le rapport de test d'automatisation de l'interface utilisateur. Sur ce cadre, le fichier de fonctionnalités Cucumber fait le contrôle de l'ordre d'exécution. Tout comme TestNG ou JUnit. Mais à la différence de ces frameworks dans cette solution.=
Le composant que nous utilisons ici est un outil Open source de npm. Inc Ces gars fournissent des outils openSource étonnants. Ils vous seront utiles à l'avenir.
Des outils de développement JavaScript essentiels qui vous aident à aller plus vite sur le marché et à construire des applications puissantes en utilisant du code open-source moderne. Dans cet article, nous ne considérons cet outil que pour les tests d'automatisation.
5.0.0 - Public La fonction de ce composant est de créer un fichier JSON avec l'APIs de résultats de cucumber. Pour l'activer, vous devez installer
npm install cucumber-html-reporter --save-dev
La dernière version de cette installation prend en charge cucumber 3 🙂La dernière version de cette installation prend en charge cucumber 3
Installercucumber-html-reporter@2.0.3 pour cucumber version < Cucumber@3Installer cucumber-html-reporter@0.5.0 pour cucumber version < Cucumber@2Installer cucumber-html-reporter@0.4.0 pour node version <0.12
Commençons par le début. Si vous avez déjà installé ce composant (Restez concentré sur la version de Cucumber).
1. installer le paquet
2. ajouter du code à la classe Runner (cela créera un fichier json pour vous)
3.créer le fichier index.js (pour convertir votre json en HTML)
4.exécuter index.js (cela créera un rapport HTML à l'emplacement mentionné).
Ce module convertit le format JSON de Cucumber en rapports HTML.
Pour générer des formats JSON, lancez Cucumber pour créer le format JSON et passez le nom du fichier au formateur comme indiqué ci-dessous,
$ cucumberjs test/features/ -f json:test/report/cucumber_report.json Plusieurs formateurs sont également supportés,-----> $ cucumberjs test/features/ -f summary -f json:test/report/cucumber_report.json
Utilisez-vous cucumber avec d'autres frameworks ou exécutez-vous cucumber-parallel? Passez le chemin relatif du fichier JSON dans les options comme indiqué ici
Modifiez maintenant votre classe d'exécution
cucumberOpts : { require: ['src/spec/*.spec.ts'], format : 'json:src/report/cucumber_report.json'},
Note :Applicable si storeScreenshots=true. Chemin relatif du répertoire dans lequel les captures d'écran doivent être enregistrées. Par exemple, les options ci-dessous devraient stocker les captures d'écran dans le répertoire <parentDirectory>/screenshots/ alors que le rapport se trouverait dans le répertoire <parentDirectory>/report/cucumber_report.html.
'keyword': 'Feature', 'name': 'Test Login in the System', 'line': 1, 'id': 'test-login-in-the System', 'tags': [], 'uri': 'features/login.feature', 'elements': [ { 'id': 'test-login-in-the;admin-login-function-positive', 'keyword': 'Scenario', 'line': 2, 'name': 'Admin Login function Positive', 'tags': [], 'type': 'scenario', 'steps': [ { 'arguments': [], 'keyword': 'Given', 'line': 3, 'name': 'Navigate to home', 'match': { 'location': 'src/spec/login.spec.ts:13'}, 'result': { 'status': 'passed', 'duration': 2000000 } }, { 'arguments': [], 'keyword': 'Then', 'line': 4, 'name': 'Admin positive Login', 'match': { 'location': 'src/spec/login.spec.ts:19'}, 'result': { 'status': 'passed', 'duration': 15156000000 } }, { 'arguments': [], 'keyword': 'Then', 'line': 5, 'name': 'Admin Logout', 'match': { 'location': 'src/spec/login.spec.ts:24'}, 'result': { 'status': 'passed', 'duration': 8876000000 } }, { 'arguments': [], 'keyword': 'Then', 'line': 6, 'name': 'Admin Negative Login', 'match': { 'location': 'src/spec/login.spec.ts:30'}, 'result': { 'status': 'passed', 'duration': 13136000000 } }, { 'arguments': [], 'keyword': 'Then', 'line': 7, 'name': 'Validate Error Message', 'match': { 'location': 'src/spec/login.spec.ts:35'}, 'result': { 'status': 'failed', 'duration': 1704000000, 'error_message': 'AssertionError : Message d'erreur non validé !!\N- at Login.<anonymous> (/home/aux-120/Desktop/Automation/dev2/UIAutmoation/src/pages/LoginPage.ts:53:9)\N- at step (/home/aux-120/Desktop/Automation/dev2/UIAutmoation/src/pages/LoginPage.ts:32:23)\N- at Object.next (/home/aux-120/Desktop/Automation/dev2/UIAutmoation/src/pages/LoginPage.ts:13:53)\n at fulfilled (/home/aux-120/Desktop/Automation/dev2/UIAutmoation/src/pages/LoginPage.ts:4:58)\n at <anonymous>\n at process._tickCallback (internal/process/next_tick.js:188:7)'} { 'keyword': 'After', 'hidden': true, 'match': { 'location': 'node_modules/protractor-cucumber-framework/lib/resultsCapturer.js:25'}, 'result': { 'status': 'passed', 'duration': 1000000 } } ] } ] } ]
var reporter = require('cucumber-html-reporter') ;var options = { theme : 'bootstrap', jsonFile : 'src/report/cucumber_report.json', output : 'src/report/cucumber_report.html', screenshotsDirectory : 'src/screenshots/', storeScreenshots : false, reportSuiteAsScenarios : true, launchReport : true, metadata : { 'App Version':'0.0.0', 'Test Environment': '[server]', 'Browser': 'Version 74.0.3729.169 (Official Build) (64-bit)', 'Platform': 'Ubuntu 18.04', 'Parallel': 'Scenarios', 'Executed': 'Remote'} ; reporter.generate(options) ;
$ node index.js
output : 'src/report/cucumber_report.html',
Référence : https://www.npmjs.com/package/cucumber-html-reporter#storescreenshots
Pour d'autres sujets connexes : APIS ZIWO
Lectures
Dernières News
Interviews, conseils, guides, meilleures pratiques du secteur et actualités.
Strategies for a Productive First Contact with Clients
Take time to focus on the First Contact with Clients, so you can adjust the customer experience (CX) strategy to provide the best service.
Lire la suiteThe Power of WhatsApp Business with ZIWO Conversations
ZIWO Conversations is recognized as the premier WhatsApp Business Companion, elevating both customer experiences and team collaboration to a higher standard.
Lire la suitePause and Resume Call Recording – Benefits & Industries
agents can manually pause and resume call recordings, Once an administrator has enabled the feature, agents will see a button on the dialpad
Lire la suiteOutbound IVR (Interactive Voice Response) – Definition, Components, Benefits & Practices
Outbound IVR feature is a contact center tool that is used to proactively distribute communications to customers with a predefined IVR menu.
Lire la suiteHow to Become a Customer-Centric Organization
Ways to Build a customer-centric culture in your company, customer-centricity needs to be part of your philosophy, values, and mission daily.
Lire la suiteMultilingual Contact Centers: Bridging Language Gaps
Discover how multilingual contact centers overcome language barriers to deliver outstanding assistance, thereby elevating customer experience
Lire la suite