Skip to main content

Typhoon HIL plugin for pytest

Project description

PyPI version Python versions See Build Status on Travis CI

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest-tytest-0.1.13.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

pytest_tytest-0.1.13-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

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

Hashes for pytest-tytest-0.1.13.tar.gz
Algorithm Hash digest
SHA256 bde28e093208f919b3c7324482fb6fb6abf571d1a2e8fb12f02a6496aee2e6c9
MD5 0cff8f678b5a6bfe4b76769d813eada2
BLAKE2b-256 c298ee143df30a48aa9f538b7d07c82b4fb94ba00163c1f14565942c9be016e9

See more details on using hashes here.

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

Hashes for pytest_tytest-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 8c84cf2eed46b616b1e0cb64aae5dd3680b170bd3f77e5739d663a64d6bf5149
MD5 cf0681500e2ab326496c4365523029d3
BLAKE2b-256 d7bf4ed8649f30784557ab736b07cb2fafedd40e5c1900a886ab0393d76128f8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page