- increase minimal Playwright version from 1.35 to 1.42
- support scoped step definitions (#205)
- new config option
missingSteps
to setup different behavior when step definitions are missing (#158) - new config option
matchKeywords
to enable keyword matching when searching for step definitions (#221) - add
name
option toBeforeAll / AfterAll
hooks - make config option
quote
default to"single"
to have less escapes in the generated files - config option
featuresRoot
serves as a default directory for bothfeatures
andsteps
, if these options are not explicitly defined - feature: provide full localized step titles to Playwright HTML reporter (#229, #122)
- show background title in Playwright HTML reporter (#122)
- support external attachments in Cucumber HTML reporter (#182)
- support trace-viewer in Cucumber HTML reporter (#182)
- hide BDD fixtures from Playwright HTML report (#122)
- fix decorator typings for TypeScript consumers with
module
=commonjs
(#222)
- support
skipAttachments
option inhtml
andmessage
reporters (related to #182) - revert
#
subpath imports to relative paths: consumers with(module = commonjs) + (skipLibCheck = false)
can't compile the project (#218)
- fix: skipped scenarios break cucumber reports (#143)
- chore: update @cucumber/html-formatter (#213)
- chore: use import subpath from package.json for internal imports
- chore: update dependencies
- fix: show snippets even if there are no step definitions found, (#201)
- fix: unexpected Exit Code with cucumberReporter When Setup Fails, (#200)
- chore: set module node16 in tsconfig, remove typesVersions and add types tests
- fix: check exported test variable for manual importTestFrom, (#196)
- fix: improve error messages when guessing importTestFrom, (#196)
- fix: bddgen env throws if there is no @cucumber/cucumber
- fix: access to $tags fixture in non-bdd project, (#189)
- fix: make @retries:0 special tag work, (#187)
- improvement: dropped dependency on
chalk
andsupports-color
.
- improvement: remove dependency on Cucumber runner, see all the details in migration guide, (#136)
- improvement: support custom parameter types in decorator steps, (#112)
- improvement: manual
importTestFrom
option is replaced with automatic detection and most likely can be removed from BDD configuration, (#46) - improvement: introduce new function
defineBddProject()
that makes it easier to configure BDD for Playwright projects, (#169) - chore: set minimal Playwright version to 1.35
- chore: set minimal Node.js version to 18
- bugfix: enable run of non-bdd projects, (#166)
- bugfix: createBdd returns Cucumber-Style Typing when using Playwright-Style, (#163)
- feature: added new cucumber-style approach
- refactor: apply
@timeout
and@slow
in runtime - bug: fix cucumber reporters on Win
- feature: support
_
in@timeout
tag - fix: support Playwright 1.44 and Cucumber 10.6
- fix: Cucumber reporter doesn't work for non BDD projects (#143)
- improvement: set scenario timeout via
test.setTimeout
instead of anonymous describe (#139) - feature: add
@slow
special tag (#138) - improvement: relax rules for guessing fixtures in decorator steps, introduce new config option
statefulPoms
for more strict checks (#102)
- feature: add
--version
cli flag (#134) - feature: show step locations in unused export and in duplicate steps error (#113)
- feature: add
$step
fixture (#133) - feature: add experimental support of
steps
option (related to #94)
- fix: support stacktrace for Cucumber 10.4
- feature: add new special tags (#123, #126)
- feature: support new Playwright tags (#98)
- feature: add option
--unused-steps
tobddgen export
(#113) - feature: show stdout / stderr in Cucumber reports (#116)
- feature: call step from step (#110)
- bug: getting testInfo._runAsStep is not a function after updating to Canary playwright (#119)
- fix timeouts in Cucumber reporters, #107
- fix spec generation for feature file with background without scenarios, #104
- fix Cucumber reporters for non-default language
- support Cucumber reporters 🎉, #9
- update minimal Playwright version to 1.34
- refactor docs navigation, add sidebar groups
- improve docs per users' feedback, #90, #93
- make imports in the generated files use
/
on win, #91
- support Playwright 1.42, #96
- support Cucumber 10.2
- support Cucumber 10.1, #80
- support component tests, #57
- generate skipped tests with empty body, #73
- allow outline scenario name to be used as an examples template, #67
- fix empty step locations for esm
- fix duplicate steps error message, #74
- add support for hooks, #15
- add support for custom fixtures in cucumber-style steps
- enrich html-report with keywords, #69
- fix snippets on win for cucumber@10, #71
- i18n: Generate scenario outlines correctly #60.
- Check for duplicate fixture names #52
- Fix flushing logs for several projects #59
- Support Playwright
1.39
. - Docs: add search.
- Add support for Playwright
1.38
. - Fix output dir clear on Windows #49).
- Support feature level
@fixture:
tags #52).
-
possibly breaking: Introduce
featuresRoot
option to have more control of generated files structure #44.This fix actually reverts simplification of
outputDir
by common parent (added in v5, see #40).❤️ I need to admit that automatic simplification of
outputDir
structure was not the right choice. Playwright heavily relies on tests structure for storing screenshots and we should keep it as stable as possible. I don't like such reverting but better to do it now than later. IntroducedfeaturesRoot
allows to strictly control output structure in the same way as TypeScript controls it with rootDir.If you use screenshots/snapshots you may need to re-save them to new paths after upgrading.
-
Add CLI command
bddgen export
. -
Suppress
publishQuiet
deprecation warning for Cucumber v9.4+, see #47
- Hotfix for output directory structure with tags filter, see comment
- Add
--tags
option to filter scenarios by tags expression #36. - Add
bddgen env
command to display environment info.
There are several breaking changes in this release. Please check carefully after upgrade.
- breaking: Optimize world initialization, rename
World
->BddWorld
,WorldOptions
->BddWorldOptions
. If you use these classes you may need to rename it as well - breaking: Resolve paths relative to Playwright config file, not to
process.cwd()
. If you use custom Playwright config file you may need to update paths in it - breaking: Simplify generated directories structure #40. If you use snapshots you may need to re-save them in new paths
- Improve support for several calls of
defineBddConfig()
#39 - Add config option
quotes
='single' | 'double' | 'backtick'
to control quotes style in generated tests #34
- Fix running several Playwright projects with shared steps #32
- Support decorators for defining steps #35 (set minimal Playwright version to 1.33)
- Fix getting location from stacktrace, #31
- Use built-in Playwright's loader for TS instead of
ts-node
, fixes #27
- Improve snippets
- Support Cucumber tags #8
- Fix slash in the generated import statement on windows #26
- Fix docs for custom fixtures #25
- Fix
--ui
mode #24 - Support
--verbose
CLI flag
Version v3 has several major updates based on the feedback.
- Added support of custom fixtures and playwright-style functions for step definitions #11
- Use single config file: embed Cucumber config into Playwright config #4
- Nice reporting: wrap each cucumber step in
test.step
#22 - Supported screenshots / snapshots persistance between test runs #23
- Support Gherkin i18n #13
- Print parsing errors to the console while generating #2
- Initial public release