Testrail Reporter Reporter
@wdio/testrail-reporter is a 3rd party package, for more information please see GitHub | npm
This reporter creates TestRail reports. The first thing you need is to enable the TestRail API so that report can communicate with TestRail and push the test results. To do so, log into your TestRail account and go to Administration > Site Settings > API and make sure you click the checkbox near Enable API.
Add TestRail's test case ID to the test description. e.g.
it("C123456 Page loads correctly", async () => {
This also supports multiple caseIDs. e.g.
it("C123456 C678910 Page loads correctly", async () => {
Install
To use the reporter, add it to your package.json
:
npm i --save-dev @wdio/testrail-reporter
Usage
Add the reporter to your WDIO config file.
Example for when you want to create a new test run:
export const config = {
// ...
reporters:
[
['testrail', {
projectId: 1,
suiteId: 1,
domain: 'xxxxx.testrail.io',
username: process.env.TESTRAIL_USERNAME,
apiToken: process.env.TESTRAIL_API_TOKEN,
runName: 'name for the test run',
oneReport: true,
includeAll: false,
caseIdTagPrefix: '' // used only for multi-platform Cucumber Scenarios
}
]
],
// ...
}
Example for when you want to update an existing test run:
export const config = {
// ...
reporters:
[
['testrail', {
projectId: 1,
suiteId: 1,
domain: 'xxxxx.testrail.io',
username: process.env.TESTRAIL_USERNAME,
apiToken: process.env.TESTRAIL_API_TOKEN,
existingRunId: 2345,
oneReport: true,
includeAll: false
}
]
],
// ...
}
Example for when you need different project and/or suite ids based on the test suite to execute:
export const config = {
// ...
reporters:
[
['testrail', {
projectId: process.env.TESTRAIL_PROJECT_NAME == 'PROJECT_A' ? 1 : 2,
suiteId: process.env.TESTRAIL_SUITE_NAME == 'SUITE_A' ? 10 : 20,
domain: 'xxxxx.testrail.io',
username: process.env.TESTRAIL_USERNAME,
apiToken: process.env.TESTRAIL_API_TOKEN,
runName: 'name for the test run',
oneReport: true,
includeAll: false
}
]
],
// ...
}
Options
projectId
ID of the testrail project.
Type: string
suiteId
ID of the suite, suite 1 is default.
Type: string
domain
Domain of your testrail instance, e.g. your-domain.testrail.io
.
Type: string
username
Username of your testrail instance.
Type: string
apiToken
API token of your testrail instance.
Type: string