sm-salty-cypress-testrail-reporter v1.0.0
TestRail Reporter for Cypress
Publishes Cypress runs on TestRail.
Cloned from the original package cypress-testrail-reporter by Milutin Savovic
The original package by Milutin is awesome!
Allows for options to create a new test run on cypress run or if you want the option to create one manually. This includes a security update for Axios.
Install
npm install sm-salty-cypress-testrail-reporter --save-dev
Usage
Add reporter to your cypress.json
:
...
{
"reporter": "sm-salty-cypress-testrail-reporter",
"reporterOptions": {
"domain": "yourdomain.testrail.com",
"username": "username",
"password": "password",
"projectId": idNumber,
"suiteId": suiteNumber,
"createTestRun": "boolean",
"runId": testRunNumber,
"runName": "Test Run Name"
}
}
Your Cypress tests should include the ID of your TestRail test case. Make sure your test case IDs are distinct from your test titles:
// Good:
it("C123 C124 Can authenticate a valid user", ...
it("Can authenticate a valid user C321", ...
// Bad:
it("C123Can authenticate a valid user", ...
it("Can authenticate a valid userC123", ...
Reporter Options
domain: string domain name of your TestRail instance (e.g. for a hosted instance instance.testrail.com).
username: string email of the user under which the test run will be created.
password: string password or the API key for the aforementioned user.
projectId: number project with which the tests are associated.
suiteId: number suite with which the tests are associated.
createTestRun: boolean true if you want a test run created for you : false if you want to manually create your own test run on TestRail. If you select false, you have to pass a value into the runID property.
runId: number (optional: only necessary if createTestRun is set to true) a specific test run id number.
runName: string (optional) name of the Testrail run.
Functionality Update 10/01/2021
Change TestRail API path
Functionality Update 01/04/2019
We were having issues where we wanted to run a test run once a day using multiple spec files. However, when createTestRun: true
, the testrail reporter would create a testrun for each spec file which is not what we wanted.
I included some logic for when createTestRun: true
that checks the most recently created test run in Testrail with the current date you are running your test.
The testrail reporter will create a single testrun for the day and push all results to that newly created testrun.
TestRail Settings
To increase security, the TestRail team suggests using an API key instead of a password. You can see how to generate an API key here.
If you maintain your own TestRail instance on your own server, it is recommended to enable HTTPS for your TestRail installation.
For TestRail hosted accounts maintained by Gurock, all accounts will automatically use HTTPS.
You can read the whole TestRail documentation here.
Author
Original Author: Spencer Kekauoha - github Updated By: Jeremy Grannan - github
License
This project is licensed under the MIT license.
Acknowledgments
- Milutin Savovic, author of the cypress-testrail-reporter repository that was cloned.
- Pierre Awaragi, owner of the mocha-testrail-reporter repository that was forked.
- Spencer Kekauoha author of the salty-cypress-testrail-reporter repository that was forked.