Test IT TMS adapter for Robot Framework
Getting Started
Installation
pip install testit-adapter-robotframework
Usage
Configuration
File
-
Create connection_config.ini file in the root directory of the project:
[testit] URL = <url> privateToken = <token> projectId = <id> configurationId = <id> testRunId = <optional id> testRunName = <optional name> adapterMode = <optional> # This section are optional. It enables debug mode. [debug] tmsProxy = {"http": "http://localhost:8888", "https": "http://localhost:8888"} -
Fill parameters with your configuration, where:
-
URL- location of the TMS instance -
privateToken- API secret key- go to the https://{DOMAIN}/user-profile profile
- copy the API secret key
-
projectId- ID of project in TMS instance.- create a project
- open DevTools -> network
- go to the project https://{DOMAIN}/projects/20/tests
- GET-request project, Preview tab, copy id field
-
configurationId- ID of configuration in TMS instance.- create a project
- open DevTools -> network
- go to the project https://{DOMAIN}/projects/20/tests
- GET-request configurations, Preview tab, copy id field
-
testRunId- id of the created test run in TMS instance.testRunIdis optional. If it is not provided, it is created automatically. -
testRunName- parameter for specifying the name of test run in TMS instance.testRunNameis optional. If it is not provided, it is created automatically. -
adapterMode- 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.
-
tmsProxy- it enables debug mode.tmsProxyis optional.
-
-
Import
TMSLibraryin your RobotFramework Tests (seeexamplesdirectory)
ENV
You can use environment variables (environment variables take precedence over file variables):
-
TMS_URL- location of the TMS instance. -
TMS_PRIVATE_TOKEN- API secret key. -
TMS_PROJECT_ID- ID of a project in TMS instance. -
TMS_CONFIGURATION_ID- ID of a configuration in TMS instance. -
TMS_ADAPTER_MODE- adapter mode. Default value - 0. -
TMS_TEST_RUN_ID- ID of the created test-run in TMS instance.TMS_TEST_RUN_IDis optional. If it is not provided, it is created automatically. -
TMS_TEST_RUN_NAME- name of the new test-run.TMS_TEST_RUN_NAMEis optional. If it is not provided, it is created automatically. -
TMS_CONFIG_FILE- name of the configuration file.TMS_CONFIG_FILEis optional. If it is not provided, it is used default file name. -
TMS_PROXY- it enables debug mode.TMS_PROXYis optional.
Command line
You also can use CLI variables, that sent to Robot Framework via -v option (CLI variables take precedence over environment variables):
-
tmsUrl- location of the TMS instance. -
tmsPrivateToken- API secret key. -
tmsProjectId- ID of a project in TMS instance. -
tmsConfigurationId- ID of a configuration in TMS instance. -
tmsAdapterMode- adapter mode. Default value - 0. -
tmsTestRunId- ID of the created test-run in TMS instance.tmsTestRunIdis optional. If it is not provided, it is created automatically. -
tmsTestRunName- name of the new test-run.tmsTestRunNameis optional. If it is not provided, it is created automatically. -
tmsConfigFile- name of the configuration file.tmsConfigFileis optional. If it is not provided, it is used default file name. -
tmsProxy- it enables debug mode.tmsProxyis optional.
Examples
Launch with a connection_config.ini file in the root directory of the project:
$ robot -v testit <test directory>
Launch with command-line parameters (parameters are case-insensitive):
$ robot -v testit -v tmsUrl:<url> -v tmsPrivateToken:<token> -v tmsProjectId:<id> -v tmsConfigurationId:<id> -v tmsTestRunId:<optional id> -v tmsTestRunName:<optional name> -v tmsProxy:'{"http":"http://localhost:8888","https":"http://localhost:8888"}' -v tmsConfigFile:<optional file> <test directory>
Tags
Tags can be used to specify information about autotest. Tags are space sensitive, use only one space between words.
Description of tags:
testit.workItemsId- linking an autotest to a test casetestit.displayName- name of the autotest in the Test IT system (default - name of test)testit.externalId- ID of the autotest within the project in the Test IT Systemtestit.title- title in the autotest card (default - name of test)testit.description- description in the autotest card (default - documentation of test)testit.links- links in the autotest cardtestit.labels- labels in the autotest card
Description of methods:
Add Links- links in the autotest resultAdd Link- add one link in the autotest resultAdd Attachments- uploading files in the autotest resultAdd Attachment- upload given content with given filename in the autotest resultAdd Message- information about autotest in the autotest result
Parallel execution
You can also run your test in parallel with Pabot.
$ pabot --pabotlib -v testit <test directory>
All other settings are the same as for standard execution.
Examples
*** Settings ***
Documentation Main Suite with examples
Library testit_adapter_robotframework.TMSLibrary
*** Variables ***
&{SIMPLE_LINK} url=http://google.com
&{FULL_LINK} url=http://google.co.uk title=Google type=Related description=just a link
@{LINKS} ${SIMPLE_LINK} ${FULL_LINK}
*** Test Cases ***
Simple Test
[Setup] Setup
Do Something
Do Another Thing
Log I'am a step
[Teardown] Teardown
Simple Test with link as variable
[Tags] testit.links:${SIMPLE_LINK}
[Setup] Setup
Do Something
Do Another Thing
Log I'am a step
[Teardown] Teardown
Simple Test with link as dict
[Tags] testit.links:${{{'url': 'http://google.com', 'type':'Issue'}}}
[Setup] Setup
Do Something
Do Another Thing
Log I'am a step
[Teardown] Teardown
Simple Test with WorkitemId as string
[Tags] testit.workitemsID:123
[Setup] Setup
Do Something
Do Another Thing
Log I'am a step
[Teardown] Teardown
Simple Test with WorkitemId as list
[Tags] testit.workitemsID:${{[123, '456']}}
[Setup] Setup
Do Something
Do Another Thing
Log I'am a step
[Teardown] Teardown
Simple Test with Title or Description or DisplayName with simple formatting
[Documentation] Tags are space sensitive, use only one space between words
[Tags] testit.displayName:This works testit.title:'This also works'
... testit.description:"This works too"
[Setup] Setup
Do Something
Do Another Thing
Log I'am a step
[Teardown] Teardown
Test With All Params
[Documentation] It's better to use this kind of formatting for different data types in tags
[Tags] testit.externalID:123 testit.title:${{'Different title'}} testit.displayName:${{'Different name'}}
... testit.description:${{'Different description'}} testit.workitemsID:${{[123, '456']}}
... testit.links:${{{'url': 'http://google.com', 'type':'Issue'}}} testit.labels:${{['smoke', 'lol']}}
[Setup] Setup
Log Something
Log Another
[Teardown] Teardown
Test With Add Link
[Setup] Setup
Do Something
Do Another Thing
Add Links @{LINKS}
# You can also add one link (default type is Defect)
Add Link http://ya.ru
Add Link http://ya.ru type=Issue
Add Link ${SIMPLE_LINK}[url]
[Teardown] Teardown
Test With Add Attachment
[Setup] Setup
Do Something
Do Another Thing
${V} Get Variables
Add Attachment '${V}' file.txt
Add Attachments images/banner.png images/icon.png
[Teardown] Teardown
Test With Add Message
[Setup] Setup
Do Something
Do Another Thing
Add Message Wow, it's my error message!
Fail
[Teardown] Teardown
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.
Release files for testit-adapter-robotframework 2.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| testit-adapter-robotframework-2.0.4.tar.gz | 11.3 kB | Details |
Release files / testit-adapter-robotframework-2.0.4.tar.gz
| Download URL | testit-adapter-robotframework-2.0.4.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
82f649af4db58cc2e70b574763aaa060752a92803aa510b4d62acf30faa9e4b7
|
|
BLAKE2b-256 checksum How to use checksums |
44dc3c820c1f9a57a3b9ff61444b493e073e26fc54b0d0a926b8d1916c3b1834
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.8
|