Skip to content

gavin771/wdio-testrail-cucumber-reporter

 
 

Repository files navigation

TestRail Reporter for Webdriver.io using Cucumber

Pushes test results into TestRail system. Fork from wdio testrail reporter

Installation

 npm i wdio-testrail-cucumber-reporter -D

Usage

Ensure that your TestRail installation API is enabled and generate your API keys. See http://docs.gurock.com/

Add reporter to wdio.conf.js:

const WdioCucumberTestRailReporter = require('wdio-testrail-cucumber-reporter');

...

    reporters: ['spec', WdioCucumberTestRailReporter],
    testRailsOptions: {
      domain: "yourdomain.testrail.net",
      username: "username",
      password: "password",
      projectId: 1,
      suiteId: 1,
      runName: "My test run",
      includeAll: true
    }

Mark your cucumber scenarios with ID of TestRail test cases. Ensure that your case ids are well distinct from test descriptions.

Scenario: C123 C324 I should be able to navigate to the home page
Scenario Outline: C123 C324 I should be able to navigate to the home page

Only passed or failed tests will be published. Skipped or pending tests will not be published resulting in a "Pending" status in TestRail test run.

JSDocs can be found here

Options

domain: string domain name of your TestRail instance (e.g. for a hosted instance instance.testrail.net)

username: string user email under which the test run will be created

password: string password or API token for user

projectId: number project number with which the tests are associated

suiteId: number|array suite number with which the tests are associated. Use an array to create a test plan & a number to create a test run

includeAll: boolean should all of the tests from the test suite be added to the run ?

runName: string Name that will be given to the run on TestRail

assignedToId: number (optional) user id which will be assigned failed tests


Advanced Options

Scenario A

You want to update an existing automation run.

Add to your config object:

updateRun: runId

Cannot be used with Scenario C or D


Scenario B

You want to execute an automation run that does not include all tests in the suite, just the ones in your automation.

Add to your config object:

includeAll: false

Can be used with any configuration


Scenario C

You want to create a test plan; test runs that pull cases from multiple suites.

Add to your config object:

suiteId: [id1,id2,id3...]

Can be used with scenario D


Scenario D

You want to update the test results in your test plan without creating a new test plan.

Add to your config object:

suiteId: [id1,id2,id3...],
updatePlan: planId

Feel free to submit any bugs/issues/suggestions

https://github.com/gavin771/wdio-testrail-cucumber-reporter/issues

References