UNPKG

@testmonitor/ts-reporter-client

Version:

The TestMonitor TypeScript Reporter Client is a lightweight library for submitting automated test results to TestMonitor

96 lines (71 loc) 2.95 kB
# TestMonitor TypeScript Reporter Client The TestMonitor TypeScript Reporter Client (`@testmonitor/ts-reporter-client`) is a lightweight library for submitting automated test results to [TestMonitor](https://www.testmonitor.com/). It works seamlessly with automation frameworks like **Playwright** and **Cypress**, and supports both **TypeScript** and **JavaScript** environments. ## Table of Contents - [Installation](#installation) - [Usage](#usage) - [License](#license) ## Installation Install the package using your preferred package manager: ```sh npm install @testmonitor/ts-reporter-client ``` ## Usage 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 ```javascript 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. ```javascript 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: ```javascript 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. ```javascript 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.