A Qase-Pytest plugin to extract test results and push metrics to Victoria Metrics
Project description
Qase-Pytest Metrics Exporter
This project leverages the qase-pytest plugin to extract test result data, convert it into metrics, and push it to Victoria Metrics.
Features
- Collects test execution results using
qase-pytest - Formats results into metrics
- Pushes the metrics to Victoria Metrics for monitoring and visualization
Environment Variables
Before running the tests, set up the following environment variables:
| Variable Name | Description | Required |
|---|---|---|
VICTORIA_URL |
URL of the Victoria Metrics instance | Yes |
QASE_TESTOPS_RUN_ID |
Qase TestOps Run ID | Yes |
QASE_TESTOPS_PROJECT |
Qase project identifier | Yes |
PLATFORM |
Platform identifier (e.g., OS, environment) | Yes |
QASE_TESTOPS_API_TOKEN |
API token for Qase integration | Yes |
QASE_ADMIN_TOKEN |
API token for Qase data changes integration | Yes |
EXCLUDED_RUN_ID |
Run ID to exclude from metrics | Yes |
PUSH_TO_VICTORIA |
Option to Push or Not Push the Result | Yes |
MULTIPLE_REPORT |
Option to generate multiple report for multiple job | Yes |
DELETE_TEMP_FILE |
Option to delete report per worker after execution | Yes |
PILLAR |
Pillar for worker report preffix name | Yes |
Usage
On a testcase level, import this decators
from pytest_metrics.decorators import qase_id, qase_title, qase_suite, qase_tags
To apply the decorators , follow this example :
@qase_id(5189)
@qase_title("User success login, when input email, password, and gauth valid")
@qase_suite("PRO WEB.AUTH.LOGIN")
@qase_tags("ProSpot")
def test_1():
var = False
assert_that(var).is_true()
To exclude test case from being pushed to Excluded Run Id, follow this example :
@qase_ignore()
Modify your conftest.py file to integrate with the metrics reporting system:
from pytest_metrics.metrics import MetricsReport
import os
qase_report = MetricsReport()
@pytest.hookimpl(tryfirst=True, hookwrapper=True)
def pytest_runtest_makereport(item, call):
outcome = yield
rep = outcome.get_result()
if call.when == "call":
qase_report.collect_result(item, rep)
item.test_result = rep
def pytest_sessionfinish(session, exitstatus):
worker_id = os.environ.get("PYTEST_XDIST_WORKER")
if worker_id:
qase_report.save_to_temp_file(worker_id)
else:
qase_report.load_and_merge_results()
qase_report.send_to_victoria_metrics()
Installation
- Install dependencies:
pip install qase-victoria-metrics
-
Set up the required environment variables.
-
Run your tests:
pytest /path/to/file
How It Works
- During test execution, pytest_runtest_makereport collects test results.
- After the test session, results are either saved (for distributed runs) or aggregated.
- The final results are pushed to Victoria Metrics for monitoring.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qase_victoria_metrics-1.2.1.tar.gz.
File metadata
- Download URL: qase_victoria_metrics-1.2.1.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1dff4568c4fc788bad847bf92cdab89fc1d1d88eaaf5ec350b533510ffb7378
|
|
| MD5 |
f3226079f194016d38d2408670f80d0c
|
|
| BLAKE2b-256 |
73c845f4fb9b6f292e11758a0933325eb55150581fa8dace23341e2d2848f925
|
Provenance
The following attestation bundles were made for qase_victoria_metrics-1.2.1.tar.gz:
Publisher:
release.yml on dsetiawan230294/qase-victoria-metrics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qase_victoria_metrics-1.2.1.tar.gz -
Subject digest:
a1dff4568c4fc788bad847bf92cdab89fc1d1d88eaaf5ec350b533510ffb7378 - Sigstore transparency entry: 584344519
- Sigstore integration time:
-
Permalink:
dsetiawan230294/qase-victoria-metrics@7ae42883670ff45ab84d5fb204528801c252ab97 -
Branch / Tag:
refs/tags/v1.2.1 - Owner: https://github.com/dsetiawan230294
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7ae42883670ff45ab84d5fb204528801c252ab97 -
Trigger Event:
release
-
Statement type:
File details
Details for the file qase_victoria_metrics-1.2.1-py3-none-any.whl.
File metadata
- Download URL: qase_victoria_metrics-1.2.1-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7dc9383e31c69328492a0868a5bdb344eb24cdb19d225c443e9d5b2dac88d1d
|
|
| MD5 |
0279edfbeb9a54e0f526cf486934e261
|
|
| BLAKE2b-256 |
ae97c279efbd60c9b2aa7fa3ce28824684e465ca7ebda86c563821a5f2cb1e86
|
Provenance
The following attestation bundles were made for qase_victoria_metrics-1.2.1-py3-none-any.whl:
Publisher:
release.yml on dsetiawan230294/qase-victoria-metrics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qase_victoria_metrics-1.2.1-py3-none-any.whl -
Subject digest:
f7dc9383e31c69328492a0868a5bdb344eb24cdb19d225c443e9d5b2dac88d1d - Sigstore transparency entry: 584344520
- Sigstore integration time:
-
Permalink:
dsetiawan230294/qase-victoria-metrics@7ae42883670ff45ab84d5fb204528801c252ab97 -
Branch / Tag:
refs/tags/v1.2.1 - Owner: https://github.com/dsetiawan230294
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7ae42883670ff45ab84d5fb204528801c252ab97 -
Trigger Event:
release
-
Statement type: