Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/markjsapp/wdio-meta-tags
a node package that allows Testcafe like meta tagging for WDIO and Allure via Mocha
https://github.com/markjsapp/wdio-meta-tags
allure-report automation automation-testing metadata mocha mocha-chai nodejs npmjs npmjs-packages typescript wdio webdriverio
Last synced: 11 days ago
JSON representation
a node package that allows Testcafe like meta tagging for WDIO and Allure via Mocha
- Host: GitHub
- URL: https://github.com/markjsapp/wdio-meta-tags
- Owner: markjsapp
- License: mit
- Created: 2024-02-01T04:48:02.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-02-03T17:51:30.000Z (11 months ago)
- Last Synced: 2024-12-23T15:38:18.674Z (13 days ago)
- Topics: allure-report, automation, automation-testing, metadata, mocha, mocha-chai, nodejs, npmjs, npmjs-packages, typescript, wdio, webdriverio
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/wdio-meta-tags
- Size: 85 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
🤖 WDIO-META-TAGS 🤖
## **Table of Contents**
- [Purpose](#purpose)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Report Example](#report-example)
- [Running the App](#running-the-App)
- [Scripts](#scripts)
- [Troubleshooting](#troubleshooting)## 📓 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.[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/G2G3TQC7N)
## 📢 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. GitBashIt 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 ![here](https://webdriver.io/docs/allure-reporter/#supported-allure-api).* ```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 🎸
![Report](https://i.imgur.com/vVyXsfr.jpg)## 🗯️ Troubleshooting 🗯️
You may need to ![download](https://www.oracle.com/java/technologies/downloads/) the latest Java SDK if you have problems launching allure.## 💫 License 💫
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.