Typhoon HIL plugin for pytest
Project description
Typhoon HIL plugin for pytest
Features
specify test parameters in a python module
reference them in pytest.mark.parametrize decorators
mark tests as Jira+Xray issues
send test reports directly to Xray using Xray’s REST API
Requirements
pytest 5+
pytz, tzlocal
requests 2.23+
Installation
You can install “pytest-tytest” via pip from PyPI:
$ pip install pytest-tytest
Usage
Credentials for Jira and Xray
Put credentials needed to access Jira and Xray in environment variables or a file.
XRAY_HOST: Xray URL, defaults to https://xray.cloud.xpand-it.com
XRAY_CLIENT_ID: Client ID of your Xray API key
XRAY_CLIENT_SECRET: Client secret of your Xray API key
JIRA_HOST: Your Jira host, probably https://mycompany.atlassian.net
JIRA_USER: Your Jira account username, probably your email address
JIRA_PASSWORD: Your Jira API token, not your password
You can define credentials as environment variables:
export XRAY_CLIENT_ID=... export XRAY_CLIENT_SECRET=...
Or you can store credentials in a file, for example, /private/secrets:
XRAY_CLIENT_ID=... XRAY_CLIENT_SECRET=... ...
Don’t put the variable values in quotes.
If you use a file to store credentials, you should use the secrets command line parameter:
pytest –secrets=/private/secrets
Test parameters defined in Python modules
Create a test parameter definition file as a Python module, such as this:
# myparams.py import numpy as np v_range = [277.0, 278.0] f_range = np.arange(58, 63, 0.2) vdc_range = [820.0] class StayConnected: voltage_dip_perc = [22, 45, 85, 95] dip_total_time_pu = 0.95
All module attributes will be available at runtime as tytest.runtime_settings.Config.attr_name, for example:
from tytest.runtime_settings import Config as C @python.mark.parametrize('v_range', C.v_range) def test_something(v_range): pass
Specify which parameter definition file you are using in command line:
pytest --runconfig=myparams.py
Marking tests for Xray reporting
Mark your tests with Jira issue keys, such as this:
@pytest.mark.xray(test_key='PRJ-123') def test_something(): pass
Associate your test run with a test plan in Xray using the test plan key:
pytest --xray-plan-key=DEMO-1234
If you want to ignore potential networking errors while submitting test reports to Xray, turn this flag on:
pytest --xray-plan-key=DEMO-1234 --xray-fail-silently=True
Embedding the Allure report link
If you generate an Allure report during a test run, you can embed the link to the report in Xray’s test execution issue by using this command line parameter:
pytest allure-url=https://jenkins.mycompany.com/jobs/my_job/123/allure
Command-line parameter summary
pytest invocation now has some additional command line parameters:
--runconfig=RUNCONFIG Specify test config script --secrets=SECRETS Full path to secrets file --xray-plan-key=XRAY_PLAN_KEY Key of the Xray issue that represents the test plan that is being run --xray-fail-silently=XRAY_FAIL_SILENTLY Ignore Xray communication errors --allure-url=ALLURE_URL URL pointing to the Allure report
An example of invoking pytest:
pytest --runconfig=myparams.py --secrets=/private/secrets --xray-plan-key=PRJ-321 --xray-fail-silently=True --allure-url=https://jenkins.mycompany.com/jobs/my_job/123/allure
Contributing
Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.
License
Distributed under the terms of the MIT license, “pytest-tytest” is free and open source software
Issues
If you encounter any problems, please file an issue along with a detailed description.
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-tytest-0.1.13.tar.gz
.
File metadata
- Download URL: pytest-tytest-0.1.13.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bde28e093208f919b3c7324482fb6fb6abf571d1a2e8fb12f02a6496aee2e6c9 |
|
MD5 | 0cff8f678b5a6bfe4b76769d813eada2 |
|
BLAKE2b-256 | c298ee143df30a48aa9f538b7d07c82b4fb94ba00163c1f14565942c9be016e9 |
File details
Details for the file pytest_tytest-0.1.13-py3-none-any.whl
.
File metadata
- Download URL: pytest_tytest-0.1.13-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c84cf2eed46b616b1e0cb64aae5dd3680b170bd3f77e5739d663a64d6bf5149 |
|
MD5 | cf0681500e2ab326496c4365523029d3 |
|
BLAKE2b-256 | d7bf4ed8649f30784557ab736b07cb2fafedd40e5c1900a886ab0393d76128f8 |