Skip to main content

external@serenity-js/console-reporter

Serenity/JS Console Reporter

NPM Version Build Status Maintainability Code Coverage Contributors Known Vulnerabilities GitHub stars

Follow Serenity/JS on LinkedIn Watch Serenity/JS on YouTube Join Serenity/JS Community Chat Support Serenity/JS on GitHub

@serenity-js/console-reporter logs test progress and results to the console in a readable format.

Features

  • Colour-coded console output for test results
  • Summaries of test runs and failures
  • Works with all supported test runners

See example output in the Serenity/JS Handbook.

Installation

npm install --save-dev @serenity-js/core @serenity-js/console-reporter

See the Serenity/JS Installation Guide.

Windows

If you're on Windows, consider using Windows Terminal instead of cmd.exe to benefit from the colour output.

Quick Start

To use the console reporter in your Serenity/JS project, install the @serenity-js/console-reporter package and configure the reporter as part of the Stage crew using your test runner's configuration file.

Usage with Playwright Test

When integrating Serenity/JS with Playwright Test, use the following configuration in your playwright.config.ts file to enable the console reporter:

// playwright.config.ts
import { defineConfig, devices } from '@playwright/test';
import { SerenityFixtures, SerenityWorkerFixtures } from '@serenity-js/playwright-test';

export default defineConfig<SerenityFixtures, SerenityWorkerFixtures>({

reporter: [
[
path.resolve(__dirname, '../../packages/playwright-test'), // '@serenity-js/playwright-test'
{
crew: [
// Use console reporter with default settings
'@serenity-js/console-reporter',

// Alternatively, use console reporter
// with a theme for 'dark', 'light' or 'mono' terminals
// [ '@serenity-js/console-reporter', { theme: 'auto' } ]
],
},
],
],

// Other configuration omitted for brevity
// For details, see https://playwright.dev/docs/test-configuration
});

Learn more about using Serenity/JS with Playwright Test.

Usage with WebdriverIO

When integrating Serenity/JS with WebdriverIO, use the following configuration in your wdio.conf.ts file to enable the console reporter:

// wdio.conf.ts

import { WebdriverIOConfig } from '@serenity-js/webdriverio'

export const config: WebdriverIOConfig = {

framework: '@serenity-js/webdriverio',

serenity: {
crew: [
// Use console reporter with default settings
'@serenity-js/console-reporter',

// Alternatively, use console reporter
// with a theme for 'dark', 'light' or 'mono' terminals
// [ '@serenity-js/console-reporter', { theme: 'auto' } ]
]
},

// Other configuration omitted for brevity
// For details, see https://webdriver.io/docs/options
}

Learn more about using Serenity/JS with WebdriverIO.

Usage with Protractor

When integrating Serenity/JS with Protractor, use the following configuration in your protractor.conf.js file to enable the console reporter:

// protractor.conf.js

exports.config = {

framework: 'custom',
frameworkPath: require.resolve('@serenity-js/protractor/adapter'),

serenity: {
crew: [
// Use console reporter with default settings
'@serenity-js/console-reporter',

// Alternatively, use console reporter
// with a theme for 'dark', 'light' or 'mono' terminals
// [ '@serenity-js/console-reporter', { theme: 'auto' } ]
]
},

// ...
}

Learn more about using Serenity/JS with Protractor.

Programmatic configuration

When integrating Serenity/JS with a custom test runner setup, or using it programmatically, use the Serenity.configure method, or the standalone configure function to pass the configuration object that includes the ConsoleReporter as part of the crew.

import { configure } from '@serenity-js/core'
import { ConsoleReporter } from '@serenity-js/console-reporter'

configure({
crew: [
ConsoleReporter.withDefaultColourSupport(),
],
})

Changing the colour theme

See the ConsoleReporter API docs to learn about the supported colour themes.

Documentation

Contributing

Contributions of all kinds are welcome! Get started with the Contributing Guide.

Community

If you enjoy using Serenity/JS, make sure to star ⭐️ Serenity/JS on GitHub to help others discover the framework!

License

The Serenity/JS code base is licensed under the Apache-2.0 license, while its documentation and the Serenity/JS Handbook are licensed under the Creative Commons BY-NC-SA 4.0 International.

See the Serenity/JS License.

Support

Support ongoing development through GitHub Sponsors. Sponsors gain access to Serenity/JS Playbooks and priority help in the Discussions Forum.

For corporate sponsorship or commercial support, please contact Jan Molak.

GitHub Sponsors.

Index