Behave adapter for Test IT
Project description
Test IT TMS adapter for Behave
Getting Started
Installation
pip install testit-adapter-behave
Usage
Configuration
Description | Property | Environment variable | CLI argument |
---|---|---|---|
Location of the TMS instance | url | TMS_URL | tmsUrl |
API secret key How to getting API secret key? | privateToken | TMS_PRIVATE_TOKEN | tmsPrivateToken |
ID of project in TMS instance How to getting project ID? | projectId | TMS_PROJECT_ID | tmsProjectId |
ID of configuration in TMS instance How to getting configuration ID? | configurationId | TMS_CONFIGURATION_ID | tmsConfigurationId |
ID of the created test run in TMS instance. It's necessary for adapterMode 0 or 1 |
testRunId | TMS_TEST_RUN_ID | tmsTestRunId |
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 | tmsTestRunName |
Adapter mode. Default value - 0. The adapter supports following modes: 0 - in this mode, the adapter filters tests by test run ID and configuration ID, and sends the results to the test run 1 - in this mode, the adapter sends all results to the test run without filtering 2 - in this mode, the adapter creates a new test run and sends results to the new test run |
adapterMode | TMS_ADAPTER_MODE | tmsAdapterMode |
It enables/disables certificate validation (It's optional). Default value - true | certValidation | TMS_CERT_VALIDATION | tmsCertValidation |
Mode of automatic creation test cases (It's optional). Default value - false. The adapter supports following modes: true - in this mode, the adapter will create a test case linked to the created autotest (not to the updated autotest) false - in this mode, the adapter will not create a test case |
automaticCreationTestCases | TMS_AUTOMATIC_CREATION_TEST_CASES | tmsAutomaticCreationTestCases |
Url of proxy server (It's optional) | tmsProxy | TMS_PROXY | tmsProxy |
Name of the configuration file If it is not provided, it is used default file name (It's optional) | - | TMS_CONFIG_FILE | tmsConfigFile |
File
Create connection_config.ini file in the root directory of the project:
[testit]
URL = URL
privateToken = USER_PRIVATE_TOKEN
projectId = PROJECT_ID
configurationId = CONFIGURATION_ID
testRunId = TEST_RUN_ID
testRunName = TEST_RUN_NAME
adapterMode = ADAPTER_MODE
certValidation = CERT_VALIDATION
automaticCreationTestCases = AUTOMATIC_CREATION_TEST_CASES
# This section are optional. It enables debug mode.
[debug]
tmsProxy = TMS_PROXY
Examples
Launch with a connection_config.ini file in the root directory of the project:
$ behave -f testit_adapter_behave.formatter:AdapterFormatter
Launch with command-line parameters:
$ behave -f testit_adapter_behave.formatter:AdapterFormatter -D tmsUrl=URL -D tmsPrivateToken=USER_PRIVATE_TOKEN -D
tmsProjectId=PROJECT_ID -D tmsConfigurationId=CONFIGURATION_ID -D tmsTestRunId=TEST_RUN_ID -D tmsAdapterMode=ADAPTER_MODE -D
tmsTestRunName=TEST_RUN_NAME -D tmsProxy='{"http":"http://localhost:8888","https":"http://localhost:8888"}' -D
tmsCertValidation=CERT_VALIDATION -D tmsAutomaticCreationTestCases=AUTOMATIC_CREATION_TEST_CASES
If you want to enable debug mode then see How to enable debug logging?
Tags
Use tags to specify information about autotest.
Description of tags:
WorkItemIds
- a method that links autotests with manual tests. Receives the array of manual tests' IDsDisplayName
- 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 usedDescription
- autotest description specified in the autotest cardLabels
- tags listed in the autotest cardLinks
- links listed in the autotest cardNameSpace
- directory in the TMS system (default - file's name of test)ClassName
- subdirectory in the TMS system (default - class's name of test)
Description of methods:
testit.addLinks
- links in the autotest resulttestit.addAttachments
- uploading files in the autotest resulttestit.addMessage
- information about autotest in the autotest resulttestit.step
- usage in the "with" construct to designation a step in the body of the test
Examples
Simple Test
import testit
from behave import given
from behave import then
from behave import when
@given("I authorize on the portal")
def authorization(context):
with testit.step("I set login"):
pass
with testit.step("I set password"):
pass
@when("I create a project")
def create_project(context):
pass
@when("I open the project")
def enter_project(context):
pass
@when("I create a section")
def create_section(context):
testit.addLinks(
title='component_dump.dmp',
type=testit.LinkType.RELATED,
url='https://dumps.example.com/module/some_module_dump',
description='Description'
)
@then("I create a test case")
def create_test_case(context):
testit.addAttachments('pictures/picture.jpg')
Feature: Sample
Background:
Given I authorize on the portal
@ExternalId=failed_with_all_annotations
@DisplayName=Failed_test_with_all_annotations
@WorkItemIds=123
@Title=Title_in_the_autotest_card
@Description=Test_with_all_annotations
@Labels=Tag1,Tag2
@Links={"url":"https://dumps.example.com/module/repository","title":"Repository","description":"Example_of_repository","type":"Repository"}
Scenario: Create new project, section and test case
When I create a project
And I open the project
And I create a section
Then I create a test case
Parameterized test
from behave import when
from behave import then
@when("Summing {left:d}+{right:d}")
def step_impl(context, left, right):
context.sum = left + right
@then("Result is {result:d}")
def step_impl(context, result):
assert context.sum == result
Feature: Rule
Tests that use Rule
Scenario Outline: Summing
When Summing <left>+<right>
Then Result is <result>
Examples:
| left | right | result |
| 1 | 1 | 3 |
| 9 | 9 | 18 |
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 directly create a pull request after you edit the README.md file with necessary changes.
- Please make sure you check your spelling and grammar.
- Create individual PR for each suggestion.
- Please also read through the Code Of Conduct before posting your first idea as well.
License
Distributed under the Apache-2.0 License. See LICENSE for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for testit_adapter_behave-3.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d0e0d380680046033bdcecce6fbe8bd01a6d4f7686542fbee0db6d7f8cacb14 |
|
MD5 | e08d3bb3d1e5b7f181f5483d62ccaa34 |
|
BLAKE2b-256 | 4803341d0fa1a37012c54d7d1b580694e638af1ce6fd278ccbf646071cd6df0b |