PyReport is a lightweight reporting plugin for Pytest that provides concise HTML report
Project description
PyReport
Quick overview
PyReport is a lightweight reporting plugin for Pytest that provides concise HTML reports by parsing JunitXML test results
Pre-requisites
To be able to use this plugin you will need below dependencies that will be installed automatically with PyReport:
- Python >=3.7
- Jinja2
- Pytest
- matplotlib
- requests
- logstyle
Supported Messengers
- Telegram
- Slack
Getting started
Installation
To start using PyReport please follow below instructions:
- Install
pytest-pyreport
plugin:
pip install pytest-pyreport==<version>
Report generation
- Run tests using below command to generate pyreport.html file with test results:
pytest --junitxml=result.xml -o junit_family="xunit1" --pyreport
- Run tests using below command if you want to send Telegram notification
pytest --junitxml=result.xml -o junit_family="xunit1" --pyreport --telegram-pyreport <chat id> <bot token>
- Prerequisites:
- You need your own Telegram bot, which can be easily created using Telegram instructions. You can take the “chat ID” and “bot token” from there.
- Prerequisites:
- Run tests using below command if you want to send Slack notification
pytest --junitxml=result.xml -o junit_family="xunit1" --pyreport --slack-pyreport <webhook url> <channel id> <bot token>
- Prerequisites:
- You need your own Slack bot, which can be easily created using Slack instructions. You can take the “webhook url”, "channel id" and “bot token” from there.
- Prerequisites:
- Run tests using below command if you want to check generated report on the server if it is available:
pytest --junitxml=result.xml -o junit_family="xunit1" --pyreport --telegram-pyreport <chat id> <bot token> --server <URL> pytest --junitxml=result.xml -o junit_family="xunit1" --pyreport --slack-pyreport <webhook url> <channel id> <bot token> --server <URL>
- Prerequisites:
- You need to run server beforehand. As an example using CI/CD tools like Jenkins or GitHub Actions
- Prerequisites:
- Run tests with failed tests counter. By running below command you will get JSON file with percentage of failed tests:
pytest --junitxml=result.xml -o junit_family="xunit1" --pyreport --failed-tests-count
- Fail percentage formula:
Failed Tests Percentage = (Number of Failed Tests / Total Number of Tests) * 100 = (10 / 100) * 100 = 10%
- Example
fail_percentage.json
:
{"fail_count": 10, "fail_percentage": 10.0}
Test results
- Once test run completed you should see
pyreport.html
file that auto generated by using above commands.
Open it and check the test results as shown in below presentation
Presentation
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
pytest_pyreport-1.6.0.tar.gz
(12.3 kB
view details)
Built Distribution
File details
Details for the file pytest_pyreport-1.6.0.tar.gz
.
File metadata
- Download URL: pytest_pyreport-1.6.0.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fed4bb9af9ea3838a9b83f549fddd740fd06f9822050d9739b05acc68289e615 |
|
MD5 | de4873fb5b72d4e58d01bd8bf8e7c482 |
|
BLAKE2b-256 | 69b17a5072f06bf19cfdf98e58b3228630cdf8759baaacef710ac7e67eedbe57 |
File details
Details for the file pytest_pyreport-1.6.0-py3-none-any.whl
.
File metadata
- Download URL: pytest_pyreport-1.6.0-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81cb2980e9ab7b7f8a18822282cb5f34e6b1f6e939cde459c6d07ea568c9e6db |
|
MD5 | b29291204857f2c09632f94f8c1699a3 |
|
BLAKE2b-256 | a7127c6659ef6586bf8abb14632fcd527cb854b4147d96f11bc1b8e3ad1df152 |