this plugin allows to analyze tests in pytest project, collect test metadata and sync it with testomat.io TCM system
Project description
Testomat.io plugin for pytest
uses Testomat.io API:
Installation
pip install pytest-analyzer
configuration
create pytest.ini
file in your project root directory. Set next parameters:
[pytest]
testomatio_url = https://app.testomat.io ; this one is OPTIONAL
testomatio_project = 70t3da349fte ; project key is mandatory to assing tests to particular project
testomatio_email = example@test.com ; your login in testomat.io
testomatio_password = secure_password ; your password in testimat.io
Usage
Run pytest with analyzer add parameter to analyze your tests, send them to testomat.io and get back test id. Tests will not be executed
pytest --analyzer add
Run pytest with analyzer remove parameter to remove all test ids from your tests. Tests will not be executed
pytest --analyzer remove
Run pytest with analyzer sync parameter to execute tests and send the execution status to testomat.io
pytest --analyzer sync
Run pytest with analyzer debug parameter to get test data collected in metadata.json file
pytest --analyzer debug
Advanced usage
to configure additional test run parameters call analyzer_test_config
fixture.
This fixture return TestRunConfig
object with next parameters:
- test_run_id - do not modify. this parameter is set automatically
- title - test run title. Leave empty to have generic run title like "pytest run at 2020-01-01 00:00:00"
- environment - test environment. Empty by default. Set any suitable: "staging", "production", "test", "Winddows 11", "Chrome 115", etc
- group_title - Empty by default. Creates folder in testomat.io for test runs with specified name
- parallel - False by default. Set to True if you run tests in parallel
Example:
import pytest
@pytest.fixture(scope="session")
def get_web_browser(playwright_fixture, analyzer_test_config):
browser = playwright_fixture.chromium.launch()
analyzer_test_config.environment = 'chromium'
yield browser
browser.close()
Clarifications
- tests can be synced even without
@mark.testomatio('@T96c700e6')
decorator. - test title in testomat.io == test name in pytest
- test suit title in testomat.io == test file name in pytest
Example of test
To make analyzer experience more consistent, it uses standard pytest markers.
Testomat.io test id is a string value that starts with @T
and has 8 symbols after.
from pytest import mark
@mark.testomatio('@T96c700e6')
def test_example():
assert 2 + 2 == 4
Roadmap
- handle REST API exceptions
- support screenshot attachments
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
Hashes for pytest_analyzer-1.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71575b621433ddafe747398e2bbc9d340f4bd96acb3dd3f51a3ef8a543574901 |
|
MD5 | fce6064e59d0399d1b3e9133189e431b |
|
BLAKE2b-256 | 45b2f4d550f69e44942a0174c09076f42b076f793ab12e6c533e8929dab4e9e4 |