https://github.com/allankp/pytest-testrail
pytest plugin for integration with TestRail, for creating testruns and updating results
https://github.com/allankp/pytest-testrail
hacktoberfest pytest python python3 testing testing-tool testrail
Last synced: about 1 month ago
JSON representation
pytest plugin for integration with TestRail, for creating testruns and updating results
- Host: GitHub
- URL: https://github.com/allankp/pytest-testrail
- Owner: allankp
- License: mit
- Created: 2016-01-23T13:30:03.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-12-30T13:43:45.000Z (about 1 year ago)
- Last Synced: 2026-01-17T01:23:55.126Z (about 1 month ago)
- Topics: hacktoberfest, pytest, python, python3, testing, testing-tool, testrail
- Language: Python
- Homepage:
- Size: 155 KB
- Stars: 97
- Watchers: 7
- Forks: 123
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
pytest-testrail
===============

[](https://badge.fury.io/py/pytest-testrail)
[](https://pepy.tech/project/pytest-testrail)
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.
```python
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:
```python
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:
```ini
[API]
url = https://yoururl.testrail.net/
email = user@email.com
password =
[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:
```bash
py.test --testrail --tr-config=.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) |