Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/testomatio/reporter
Testomatio Reporter
https://github.com/testomatio/reporter
hacktoberfest hacktoberfest2021
Last synced: 3 months ago
JSON representation
Testomatio Reporter
- Host: GitHub
- URL: https://github.com/testomatio/reporter
- Owner: testomatio
- Created: 2020-02-17T11:28:14.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T11:59:42.000Z (7 months ago)
- Last Synced: 2024-04-15T00:09:12.740Z (7 months ago)
- Topics: hacktoberfest, hacktoberfest2021
- Language: JavaScript
- Homepage:
- Size: 4.85 MB
- Stars: 106
- Watchers: 1
- Forks: 17
- Open Issues: 30
-
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) 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) π![](./docs/images/app.png)
## 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.
![](./docs/images/reporter-architecture.png)
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](./docs/pipes/images/github.png)
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.![HTML report](./docs/images/html_reporter_example.gif)
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)
- π [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
```