https://github.com/testomatio/reporter
Testomatio Reporter
https://github.com/testomatio/reporter
hacktoberfest hacktoberfest2021
Last synced: 5 months ago
JSON representation
Testomatio Reporter
- Host: GitHub
- URL: https://github.com/testomatio/reporter
- Owner: testomatio
- Created: 2020-02-17T11:28:14.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-09T11:38:41.000Z (5 months ago)
- Last Synced: 2024-11-09T12:27:29.453Z (5 months ago)
- Topics: hacktoberfest, hacktoberfest2021
- Language: JavaScript
- Homepage:
- Size: 5.83 MB
- Stars: 125
- Watchers: 2
- Forks: 22
- Open Issues: 41
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.md
Awesome Lists containing this project
- awesome-playwright - testomatio-reporter - Runs and sends test executions to the TCMS testomatio, Jira / Linear / Azure DevOps task management. (Reporters)
- awesome-regression-testing - Testomat.io Reporter - Allows to collect tests to a Test Case Management System (TCMS) like testomat.io and sync manual and automated tests in one place. (Online services)
README
# Testomatio Reporter
π Hey, do you need some test reporting?
Testomat.io Reporter is a library that integrates with popular **JavaScript and TypeScript** test frameworks to provide a common interface for test reporting. By default, Testomat.io Reporter works with our reporting cloud service [Testomat.io App](https://testomat.io), however it is not locked to it. Reporter can be used as a standalone tool.
## Features
Testomat.io Reporter (this npm package) supports:
- π Integarion with all popular [JavaScript/TypeScript frameworks](./docs/frameworks.md)
- ποΈ Screenshots, videos, traces [uploaded into S3 bucket](./docs/artifacts.md)
- π [Stack traces](./docs/stacktrace.md) and error messages
- π [GitHub](./docs/pipes/github.md), [GitLab](./docs/pipes/gitlab.md) & [Bitbucket](./docs/pipes/bitbucket.md) integration
- π Realtime reports
- ποΈ Other test frameworks supported via [JUNit XML](./docs/junit.md)
- πΆββοΈ Steps _(work in progress)_
- π [Logger](./docs/logger.md) _(work in progress, supports Jest for now)_
- βοΈ Custom properties and metadata _(work in progress)_
- π― Free & open-source.
- π Public and private Run reports on cloud via [Testomat.io App](https://testomat.io) π
## How It Works
Testomat.io Reporter provides common API to store and organize test reports.
It can receive test result data from any [test framework](./docs/frameworks.md) and send it to different services via [pipes](./docs/pipes.md).| π Input | π Output |
| ---------- | -------------------------------------------- |
| Playwright | Report to GitHub |
| Cypress | Report to GitLab |
| Jest | Report to [Testomat.io](https://testomat.io) |
| ... | ... your custom report |If you use multiple test frameworks and you need to use one customizable reporter, check Testomat.io Reporter, as you can adjust it once and attach it to all your projects.

Artifacts like screenshots, videos, traces, are **uploaded to your own cloud storage** via S3 protocol. Artifacts can be uplaoded privately or publicly, and used in reports.
## Installation
To enable Testomat.io Reporter install `@testomatio/reporter` package
Use one of your favorite package managers:
```
npm install @testomatio/reporter --save-dev
``````
pnpm install @testomatio/reporter --save-dev
``````
yarn add @testomatio/reporter --dev
```## Getting Started
### 1οΈβ£ Attach Reporter to the Test Runner
| | | |
| ----------------------------------------------- | --------------------------------------------- | --------------------------------------------------------- |
| [Playwright](./docs/frameworks.md#playwright) | [CodeceptJS](./docs/frameworks.md#CodeceptJS) | [Cypress](./docs/frameworks.md#Cypress) |
| [Jest](./docs/frameworks.md#Jest) | [Mocha](./docs/frameworks.md#Mocha) | [WebDriverIO](./docs/frameworks.md#WebDriverIO) |
| [TestCafe](./docs/frameworks.md#TestCafe) | [Detox](./docs/frameworks.md#Detox) | [Codeception](https://github.com/testomatio/php-reporter) |
| [Newman (Postman)](./docs/frameworks.md#Newman) | [JUnit](./docs/junit.md#junit) | [NUnit](./docs/junit.md#nunit) |
| [PyTest](./docs/junit.md#pytest) | [PHPUnit](./docs/junit.md#phpunit) | [Protractor](./docs/frameworks.md#protractor) |or **any [other via JUnit](./docs/junit.md)** report....
### 2οΈβ£ Configure Reports
- [Create report on Testomat.io](./docs/pipes/testomatio.md).
- [Create brief summary report for GitHub Pull Request](./docs/pipes/github.md) π
- [Create brief summary report for GitLab Merge Request](./docs/pipes/gitlab.md).
- [Configure other pipes](./docs/pipes/md) for other ways to process test results output.
GitHub report published as a comment to Pull Request:
### 3οΈβ£ Enable Artifacts Storage
1. Create bucket on AWS, Google Cloud, or any other cloud storage provider supporting S3 protocol.
2. [Pass S3 credentials](./docs/artifacts.md) to reporter to enable artifacts uploading.### 4οΈβ£ Use Logger
Intercept your logger messages or log anything with our [Logger](./docs/logger.md) (_work in progress_).
### 5οΈβ£ TESTOMATIO HTML Report
Testomatio now features a custom reporting tool that allows you to generate a standalone HTML/CSS report for easy visualization of your test runs. This mode provides a quick way to gain a clear and visually appealing overview of your test execution.
With our reporter, you can:
- Easily analyze the results of your test runs in a convenient HTML format.
* Visualize data on successful and failed tests, including statistics and error details.
* Quickly share reports with your team members or stakeholders.
Learn more about generating HTML reports [here](./docs/pipes/html.md)
### 6οΈβ£ Add to CI Pipeline
After you tested reporter locally add it to your CI pipeline.
> We prepared some [example workflows](./docs/workflows.md) that might help you to get it running.
---
π **You are all set!**
Bring this reporter on CI and never lose test results again!
## Documentation
- π οΈ [Frameworks](./docs/frameworks.md)
- β² [Pipes](./docs/pipes.md)
- [Testomat.io](./docs/pipes/testomatio.md)
- [GitHub](./docs/pipes/github.md)
- [Gitlab](./docs/pipes/gitlab.md)
- [CSV](./docs/pipes/csv.md)
- [HTML report](./docs/pipes/html.md)
- [Bitbucket](./docs/pipes/bitbucket.md)
- π [JUnit](./docs/junit.md)
- ποΈ [Artifacts](./docs/artifacts.md)
- π [Workflows](./docs/workflows.md)
- ποΈ [Logger](./docs/logger.md)## Development
### REST API
Testomat.io App uses REST API to collect data from the reporter.
[π API Reference](https://testomatio.github.io/reporter/)
### Debug Logs
To enable verbose logging run tests with `DEBUG` environment variable:
To print all reporter logs:
```
DEBUG=@testomatio/reporter:*
```To print all reporter logs of a specific pipe:
```
DEBUG=@testomatio/reporter:pipe:github
```