Testrail Api
This is a Python wrapper of the TestRail API according
to the official documentation
Install
Install using pip with
pip install testrail-api
Support environment variables
TESTRAIL_URL=https://example.testrail.com/
TESTRAIL_EMAIL=example@mail.com
TESTRAIL_PASSWORD=password
Example
from datetime import datetime
from testrail_api import TestRailAPI
api = TestRailAPI("https://example.testrail.com/", "example@mail.com", "password")
new_milestone = api.milestones.add_milestone(
project_id=1,
name="New milestone",
start_on=datetime.now()
)
my_test_run = api.runs.add_run(
project_id=1,
suite_id=2,
name="My test run",
include_all=True,
milestone_id=new_milestone["id"]
)
result = api.results.add_result_for_case(
run_id=my_test_run["id"],
case_id=5,
status_id=1,
comment="Pass",
version="1"
)
attach = "screenshots/attach.jpg"
api.attachments.add_attachment_to_result(result["id"], attach)
api.runs.close_run(my_test_run["id"])
api.milestones.update_milestone(new_milestone["id"], is_completed=True)
Custom response handler
from datetime import datetime
import simplejson
from testrail_api import TestRailAPI
def my_handler(response):
if response.ok:
return simplejson.loads(response.text)
return 'Error'
api = TestRailAPI("https://example.testrail.com/", "example@mail.com", "password", response_handler=my_handler)
new_milestone = api.milestones.add_milestone(
project_id=1,
name="New milestone",
start_on=datetime.now()
)
Contributing
Contributions are very welcome.
Getting started
- python 3.11
- pipenv 2022.12.19+
- Clone the repository
git clone https://github.com/tolstislon/testrail-api.git
cd testrail-api
- Install dev dependencies
pipenv install --dev
pipenv shell
- Run the black
pipenv run black
- Run the flake8
pipenv run flake8
- Run the tests
pipenv run tests