/wdio-testrail-cucumber-reporter

Custom reporter for pushing cucumber based webdriverio results to testrail

Primary LanguageJavaScript

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