Please use below one it supports both testrail api's and integration with other frameworks
https://www.npmjs.com/package/testrail-integration
Integration of Cucumber and TestRail
- Caseids can have either @c or @C Ex: @c123 or @C123
- BugIds pattern follow as Bug-JIRAID Ex: Bug-DSS-678
`
text
Feature file
Single case tagging:- @C123 Scenario Outline:
@c123 Scenario:
Mulltiple Case taggings
@C123 @C789 @c432 Scenario Outline:
CaseID mapping with Bugs
@C123 @Bug-DSS-678 Scenario Outline:
- Multiple bugs mapping
@C123 @Bug-DSS-678,DSS-987
Scenario Outline:
`
- Multiple bugs mapping
@C123 @Bug-DSS-678,DSS-987
Scenario Outline:
Create hook file, or you can try hooks of protractor,webdriverio etc
- If you are using cucumber framework, you can create separe native cucmber hooks as well if needed
//typescript
import {CucumberRailClient} from "testrail-integration";
//javascript
const {CucumberRailClient} = require ("testrail-integration");
//username, password, url, runid and version can be passed from .env or config or property file
//Below code you can keep it in Before All hook
const options = {
username: "test@gmail.com",
password: "pwd123,
url: "https://in12.testrail.io"
};
const testrail = new CucumberRailClient(options);
//Below code , just added flag with or without testrail
After({timeout: 100 * 3000}, async (scenario) => {
console.log(`Scenario ${scenario.result.status.toString()}`);
if (istestrailrun.includes("true")) {
const runid = 1;
const version = "Build 1.3.4"
try {
await testrail.updateTestRailResults(scenario, runid, version);
} catch (err) {
console.log("Error " + err);
}
}
});
License
Please see LICENSE.md.