Playwright-BDD
Run BDD tests with Playwright runner
Why BDD?
In the era of AI, you can take BDD approach to the next level:
- 🤖 Generate: Ask any AI model to generate feature files by raw business requirements.
- ✅ Validate: Refine the generated scenarios with AI or colleagues, collaborate in human language instead of code.
- 🛠 Automate: Use existing steps to run the tests and prevent codebase growth.
Why Playwright Runner?
Both Playwright and CucumberJS have their own test runners. You can use the CucumberJS runner with Playwright as a library to execute BDD scenarios. This package offers an alternative: convert BDD scenarios into test files and run them directly with Playwright. You gain all the advantages of the Playwright runner:
- Automatic browser initialization and cleanup
- Auto-capture of screenshots, videos, and traces
- Parallelization with sharding
- Auto-waiting for page elements
- Built-in visual comparison testing
- Power of Playwright fixtures
- ...and more
How It Works

Extras
Playwright-BDD has several unique features:
- 🔥 Advanced tagging by path and special tags
- 🎩 Step decorators for class methods
- 🎯 Scoped step definitions
- ✨ Exporting steps for AI
- ♻️ Re-usable step functions
Documentation
Check out the documentation website.
Examples
- Check out
examples
folder - Clone the fully working repo: playwright-bdd-example
Feedback & Community
Feel free to report a bug, propose a feature or share your experience:
Changelog
Check out the latest changes in the CHANGELOG.md.
Contributing
Your contributions are welcome! Please review CONTRIBUTING.md for the details.
Sponsors
Many thanks to our sponsors for their generous support ❤️ Become a sponsor






How to make BDD valuable for my project?
Have a look on this section.
My other Playwright tools
- request-mocking-protocol - Mock server-side API calls in Playwright.
- playwright-network-cache - Speed up Playwright tests by caching network requests on the filesystem.
- playwright-magic-steps - Auto-transform JavaScript comments into Playwright steps.
License
This project is licensed under the MIT License, allowing you to use, modify, and share the code freely, even for commercial purposes. Enjoy building something amazing! 🎉