@testmonitor/ts-reporter-client
v1.0.0
Published
The TestMonitor TypeScript Reporter Client is a lightweight library for submitting automated test results to TestMonitor
Readme
TestMonitor TypeScript Reporter Client
The TestMonitor TypeScript Reporter Client (@testmonitor/ts-reporter-client) is a lightweight library for submitting automated test results to TestMonitor.
It works seamlessly with automation frameworks like Playwright and Cypress, and supports both TypeScript and JavaScript environments.
Table of Contents
Installation
Install the package using your preferred package manager:
npm install @testmonitor/ts-reporter-clientUsage
To get started, you’ll need a token for your specific test automation reporter. You can find it on the detail page of the integration in your TestMonitor project.
Initialize the client
import { Client } from '@testmonitor/ts-reporter-client';
const client = new Client({
domain: 'example.testmonitor.com',
token: 'token',
createReportPath: 'api/v1/reporters/playwright/start',
submitTestResultsPath: 'api/v1/reporters/playwright/complete',
addAttachmentPath: 'api/v1/reporters/playwright/attachment',
});Create a report
Before running your automated tests, create a report in TestMonitor using createReport. A report in TestMonitor automatically includes a test run and acts as the container for the results of your automation run.
import { Report } from '@testmonitor/ts-reporter-client';
const report: Report = await client.createReport({
name: 'Test run name',
// Optional parameters
milestoneId: 12, // Use this if you want to link to an existing milestone
milestoneName: 'Release 2025.4', // Or use this to create or match a milestone by name
testEnvironmentId: 3 // ID of the target test environment in TestMonitor
});Submit test results
Once your automated test execution has finished, submit the results to the corresponding TestMonitor report with submitTestResults:
import { Report } from '@testmonitor/ts-reporter-client';
const report: Report = await client.submitTestResults({
report_id: 1,
data: {
'suites': [{
'name': 'Login Suite',
'suites': [],
'test_cases': [{
'id':'test-case-id',
'name': 'User can log in with valid credentials',
'status': 'passed'
}]
}],
'meta': {
'duration': 1035
}
}
});Add attachments (optional)
Optionally, you can upload files (e.g., screenshots or logs) to a test result after the test results have been submitted.
await client.uploadAttachment({
id: 'test-case-id',
reportId: 1,
attachment: new File([bufferData], 'screenshot.png', { type: 'image/png' }),
});License
Copyright (c) TestMonitor | we are Cerios B.V. All rights reserved.
