Skip to content

philips-software/Gherkin2Mtm

Repository files navigation

Gherkin2Mtm

Build status Build Status Slack

Description: When you have your manual tests represented in Gherkin for various reasons such as business, reviewable, etc., and have the testing be managed thru MTM, you would want the Gherkins be available in MTM. You can then use this tool to publish the Gherkins in the local storage to the Microsoft test management hosted in either the on-prem TFS or Azure DevOps.

  • Technology stack: .Net framework, Gherkin parser, TFS API
  • Key concepts
    • Define mapping of test case fields to tags on a scenario, matching the test case template. The tool will do the validation of field mappings
    • History of changes thru the tool to a test case are maintained, so as to satisfy regulatory requirements
    • A test case will be linked to the scenario thru a tag, MTMID, which will be added to every scenario by the tool after a successful first publish
    • A parameterized test case will be created for the corresponding scenario outline
    • Steps of a Background are prepended to steps list of a test case for every scenario of that feature
  • Status: 1.0.0
  • There is similar tool in the market, https://www.specsolutions.eu/services/specsync/, but it does not help populating test case fields. Like this toold does, with the help of a field mapper. Also, specsync is a commercial solution.

Dependencies

All the dependences are defined in the project, so you just need to have an active internet connection to get them.

Installation

So far, this is been used as a build artifact in a pipeline. Creating the installer will be the future work.

Configuration

Usage

Once the solution is built, use the following commandline to kick off the publish process

Gherkin2Mtm.exe --server <serverurl> --project <name of the project> --creds <creds> --personalAccessToken <pat> --area <area path> --featuresPath <path to feature files>

  • server/t: The URL of either TFS or Azure DevOps - Required
  • project/p: Name of the project to which the Gherkins are to be published - Required
  • creds/c: username:password@domain - Optional
  • personalAccessToken/a the required personal access token - Optional But missing either this or the creds option falls back to NT authentication
  • area/h area path that every test case belongs to - Optional
  • featuresPath/f path to feature files, which is an input and can be mentioned in 3 ways - Required
    • path to a single file
    • path to a folder
    • multiple file paths separated by a semi-colon

How to test the software

Feature files with different data are available inside the tests folder to test the software with the usage given above. Plan is to automate these tests.

Known issues

  • Does not support parallel execution
  • Only supports either TFS or Azure Devops - idea is to develop adaptors for different test case management solutions
  • This only publishes scenarios tagged as @Manual

Contact / Getting help

Maintainers Slack

License

LICENSE