TestIT.Adapter.SpecFlowPlugin 1.7.1

dotnet add package TestIT.Adapter.SpecFlowPlugin --version 1.7.1                
NuGet\Install-Package TestIT.Adapter.SpecFlowPlugin -Version 1.7.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TestIT.Adapter.SpecFlowPlugin" Version="1.7.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TestIT.Adapter.SpecFlowPlugin --version 1.7.1                
#r "nuget: TestIT.Adapter.SpecFlowPlugin, 1.7.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install TestIT.Adapter.SpecFlowPlugin as a Cake Addin
#addin nuget:?package=TestIT.Adapter.SpecFlowPlugin&version=1.7.1

// Install TestIT.Adapter.SpecFlowPlugin as a Cake Tool
#tool nuget:?package=TestIT.Adapter.SpecFlowPlugin&version=1.7.1                

Test IT TMS Adapter for SpecFlow

Getting Started

Installation

NuGet CLI
Install-Package TestIT.Adapter.SpecFlowPlugin
Install-Package TestIT.Adapter.Core
.NET CLI
dotnet add package TestIT.Adapter.SpecFlowPlugin
dotnet add package TestIT.Adapter.Core
Add runtime plugin

Also you need to add following lines to specflow.json:

{
  "assembly": "Tms.Adapter.SpecFlowPlugin"
}

Usage

Configuration

Description File property Environment variable
Location of the TMS instance url TMS_URL
API secret key How to getting API secret key? privateToken TMS_PRIVATE_TOKEN
ID of project in TMS instance How to getting project ID? projectId TMS_PROJECT_ID
ID of configuration in TMS instance How to getting configuration ID? configurationId TMS_CONFIGURATION_ID
ID of the created test run in TMS instance. If you don't provide a test run ID, the adapter will automatically create one. testRunId TMS_TEST_RUN_ID
Parameter for specifying the name of test run in TMS instance (It's optional). If it is not provided, it is created automatically testRunName TMS_TEST_RUN_NAME
It enables/disables certificate validation (It's optional). Default value - true certValidation TMS_CERT_VALIDATION
Mode of automatic creation test cases (It's optional). Default value - false. The adapter supports following modes:<br/>true - in this mode, the adapter will create a test case linked to the created autotest (not to the updated autotest)<br/>false - in this mode, the adapter will not create a test case automaticCreationTestCases TMS_AUTOMATIC_CREATION_TEST_CASES
Mode of automatic updation links to test cases (It's optional). Default value - false. The adapter supports following modes:<br/>true - in this mode, the adapter will update links to test cases<br/>false - in this mode, the adapter will not update link to test cases automaticUpdationLinksToTestCases TMS_AUTOMATIC_UPDATION_LINKS_TO_TEST_CASES
Enable debug logs (It's optional). Default value - false isDebug -
File

Create Tms.config.json file in the project directory:

{
  "url": "URL",
  "privateToken": "USER_PRIVATE_TOKEN",
  "projectId": "PROJECT_ID",
  "configurationId": "CONFIGURATION_ID",
  "testRunId": "TEST_RUN_ID",
  "testRunName": "TEST_RUN_NAME",
  "automaticCreationTestCases": false,
  "automaticUpdationLinksToTestCases": false,
  "certValidation": true,
  "isDebug": true
}

How to run

Just run the command:

dotnet test

Run with filter

To create filter by autotests you can use the Test IT CLI (use adapterMode 1 for run with filter):

$ export TMS_TOKEN=<YOUR_TOKEN>
$ testit autotests_filter 
  --url https://tms.testit.software \
  --configuration-id 5236eb3f-7c05-46f9-a609-dc0278896464 \
  --testrun-id 6d4ac4b7-dd67-4805-b879-18da0b89d4a8 \
  --framework specflow \
  --output tmp/filter.txt

$ export TMS_TEST_RUN_ID=6d4ac4b7-dd67-4805-b879-18da0b89d4a8
$ export TMS_ADAPTER_MODE=1

$ dotnet test --filter "$(cat tmp/filter.txt)"

Attributes

Use attributes to specify information about autotest.

Description of attributes:

  • WorkItemIds - a method that links autotests with manual tests. Receives the array of manual tests' IDs
  • DisplayName - internal autotest name (used in Test IT)
  • ExternalId - unique internal autotest ID (used in Test IT)
  • Title - autotest name specified in the autotest card. If not specified, the name from the displayName method is used
  • Description - autotest description specified in the autotest card
  • Labels - tags listed in the autotest card
  • Links - links listed in the autotest card

Description of methods:

  • Adapter.AddLinks - add links to the autotest result.
  • Adapter.AddAttachments - add attachments to the autotest result.
  • Adapter.AddMessage - add message to the autotest result.

Examples

Simple test
Feature: Simple

  @ExternalId=With_all_annotations_success
  @DisplayName=With_all_annotations_success_display_name
  @Title=With_all_annotations_success_title
  @Description=With_all_annotations_success
  @Labels=Label1,Label2
  @Links={"url":"https://test01.example","title":"Example01","description":"Example01_description","type":"Issue"}
  @Links={"url":"https://test02.example","title":"Example02","description":"Example02_description","type":"Issue"}
  @WorkItemIds=123,321
  Scenario: With all annotations
    Then return true
Parameterized test
Feature: Parameterized

  @ExternalId=parametrized_test_{number}_{value}_success
  @DisplayName=parametrized_test_{number}_{value}_success_display_name
  @Title=parametrized_test_{number}_{value}_success_title
  @Description=parametrized_test_{number}_{value}_success
  Scenario Outline: Parametrized test
    When get parameters <number> <value>
    Then return true

    Examples:
      | number | value    |
      | 1      | string01 |
      | 2      | string02 |
      | 3      | string03 |

Contributing

You can help to develop the project. Any contributions are greatly appreciated.

  • If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or create a direct pull request after you edit the README.md file with necessary changes.
  • Make sure to check your spelling and grammar.
  • Create individual PR for each suggestion.
  • Read the Code Of Conduct before posting your first idea as well.

License

Distributed under the Apache-2.0 License. See LICENSE for more information.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.7.1 91 12/13/2024
1.7.0 71 11/27/2024
1.6.5 94 10/8/2024
1.6.4 126 9/12/2024
1.6.3 133 7/5/2024
1.6.1 118 6/30/2024
1.6.0 137 5/20/2024
1.5.1 125 4/9/2024
1.5.0 107 3/29/2024
1.4.1 123 3/11/2024
1.4.0 115 3/11/2024
1.3.1 113 2/15/2024
1.3.0 135 12/20/2023
1.2.0 140 12/18/2023
1.1.1 135 12/8/2023
1.1.0 159 11/27/2023
1.0.8 1,074 7/31/2023
1.0.7 160 7/27/2023
1.0.6 152 7/27/2023
1.0.5 166 7/3/2023
1.0.4 188 7/3/2023