Awesome
playwright-bdd
Run BDD tests with Playwright runner.
Inspired by the issue in the Playwright repo microsoft/playwright#11975
[!TIP] Playwright-bdd v7 is released! Dropped Cucumber package dependency, simpler configuration and other improvements. Try it out and share the feedback!
Why Playwright runner?
Both Playwright and CucumberJS have their own test runners. You can use CucumberJS runner with Playwright as a library to test BDD scenarios. This package offers an alternative way: convert BDD scenarios into Playwright tests and run them with Playwright runner as usual. Such approach brings all the benefits of Playwright runner:
- Automatic browser initialization and cleanup
- Auto-capture of screenshots, videos and traces
- Parallelization with sharding
- Auto-waiting of page elements
- Out-of-box visual comparison testing
- Power of Playwright fixtures
- ...a lot more
Extras
Some features were developed in playwright-bdd
on top of Playwright and BDD approaches:
Documentation
Check out documentation website.
Examples
There are several examples in examples
folder and a separate fully working repo playwright-bdd-example.
Community
Let's make playwright-bdd awesome together!
- Open an issue on GitHub to report bug or propose new feature
- 🆕 Join Playwright-bdd Discord Server to connect with other developers, ask questions and share your experience or showcase
Changelog
Check out the latest changes in the CHANGELOG.md.
Contributing
Your contributions are welcome! Review DEVELOPMENT.md for playwright-bdd local setup and development.
Sponsors
Great thanks to the sponsors for supporting playwright-bdd project ❤️ Become a sponsor
<!-- sponsors --><a href="https://github.com/currents-dev"><img src="https://avatars.githubusercontent.com/u/81007196?v=4" width="60px" alt="Currents.dev" /></a><a href="https://github.com/jzaratei"><img src="https://avatars.githubusercontent.com/u/47472889?u=f9251d2b370555e93a0288db665dc75ecb26d9b2&v=4" width="60px" alt="" /></a><a href="https://github.com/NikkTod"><img src="https://avatars.githubusercontent.com/u/94455079?u=7dbd09bb31a22ae804b06cfd704bf38d302c6d72&v=4" width="60px" alt="" /></a><a href="https://github.com/alescinskis"><img src="https://avatars.githubusercontent.com/u/29544469?u=50a6ba94e760964df053762866c3aed21fcc21f2&v=4" width="60px" alt="Arturs Leščinskis" /></a><a href="https://github.com/kahuna227"><img src="https://avatars.githubusercontent.com/u/41581871?v=4" width="60px" alt="" /></a><a href="https://github.com/alexhvastovich"><img src="https://avatars.githubusercontent.com/u/25912757?v=4" width="60px" alt="" /></a><a href="https://github.com/FrancescoBorzi"><img src="https://avatars.githubusercontent.com/u/75517?u=dc770c4410108855e21654a962327708a80d6c1a&v=4" width="60px" alt="Francesco Borzì" /></a><!-- sponsors -->How to make BDD valuable for my project?
Have a look on this section.
My other Playwright tools
- playwright-network-cache - Speed up Playwright tests by caching network requests on the filesystem.
- playwright-magic-steps - Auto-transform JavaScript comments into Playwright steps.