# PyReport
![PyPI - Downloads](https://img.shields.io/pypi/dm/pytest-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 <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Telegram_2019_Logo.svg/512px-Telegram_2019_Logo.svg.png?20231105064641" alt="Telegram" width="30" height="30">
* Slack <img src="https://raw.githubusercontent.com/devicons/devicon/55609aa5bd817ff167afce0d965585c92040787a/icons/slack/slack-original.svg" alt="Slack" width="30" height="30">
# 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 <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Telegram_2019_Logo.svg/512px-Telegram_2019_Logo.svg.png?20231105064641" alt="Telegram" width="30" height="30">
```
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 <img src="https://raw.githubusercontent.com/devicons/devicon/55609aa5bd817ff167afce0d965585c92040787a/icons/slack/slack-original.svg" alt="Slack" width="30" height="30">
```
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
## 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](https://toghrulmirzayev.github.io/pytest-pyreport/presentation.gif)
Raw data
{
"_id": null,
"home_page": "https://github.com/ToghrulMirzayev/pytest-pyreport",
"name": "pytest-pyreport",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "pytest_pyreport,python,pytest,report,slack,telegram,messenger,pyreport",
"author": "Toghrul Mirzayev",
"author_email": "togrul.mirzoev@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/53/8f/bf150b5c11629672ed451be42f16fd3e73f36e45ce9bf07dc60e3988177a/pytest-pyreport-1.5.0.tar.gz",
"platform": null,
"description": "# PyReport\n\n![PyPI - Downloads](https://img.shields.io/pypi/dm/pytest-pyreport)\n\n# Quick overview\nPyReport is a lightweight reporting plugin for Pytest that provides concise HTML reports by parsing JunitXML test results\n\n# Pre-requisites\nTo be able to use this plugin you will need below dependencies that will be installed automatically with PyReport:\n* Python >=3.7\n* Jinja2\n* Pytest\n* matplotlib\n* requests\n* logstyle\n\n# Supported Messengers\n* Telegram <img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Telegram_2019_Logo.svg/512px-Telegram_2019_Logo.svg.png?20231105064641\" alt=\"Telegram\" width=\"30\" height=\"30\">\n* Slack <img src=\"https://raw.githubusercontent.com/devicons/devicon/55609aa5bd817ff167afce0d965585c92040787a/icons/slack/slack-original.svg\" alt=\"Slack\" width=\"30\" height=\"30\">\n\n# Getting started\n## Installation\nTo start using PyReport please follow below instructions:\n\n* Install `pytest-pyreport` plugin:\n```\npip install pytest-pyreport==<version>\n```\n\n## Report generation\n* Run tests using below command to generate pyreport.html file with test results:\n ```\n pytest --junitxml=result.xml -o junit_family=\"xunit1\" --pyreport\n ```\n\n* Run tests using below command if you want to send Telegram notification <img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Telegram_2019_Logo.svg/512px-Telegram_2019_Logo.svg.png?20231105064641\" alt=\"Telegram\" width=\"30\" height=\"30\">\n ```\n pytest --junitxml=result.xml -o junit_family=\"xunit1\" --pyreport --telegram-pyreport <chat id> <bot token>\n ```\n * Prerequisites:\n * You need your own Telegram bot, which can be easily created using Telegram instructions.\n You can take the \u201cchat ID\u201d and \u201cbot token\u201d from there.\n\n* Run tests using below command if you want to send Slack notification <img src=\"https://raw.githubusercontent.com/devicons/devicon/55609aa5bd817ff167afce0d965585c92040787a/icons/slack/slack-original.svg\" alt=\"Slack\" width=\"30\" height=\"30\">\n ```\n pytest --junitxml=result.xml -o junit_family=\"xunit1\" --pyreport --slack-pyreport <webhook url> <channel id> <bot token>\n ```\n * Prerequisites:\n * You need your own Slack bot, which can be easily created using Slack instructions.\n You can take the \u201cwebhook url\u201d, \"channel id\" and \u201cbot token\u201d from there.\n\n* Run tests using below command if you want to check generated report on the server if it is available:\n ```\n pytest --junitxml=result.xml -o junit_family=\"xunit1\" --pyreport --telegram-pyreport <chat id> <bot token> --server <URL>\n pytest --junitxml=result.xml -o junit_family=\"xunit1\" --pyreport --slack-pyreport <webhook url> <channel id> <bot token> --server <URL>\n ```\n * Prerequisites:\n * You need to run server beforehand. As an example using CI/CD tools like Jenkins or GitHub Actions\n\n## Test results\n* Once test run completed you should see `pyreport.html` file that auto generated by using above commands. \\\nOpen it and check the test results as shown in below presentation\n\n\n\n## Presentation\n![pyreport](https://toghrulmirzayev.github.io/pytest-pyreport/presentation.gif)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "PyReport is a lightweight reporting plugin for Pytest that provides concise HTML report",
"version": "1.5.0",
"project_urls": {
"Homepage": "https://github.com/ToghrulMirzayev/pytest-pyreport"
},
"split_keywords": [
"pytest_pyreport",
"python",
"pytest",
"report",
"slack",
"telegram",
"messenger",
"pyreport"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ec9fddc71448968e6909c753bdd9782e96df754878f1d5c2a2def75f19366217",
"md5": "b46e62203ba31cb49cf59a0a39d7ffe5",
"sha256": "b714760ef1b8cc3b6bea2139d86169d2071c14c1c77b77ad8d22ecc2923d92fd"
},
"downloads": -1,
"filename": "pytest_pyreport-1.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b46e62203ba31cb49cf59a0a39d7ffe5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 11244,
"upload_time": "2024-02-03T23:44:51",
"upload_time_iso_8601": "2024-02-03T23:44:51.234307Z",
"url": "https://files.pythonhosted.org/packages/ec/9f/ddc71448968e6909c753bdd9782e96df754878f1d5c2a2def75f19366217/pytest_pyreport-1.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "538fbf150b5c11629672ed451be42f16fd3e73f36e45ce9bf07dc60e3988177a",
"md5": "3b2cf59ebe3841b6b5e4c86a3bb5e406",
"sha256": "abdf130c2e6070e7324289d36bb660ba60168d96204ed5a5175949a348503505"
},
"downloads": -1,
"filename": "pytest-pyreport-1.5.0.tar.gz",
"has_sig": false,
"md5_digest": "3b2cf59ebe3841b6b5e4c86a3bb5e406",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 11855,
"upload_time": "2024-02-03T23:44:52",
"upload_time_iso_8601": "2024-02-03T23:44:52.777597Z",
"url": "https://files.pythonhosted.org/packages/53/8f/bf150b5c11629672ed451be42f16fd3e73f36e45ce9bf07dc60e3988177a/pytest-pyreport-1.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-03 23:44:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ToghrulMirzayev",
"github_project": "pytest-pyreport",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "pytest-pyreport"
}