This tool is designed to help you map Cucumber feature files to TestRail. It will create a new Section in testRail if it does not exist and upload the feature file to the testRail. For each scenario in the feature file, it will create a new test case in the testRail and map the test case to the scenario. Also It can be used to upload multiple feature files in a directory to TestRail (in-progress).
- Map Cucumber feature files to TestRail
- Create a new Section in TestRail if it does not exist
- Create a new test case in TestRail for each scenario in the feature file
- Map the test case to the scenario
- Upload multiple feature files in a directory to TestRail (in-progress)
- Update the existing test cases (in-progress)
- Add Tags in Refs and Other Fields (in-progress)
- Add Functionality for Test Run (in-progress)
- Dockerize the Application to run from CI (in-progress)
You can install the TestRail-Cucumber Mapper globally using npm:
git clone git@github.com:afsarali-pg/testrail-cucumber-mapper.git
cd testrail-cucumber-mapper
npm install
npm run compile
# Now you can access the command line tool
testrail
Before using TestRail-Cucumber Mapper, you need to set up your TestRail credentials. You can do this by running:
or create a .env
file in the root directory of the project and add the following environment variables:
export TR_USERNAME=<your_username>
export TR_PASSWORD=<your_password>
export TR_URL=<your_testrail_url>
export FEATURES_PATH=marketplace-qaautomation/tests/features/api,marketplace-qaautomation/tests/features/ui
export TESTRAIL_SECTION_NAME=Automation #Optional , If you want to create a new section/ use existing section in TestRail project
exort TESTRAIL_PROJECT_NAME=Fintech #Optional If you select the project name as Other then this will be used
REDIS_HOST=<REDIS_HOST>
REDIS_DB=4
RUN_NAME='integration - guruland test results for desktop with Github Run 334'
CUCUMBER_JSON_FILE_PATH=/Users/mohammedafsar/Repository/POC/testrail-cucumber-mapper/cucumber-report.json
#MILESTONE_ID=1 # TestRail Milestone ID
#PLAN_ID=1 # TestRail Test Plan ID
SLACK_ICON_EMOJI=:warning:
SLACK_CHANNEL='#afsar-test'
SLACK_BOT_NAME='Test Rail Bot'
SLACK_WEBHOOK_URL=<SLACK_WEBHOOK_HERE>
Or you can use .env
file:
To map TestRail test cases to Cucumber scenarios, you can run the following command:
tesrail
Then Follow the prompts to map the test cases to the cucumber scenarios.
testrail -r "test_run" -p "Fintech"
Here -r = run type
and -p = project name
testrail -r "test_case" -p "Fintech" -f "/Users/mohammedafsar/Repository/marketplace-qaautomation/tests/features/api/fintech/my-prequal"
Here -r = run type
and -p = project name and -f = feature file path
Contributions are welcome! If you'd like to contribute to TestRail-Cucumber Mapper, please follow these steps:
- Fork the repository.
- Create your feature branch:
git checkout -b feature/my-feature
. - Commit your changes:
git commit -am 'Add my feature'
. - Push to the branch:
git push origin feature/my-feature
. - Submit a pull request.
Current version: 1.0.7
- [x] Upload Single Cucumber Feature File to TestRail
- [x] Upload Multiple Cucumber Feature Files in a directory to TestRail
- [x] Add Tags in Refs and Other Fields
- [ ] Add Functionality to update the existing test cases
- [x] Add Functionality for Test Run
- [ ] Dockerize the Application to run from CI
- [x] Add Slack Notification
This project is licensed under the MIT License.