{"id":16492376,"url":"https://github.com/toghrulmirzayev/pytest-pyreport","last_synced_at":"2025-07-30T02:06:07.436Z","repository":{"id":162936170,"uuid":"637438213","full_name":"ToghrulMirzayev/pytest-pyreport","owner":"ToghrulMirzayev","description":"PyReport is a lightweight reporting plugin for Pytest","archived":false,"fork":false,"pushed_at":"2024-05-05T19:59:28.000Z","size":441,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T20:40:36.849Z","etag":null,"topics":["pytest-plugin","qa","qa-automation","reporting","telegram","test-automation","testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ToghrulMirzayev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-07T14:58:56.000Z","updated_at":"2024-05-05T19:49:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"4f7a8179-4ee1-440e-94ae-d708799c6279","html_url":"https://github.com/ToghrulMirzayev/pytest-pyreport","commit_stats":{"total_commits":20,"total_committers":2,"mean_commits":10.0,"dds":"0.15000000000000002","last_synced_commit":"1002da8ac89d8f9866a5bada74c8f4820204acc1"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToghrulMirzayev%2Fpytest-pyreport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToghrulMirzayev%2Fpytest-pyreport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToghrulMirzayev%2Fpytest-pyreport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToghrulMirzayev%2Fpytest-pyreport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ToghrulMirzayev","download_url":"https://codeload.github.com/ToghrulMirzayev/pytest-pyreport/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245104460,"owners_count":20561377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pytest-plugin","qa","qa-automation","reporting","telegram","test-automation","testing"],"created_at":"2024-10-11T14:05:29.502Z","updated_at":"2025-03-23T12:34:39.909Z","avatar_url":"https://github.com/ToghrulMirzayev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 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 \u003e=3.7\n* Jinja2\n* Pytest\n* matplotlib\n* requests\n* logstyle\n\n# Supported Messengers\n* Telegram \u003cimg 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\"\u003e\n* Slack \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/55609aa5bd817ff167afce0d965585c92040787a/icons/slack/slack-original.svg\" alt=\"Slack\" width=\"30\" height=\"30\"\u003e\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==\u003cversion\u003e\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 \u003cimg 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\"\u003e\n    ```\n    pytest --junitxml=result.xml -o junit_family=\"xunit1\" --pyreport --telegram-pyreport \u003cchat id\u003e \u003cbot token\u003e\n    ```\n  * Prerequisites:\n    * You need your own Telegram bot, which can be easily created using Telegram instructions.\n  You can take the “chat ID” and “bot token” from there.\n---\n* Run tests using below command if you want to send Slack notification \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/55609aa5bd817ff167afce0d965585c92040787a/icons/slack/slack-original.svg\" alt=\"Slack\" width=\"30\" height=\"30\"\u003e\n    ```\n    pytest --junitxml=result.xml -o junit_family=\"xunit1\" --pyreport --slack-pyreport \u003cwebhook url\u003e \u003cchannel id\u003e \u003cbot token\u003e\n    ```\n  * Prerequisites:\n    * You need your own Slack bot, which can be easily created using Slack instructions.\n  You can take the “webhook url”, \"channel id\" and “bot token” 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 \u003cchat id\u003e \u003cbot token\u003e --server \u003cURL\u003e\n  pytest --junitxml=result.xml -o junit_family=\"xunit1\" --pyreport --slack-pyreport \u003cwebhook url\u003e \u003cchannel id\u003e \u003cbot token\u003e --server \u003cURL\u003e\n  ```\n  * Prerequisites:\n    * You need to run server beforehand. As an example using CI/CD tools like Jenkins or GitHub Actions\n\n---\n* Run tests with failed tests counter. By running below command you will get JSON file with percentage of failed tests:\n  ```\n   pytest --junitxml=result.xml -o junit_family=\"xunit1\" --pyreport --failed-tests-count\n  ```\n  * Fail percentage formula:\n  ```text\n  Failed Tests Percentage = (Number of Failed Tests / Total Number of Tests) * 100\n                          = (10 / 100) * 100\n                          = 10%\n  ```\n  * Example `fail_percentage.json`:\n  ```json\n  {\"fail_count\": 10, \"fail_percentage\": 10.0}\n  ```\n \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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoghrulmirzayev%2Fpytest-pyreport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoghrulmirzayev%2Fpytest-pyreport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoghrulmirzayev%2Fpytest-pyreport/lists"}