🤖 WDIO-META-TAGS 🤖
Table of Contents
đź““ Purpose đź““
Have you ever thought to yourself "Damn I wish that WDIO+Mocha supported using a simple .meta() the way that Testcafe does out of the box. So that way I could use to easily append stuff to an Allure report". Wish granted. This package is basically a wrapper for Mocha that modifies the .it(), .skip(), and .only() methods to support adding "meta"-like tags to tests for more accurate Allure Reports.
📢 Prerequisites 📢
In order to use this package you'll need to install the following:
A. Git
B. NodeJs (v20.11)
C. Chrome, Firefox and IE browsers latest versions
D. VS Code
E. GitBash
It is assumed that you have the following dependencies installed in your project: @types/mocha @types/node @wdio/cli @wdio/local-runner @wdio/mocha-framework @wdio/spec-reporter allure-commandline mocha ts-node typescript @wdio/allure-reporter dotenv
🔌 Installation 🔌
Run the below command on terminal to install the library:
npm i wdio-meta-tags
or
npm install wdio-meta-tags
🧰 Usage 🧰
Test file and usage example:
import { it } from '../../tagHelper';
describe('My Feature Tests', function() {
it.meta({
addTag: 'Regression',
addEpic: 'User Authentication',
addStory: 'Login Functionality',
addDescription: { description: 'Testing the login feature', type: 'text' },
jiraTicketId: 'DP-1234'
})('should perform a specific task', async function() {
//test logic
});
});
This probably goes without saying but you'll also need to update your WDIO config file and add Allure as a reporter and set the framework to Mocha. Additionally, you'll need to create a .env file with the variable WDIO_META_TAGS_JIRA_BASE_URL
and then set it to your preferred test management software/url (ex. WDIO_META_TAGS_JIRA_BASE_URL= potato.atlassian.com/browse/). Note that this will override the allure tmsLinkTemplate in your WDIO config file.
🧠Supported Allure API Commands đź§
@wdio/allure-reporter documentation can be found .
-
addLabel(name, value)
- assign a custom label to test -
addFeature(featureName)
– assign features to test -
addStory(storyName)
– assign user story to test -
addSeverity(value)
– assign severity to test, accepts one of these values: blocker, - critical, normal, minor, trivial -
addTag(value)
– assign a tag label to test -
addEpic(value)
– assign an epic label to test -
addOwner(value)
– assign an owner label to test -
addSuite(value)
– assign a suite label to test -
addSubSuite(value)
– assign a sub suite label to test -
addParentSuite(value)
– assign a parent suite label to test -
addIssue(value)
– assign issue id to test -
addAllureId(value)
– assign allure test ops id label to test -
addTestId(value)
– assign TMS test id to test -
addArgument(name, value)
- add an additional argument to test -
addDescription(description, [type])
– add description to test-
description (String)
- description of the test -
type (String, optional)
– description type, text by default. Values ['text', 'html','markdown']
-
🎸 Report Example 🎸
🗯️ Troubleshooting 🗯️
You may need to the latest Java SDK if you have problems launching allure.
đź’« License đź’«
This project is licensed under the MIT License - see the LICENSE file for details.