Skip to main content

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

runName​

Custom name for the test run.

Type: string

existingRunId​

Id of an existing test run to update.

Type: string

oneReport​

Create a single test run.

Type: boolean

includeAll​

Include all tests in suite in test run.

Type: boolean

caseIdTagPrefix​

Prefix use to locate for case ID in Cucumber tags, useful for multi-platform Cucumber Scenario executions

Type: string

useCucumber​

Indicates whether the tests are written using the Cucumber framework. By default, it is set to false.

Type: boolean

timeInMinutes​

Max time in past to consider when using 'oneReport' to check for existing runs.

Type: number


For more information on WebdriverIO see the homepage.

Welcome! How can I help?

WebdriverIO AI Copilot