Skip to content

testomatio/reporter

Repository files navigation

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, 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
  • πŸ—„οΈ Screenshots, videos, traces uploaded into S3 bucket
  • πŸ”Ž Stack traces and error messages
  • πŸ™ GitHub, GitLab & Bitbucket integration
  • πŸš… Realtime reports
  • πŸ—ƒοΈ Other test frameworks supported via JUNit XML
  • πŸšΆβ€β™€οΈ Steps (work in progress)
  • πŸ“„ Logger (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 πŸ‘‡

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 and send it to different services via pipes.

🌊 Input πŸ“Š Output
Playwright Report to GitHub
Cypress Report to GitLab
Jest Report to 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 CodeceptJS Cypress
Jest Mocha WebDriverIO
TestCafe Detox Codeception
Newman (Postman) JUnit NUnit
PyTest PHPUnit Protractor

or any other via JUnit report....

2️⃣ Configure Reports

GitHub report

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 to reporter to enable artifacts uploading.

4️⃣ Use Logger

Intercept your logger messages or log anything with our Logger (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

Learn more about generating HTML reports here

6️⃣ Add to CI Pipeline

After you tested reporter locally add it to your CI pipeline.

We prepared some example workflows that might help you to get it running.


πŸŽ‰ You are all set!

Bring this reporter on CI and never lose test results again!

Documentation

Development

REST API

Testomat.io App uses REST API to collect data from the reporter.

πŸ‘‰ API Reference

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