Pytest plugin for sending report to testrail system.
Project description
Pytest Testrail Integrator.
Pytest-testrail-integrator is a pytest extension for reporting test results to Testrail.
Pytest-testrail-integrator gives an ability to send test results to specific testrail run or can create new one during
test execution. Fully compatible with xdist
parallelization tool.
Installation
pip install pytest-testrail-integrator
Example
In order to link pytest test to testrail case you need to mark test with pytest.mark.case
or tr_case
decorator with testcase id passing as argument.
import pytest
from pytest_testrail_integrator.client import tr_case
@pytest.mark.case('98765') # Use raw pytest marker.
def test_sum():
assert 1 + 1 == 2
@tr_case('987654') # Use custom decorator.
def test_divide():
assert 2 / 1 == 2
Test case id must not start with "C" char and can be either string or integer.
Main flow overview.
At startup plugin checks if the Testrail run id is passed or not. If not passed - plugin will create new test run by itself. Then during tests execution testrail tests will be updated in real time.
Config for TestRail
- All required configs can be loaded from virtual environment variables(higher priority) :
TR_RUN_ID
TR_API_URL
TR_USER_EMAIL
TR_USER_PASSWORD
TR_PROJECT_ID
TR_SUTE_ID
Or
- Add options to
pytest.ini
file.
Launch
In order to start tests with Pytest-Message you must provide --tr-reporting
flag:
pytest tests --tr-reporting
All available command line options.
option | description |
---|---|
--tr-reporting | Create and update testruns with TestRail |
--tr-deselect-tests | If pass testrun id only. Selects only tests which have been marked with case decorator with appropriate case id. Other tests are marked as deselected and not started in test execution. |
All available pytest.ini options.
option | description |
---|---|
tr_api_url | Testrail api url. |
tr_run_id | Testrail test run id. If passed test reports are linked to this particular test run. |
tr_user_email | Testrail User email for API authentication. |
tr_user_password | Testrail User password for API authentication. |
tr_project_id | Testrail Project Id. Required for new test run creation if Test Run Id is not passed. |
tr_suite_id | Testrail Suite Id. Required for new test run creation if Test Run Id is not passed. |
tr_tb | Traceback level in testrail message reports. ['short', 'long'] options. Short is selected by default. |
Hooks
pytest_tr_generate_run_name(config: pytest.Config) - > str:
Executes for generating new testrail run name right before create test run request is sent. Takes first hook result.
pytest_tr_generate_run_description(config) - > str:
Executes for generating new testrail run description right before create test run request is sent. Takes first hook result.
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
Built Distribution
File details
Details for the file pytest-testrail-integrator-1.2.2.tar.gz
.
File metadata
- Download URL: pytest-testrail-integrator-1.2.2.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c61448a1659d7b44a9ea99df7d9c0de35a723807432e22bcc2475e1bc21b7b59 |
|
MD5 | 87fdd11102dd6e9d0dc6e21d20d8561d |
|
BLAKE2b-256 | aba43a46673bcabe23c5a731cfcba366c83d822f78629cb989edf370d47728f6 |
File details
Details for the file pytest_testrail_integrator-1.2.2-py3-none-any.whl
.
File metadata
- Download URL: pytest_testrail_integrator-1.2.2-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52c625b2ef65f3db8febf2d7b598eb9934627e504366b536cc547838cbb08a6d |
|
MD5 | c52d79e2769b0732a6830cf6018f7b07 |
|
BLAKE2b-256 | 396cbc2927358de55e1adaaedfc4aa1637f29b88c5c5adf74f74eb68d77cf36d |