Skip to main content

pytest plugin for creating TestRail runs and adding results

Project description

Build Status PyPI version

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.


pip install pytest-rail


Config for Pytest tests

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

from pytest_rail.plugin import testrail

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

# OR

from pytest_rail.plugin import pytestrail'C1234', 'C5678')
def test_bar():
    # test code goes here

See a more detailed example here.

Config for TestRail

  • Settings file template config:

url =
email =
password = <api_key>

assignedto_id = 1
project_id = 2
suite_id = 3


  • Set command line options (see below)


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

--testrail            Create and update testruns with TestRail
                      Path to the config file containing information about
                      the TestRail server (defaults to testrail.cfg)
--tr-url=TR_URL       TestRail address you use to access TestRail with your
                      web browser (config file: url in API section)
--tr-email=TR_EMAIL   Email for the account on the TestRail server (config
                      file: email in API section)
                      Password for the account on the TestRail server
                      (config file: password in API section)
                      ID of the user assigned to the test run (config file:
                      assignedto_id in TESTRUN section)
                      ID of the project the test run is in (config file:
                      project_id in TESTRUN section)
                      ID of the test suite containing the test cases (config
                      file: suite_id in TESTRUN section)
                      Include all test cases in specified test suite when
                      creating test run (config file: include_all in TESTRUN
                      Name given to testrun, that appears in TestRail
                      (config file: name in TESTRUN section)
                      Identifier of testrun, that appears in TestRail. If
                      provided, option "--tr-testrun-name" will be ignored
                      Identifier of testplan, that appears in TestRail. If
                      provided, option "--tr-testrun-name" will be ignored
                      Indicate a version in Test Case result.
                      Do not check for valid SSL certificate on TestRail
                      Close a test plan or test run on completion.
                      Do not publish results of "blocked" testcases in
--tr-skip-missing     Skip test cases that are not present in testrun

Project details

Download files

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

Source Distribution

pytest-rail-1.0.5.tar.gz (12.0 kB view hashes)

Uploaded Source

Built Distribution

pytest_rail-1.0.5-py3-none-any.whl (12.2 kB view hashes)

Uploaded Python 3

Supported by

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