Skip to main content

PyReport is a lightweight reporting plugin for Pytest that provides concise HTML report

Project description

PyReport

PyPI - Downloads

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 Telegram
  • Slack 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 Telegram
    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.

  • Run tests using below command if you want to send Slack notification Slack
    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.

  • 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

  • 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

pyreport

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_pyreport-1.6.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

pytest_pyreport-1.6.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

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

Hashes for pytest_pyreport-1.6.0.tar.gz
Algorithm Hash digest
SHA256 fed4bb9af9ea3838a9b83f549fddd740fd06f9822050d9739b05acc68289e615
MD5 de4873fb5b72d4e58d01bd8bf8e7c482
BLAKE2b-256 69b17a5072f06bf19cfdf98e58b3228630cdf8759baaacef710ac7e67eedbe57

See more details on using hashes here.

File details

Details for the file pytest_pyreport-1.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_pyreport-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81cb2980e9ab7b7f8a18822282cb5f34e6b1f6e939cde459c6d07ea568c9e6db
MD5 b29291204857f2c09632f94f8c1699a3
BLAKE2b-256 a7127c6659ef6586bf8abb14632fcd527cb854b4147d96f11bc1b8e3ad1df152

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