Behave library to integrate with Testrail API
Project description
Behave to TestRail Reporter
This integration is used to add test results to TestRail automatically when Behave tests are executed.
Example of the generated report:
3 testrail test cases passed, 0 failed, 19 skipped, 2 untested
Took 0m6.349s
Install
Can install it using pipenv
$ pipenv install behave-testrail-reporter
or using pip
$ pip install behave-testrail-reporter
Setup
Add TestrailReporter
to behave reporters in your /features/environment.py
by adding this code in before_all()
from behave_testrail_reporter import TestrailReporter
def before_all(context):
# ... all your other awesome code in here
current_branch = os.environ.get('CIRCLE_BRANCH') # Change this to get the current build branch of your CI system
testrail_reporter = TestrailReporter(current_branch)
context.config.reporters.append(testrail_reporter)
Create a testrail.yml
config file in the root of your project
Example structure:
base_url: https://your-domain.testrail.io
projects:
- name: 'Advanced tests on branch {branch}'
id: 123
suite_id: 456
# note: this will allow any branch to push test case results to Testrail.
allowed_branch_pattern: '.*'
- name: 'Smoke tests on branch {branch}'
id: 1234
suite_id: 789
# note: this will allow any branch to push test case results to Testrail.
allowed_branch_pattern: '.*'
Allow only master branch and release1.111.1 to push test results to Testrail:
base_url: https://your-domain.testrail.io
projects:
- name: 'Full E2E tests on branch {branch}'
id: 123
suite_id: 456
allowed_branch_pattern: '^(master|release\/\d+([\.\d]+)?)$'
yaml key | Description |
---|---|
name | Project name |
id | Testrail project id |
suite_id | Testrail Suite id |
allowed_branch_pattern | Regular expression to restrict when a test run is executed |
name - You can use some project variables to create dynamic test run names
Variable | Example | Result |
---|---|---|
{project_id} | 'Test run {project_id}' | Test run 123 |
{suite_id} | 'Test run {suite_id}' | Test run 456 |
{branch} | 'Test run {branch}' | Test run master |
Environment variables required
Variable name | Description |
---|---|
TESTRAIL_KEY | TestRail user password |
TESTRAIL_USER | TestRail user email address |
How to use
To get test cases marked as success or fail on TestRail we have to add tags with TestRail test case ID on each scenario.
Test case tag structure:
prefix
+ test case id
@testrail-
+ C1104
See example below:
Feature: Log in and out
Background:
Given I am logged out from Hub
And I navigate to the home page
@testrail-C1104
@testrail-C45933
Scenario: Admin can login
When I enter the username admin
And I enter the password admin
And I click the Login button
Then I see the admin's landing page
Note: some scenarios can cover multiple TestRail cases, for that you just need to add multiple tags.
How to contribute
Install dependencies for development
pipenv install --dev
How to run tests
Activate your virtual environment and then just run tox.
tox
How to distribute
If you need to publish a new version of this package you can use this command:
python setup.py sdist bdist_wheel
twine upload dist/*
License
Licensed under MIT license
. View license.
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 behave-testrail-reporter-0.5.0.tar.gz
.
File metadata
- Download URL: behave-testrail-reporter-0.5.0.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a04447dfe1704a60f3ff2e40f9d6293dff8689648c2bcfe2fb7d29bfc56bd76e |
|
MD5 | bee54fc89d4691f7fb699a1916c6b7bb |
|
BLAKE2b-256 | 9b9d91a4aca6aace4ccf20ef60d3f294fbe8061c3e1c068dd09baa05ff81b132 |
File details
Details for the file behave_testrail_reporter-0.5.0-py2.py3-none-any.whl
.
File metadata
- Download URL: behave_testrail_reporter-0.5.0-py2.py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f68c9ab719db8a49ca2bdd7b16d16f3f8a2636b717d5a8afca1b54dfdcd35ea |
|
MD5 | b4a2c23e91e28d92aa37afac848c1c48 |
|
BLAKE2b-256 | e763b3ee8a9801714c50cd6d135d15caf6d03108b0ef932994c4df98c2f7763c |