jasmine-testrail-reporter
Reports Jasmine test results to TestRail
How to use
npm install jasmine-testrail-reporter --save-dev
or
yarn add jasmine-testrail-reporter --dev
Then the best way to pass parameters to the reporter is by environment variables:
TESTRAILUSERNAME - used to form URL, like \.testrail.io
TESTRAILEMAIL
TESTRAILPASSWORD - API key
TESTRAILPROJECTID - number | 'first' | 'last', default = 'first' (the results will be saved to your first project in the TestRail project list)
TESTRAILSUITEID - optional
TESTRAILRUNID - number | 'first' | 'last', default = 'last' (the results will be saved to your last test run in the TestRail list)
For example, you can use
env
utility, like this:env TESTRAIL_USERNAME=<...> TESTRAIL_EMAIL=<...> TESTRAIL_PASSWORD=<...> TESTRAIL_PROJECT_ID=first npm test
protractor.conf.ts
``` import TestRailReporter from 'jasmine-testrail-reporter'; const trReporter = new TestRailReporter(); // all parameters are inside environment variables // or const trReporter = new TestRailReporter({ // all parameters are setup in the code
username: 'username', // security warning: attention when commit to repository !
email: 'email', // security warning: attention when commit to repository !
password: 'password', // security warning: attention when commit to repository !
projectId: 1,
suiteId: 1,
runId: 30,
});export const config = {
onPrepare: () => {
jasmine.getEnv().addReporter(trReporter);
},
onComplete: function() {
return myReporter.publishResults()
.then(results => { console.log('complete'); })
.catch(err => { console.log(err.message); });
},
}```
Thanks
- to Simone Borecz for the idea and motivation.
to Simon Townsend for the idea to use protractor's onComplete;
TODO
- fix TS installation errors
demonstrate error (if any) in async constructor more earlier;
add status matching in parameters;
store CustomReporterResult.failedExpectations, passedExpectations, pendingReason in the IAddResultsForCases.customstepresults;
implement ‘create’ option for RunId;
implement createTestCases method;
...