This repository is based on the Cucumber-typescript-starter repo.
- Typescript setup for writing steps with eslint/typescript and prettier
- Launching of Playwright browser before running all tests
- Launching new context and page for each scenario
- Running feature with video recording option
- Report generated with last good image attached
- Utilies function to help you with writing steps
- VScode configuration to debug a single feature or an only scenario (run when located on the feature file)
- Add your Cucumbers features (
playwright.feature.ts
) in the feature folder - Create steps (
yourFeature.steps.ts
) for your features in src/steps - Ad utility methods in src/utils
- If needed, modify the CustomWorld class and before-after hooks in src/support
npm run test
ornpx cucumber-js
runs all testsnpm run test <feature name>
ornpx cucumber-js --name <feature name>
run the single featurenpx cucumber-js --tags <your tags names>
runs all test with the listed tags
By default we will use chromium. You can define an envrionment variable called BROWSER and set the name of the browser. Available options: chromium, firefox, webkit
On Linux and Mac you can write:
BROWSER=firefox npm run test
or BROWSER=firefox npx cucumber-js
runs all tests using Firefox
One Windows you need to write
set BROWSER=firefox
npm run test
npm run debug
- headful mode with APIs enables both APIs and debug optionsnpm run api
- headless mode with debug apisnpm run video
- headless mode vith video
- Open the feature
- Select the debug options in the VSCode debugger
- Set breakpoints in the code
To stop the feature, you can add the Then debug
step inside your feature. It will stop your debugger.
The last reporter/formatter found on the cucumber-js command-line wins:
--format summary --format @cucumber/pretty-formatter --format cucumber-console-formatter
In cucumber.js file, modify the options.
- tag the scenario with
@ignore
- run the command
npm run build
.
- run the command
npm run steps-usage
.
- run the command
npm run report
.