Skip to main content

Test IT TMS adapter for Robot Framework

Test IT

Getting Started

Installation

pip install testit-adapter-robotframework

Usage

Configuration

File

  1. 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"}
    
  2. Fill parameters with your configuration, where:

    • URL - location of the TMS instance

    • privateToken - API secret key

      1. go to the https://{DOMAIN}/user-profile profile
      2. copy the API secret key
    • projectId - ID of project in TMS instance.

      1. create a project
      2. open DevTools -> network
      3. go to the project https://{DOMAIN}/projects/20/tests
      4. GET-request project, Preview tab, copy id field
    • configurationId - ID of configuration in TMS instance.

      1. create a project
      2. open DevTools -> network
      3. go to the project https://{DOMAIN}/projects/20/tests
      4. GET-request configurations, Preview tab, copy id field
    • testRunId - id of the created test run in TMS instance. testRunId is optional. If it is not provided, it is created automatically.

    • testRunName - parameter for specifying the name of test run in TMS instance. testRunName is 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. tmsProxy is optional.

  3. Import TMSLibrary in your RobotFramework Tests (see examples directory)

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_ID is optional. If it is not provided, it is created automatically.

  • TMS_TEST_RUN_NAME - name of the new test-run.TMS_TEST_RUN_NAME is optional. If it is not provided, it is created automatically.

  • TMS_CONFIG_FILE - name of the configuration file. TMS_CONFIG_FILE is optional. If it is not provided, it is used default file name.

  • TMS_PROXY - it enables debug mode. TMS_PROXY is 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. tmsTestRunId is optional. If it is not provided, it is created automatically.

  • tmsTestRunName - name of the new test-run.tmsTestRunName is optional. If it is not provided, it is created automatically.

  • tmsConfigFile - name of the configuration file. tmsConfigFile is optional. If it is not provided, it is used default file name.

  • tmsProxy - it enables debug mode. tmsProxy is 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 case
  • testit.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 System
  • testit.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 card
  • testit.labels - labels in the autotest card

Description of methods:

  • Add Links - links in the autotest result
  • Add Link - add one link in the autotest result
  • Add Attachments - uploading files in the autotest result
  • Add Attachment - upload given content with given filename in the autotest result
  • Add 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

testit-adapter-robotframework-2.0.4.tar.gz (11.3 kB view details)

Uploaded Source

File details

Details for the file testit-adapter-robotframework-2.0.4.tar.gz.

File metadata

File hashes

Hashes for testit-adapter-robotframework-2.0.4.tar.gz
Algorithm Hash digest
SHA256 82f649af4db58cc2e70b574763aaa060752a92803aa510b4d62acf30faa9e4b7
MD5 529f311b2da8494b55c62812a3d75f9f
BLAKE2b-256 44dc3c820c1f9a57a3b9ff61444b493e073e26fc54b0d0a926b8d1916c3b1834

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page