@serenity-js/console-reporter
v3.41.0
Published
Serenity/JS console reporter that displays test results directly in the standard output
Downloads
56,234
Maintainers
Readme
Serenity/JS Console Reporter
@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-reporterSee 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
- API Reference
- Screenplay Pattern Guide
- Serenity/JS Project Templates
- Tutorial: First Web Scenario
- Tutorial: First API Scenario
Contributing
Contributions of all kinds are welcome! Get started with the Contributing Guide.
Community
- Community Chat
- Discussions Forum
- Visit the 💡How to... ? section for answers to common questions
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.
