Skip to content

pytest plugin for integration with TestRail, for creating testruns and updating results

License

Notifications You must be signed in to change notification settings

Tasija/pytest-testrail

 
 

Repository files navigation

pytest-testrail

PyPI version Downloads Codacy Badge

This is a pytest plugin for creating/editing testplans or testruns based on pytest markers. The results of the collected tests will be updated against the testplan/testrun in TestRail.

Installation

pip install pytest-testrail

Configuration

Config for Pytest tests

Add a marker to the tests that will be picked up to be added to the run.

    from pytest_testrail.plugin import testrail

    @testrail('C1234', 'C5678')
    def test_foo():
        # test code goes here

    # OR	

    from pytest_testrail.plugin import pytestrail

    @pytestrail.case('C1234', 'C5678')
    def test_bar():
        # test code goes here

Or if you want to add defects to testcase result:

    from pytest_testrail.plugin import pytestrail

    @pytestrail.defect('PF-524', 'BR-543')
    def test_bar():
        # test code goes here

Config for TestRail

  • Settings file template config:
    [API]
    url = https://yoururl.testrail.net/
    email = [email protected]
    password = <api_key>

    [TESTRUN]
    assignedto_id = 1
    project_id = 2
    suite_id = 3
    plan_id = 4
    description = 'This is an example description'

    [TESTCASE]
    custom_comment = 'This is a custom comment'

Or

  • Set command line options (see below)

Usage

Basically, the following command will create a testrun in TestRail, add all marked tests to run. Once the all tests are finished they will be updated in TestRail:

    py.test --testrail --tr-config=<settings file>.cfg

All available options

option description
--testrail Create and update testruns with TestRail
--tr-config Path to the config file containing information about the TestRail server (defaults to testrail.cfg)
--tr-url TestRail address you use to access TestRail with your web browser (config file: url in API section)
--tr-email Email for the account on the TestRail server (config file: email in API section)
--tr-password Password for the account on the TestRail server (config file: password in API section)
--tr-testrun-assignedto-id ID of the user assigned to the test run (config file:assignedto_id in TESTRUN section)
--tr-testrun-project-id ID of the project the test run is in (config file: project_id in TESTRUN section)
--tr-testrun-suite-id ID of the test suite containing the test cases (config file: suite_id in TESTRUN section)
--tr-testrun-suite-include-all Include all test cases in specified test suite when creating test run (config file: include_all in TESTRUN section)
--tr-testrun-name Name given to testrun, that appears in TestRail (config file: name in TESTRUN section)
--tr-testrun-description Description given to testrun, that appears in TestRail (config file: description in TESTRUN section)
--tr-run-id Identifier of testrun, that appears in TestRail. If provided, option "--tr-testrun-name" will be ignored
--tr-plan-id Identifier of testplan, that appears in TestRail (config file: plan_id in TESTRUN section) If provided, option "--tr-testrun-name" will be ignored
--tr-version Indicate a version in Test Case result.
--tr-no-ssl-cert-check Do not check for valid SSL certificate on TestRail host
--tr-close-on-complete Close a test plan or test run on completion.
--tr-dont-publish-blocked Do not publish results of "blocked" testcases in TestRail
--tr-skip-missing Skip test cases that are not present in testrun
--tr-milestone-id Identifier of milestone to be assigned to run
--tc-custom-comment Custom comment, to be appended to default comment for test case (config file: custom_comment in TESTCASE section)

About

pytest plugin for integration with TestRail, for creating testruns and updating results

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.1%
  • Makefile 1.9%