README
Serenity/JS
Serenity/JS is a Node.js framework designed to make acceptance and regression testing of modern full-stack applications faster, more collaborative and easier to scale.
Visit serenity-js.org for the latest tutorials and API docs, and follow @SerenityJS and @JanMolak on Twitter for project updates.
Learning Serenity/JS
To learn more about Serenity/JS, check out the video below, read the tutorial, review the examples, and create your own test suite with Serenity/JS template projects.
If you have any questions, join us on Serenity/JS Community Chat.
Serenity/JS Cucumber
@serenity-js/cucumber
contains a set of adapters you register with Cucumber CLI runners to enable integration and reporting between Cucumber.js and Serenity/JS.
Please note: To use Cucumber and Serenity/JS to execute web-based acceptance tests, you should register Serenity/JS Cucumber adapter using Protractor configuration file.
Learn more about integrating Serenity/JS Cucumber:
- with Protractor and Cucumber.js,
- with Cucumber.js.
Installation
To install this module, run:
npm install --save-dev @serenity-js/{cucumber,core}
This module reports test scenarios executed by any version of Cucumber.js, from 0.x to 7.x, which you need to install separately.
To install Cucumber 7.x, run:
npm install --save-dev @cucumber/cucumber
To install Cucumber 6.x or earlier, run:
npm install --save-dev cucumber
Command line usage
Cucumber 7.x
cucumber-js --format @serenity-js/cucumber \
--require ./features/support/setup.js \
--require ./features/step_definitions/sample.steps.js
Cucumber 3.x to 6.x
cucumber-js --format node_modules/@serenity-js/cucumber \
--require ./features/support/setup.js \
--require ./features/step_definitions/sample.steps.js
Cucumber 0.x to 2.x
cucumber-js --require=node_modules/@serenity-js/cucumber/lib/index.js \
--require ./features/support/setup.js \
--require ./features/step_definitions/sample.steps.js
Configuration
When used with a configuration file written in JavaScript:
// features/support/setup.js
const { configure } = require('@serenity-js/core');
configure({
// ... configure Serenity/JS
});
When used with a configuration file written in TypeScript:
// features/support/setup.ts
import { configure } from '@serenity-js/core';
configure({
// ... configure Serenity/JS
});
Integration
This module can be integrated with:
@serenity-js/serenity-bdd
to produce HTML reports and living documentation,@serenity-js/console-reporter
to print test execution reports to your computer terminal,@serenity-js/protractor
to implement Cucumber scenarios interacting with Web applications.
Learn more about Serenity/JS Modules.