Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vitalets/playwright-bdd
BDD testing with Playwright runner
https://github.com/vitalets/playwright-bdd
automated-testing bdd cucumber gherkin playwright testing
Last synced: 2 days ago
JSON representation
BDD testing with Playwright runner
- Host: GitHub
- URL: https://github.com/vitalets/playwright-bdd
- Owner: vitalets
- License: mit
- Created: 2023-03-30T10:22:23.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-24T11:42:27.000Z (19 days ago)
- Last Synced: 2025-01-03T00:04:11.718Z (9 days ago)
- Topics: automated-testing, bdd, cucumber, gherkin, playwright, testing
- Language: TypeScript
- Homepage: https://vitalets.github.io/playwright-bdd/
- Size: 4.4 MB
- Stars: 328
- Watchers: 14
- Forks: 42
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-playwright - playwright-bdd - BDD testing with Playwright runner and CucumberJS. (Integrations)
- awesome-testing - playwright-bdd - A module for running Behaviour-Driven Development (BDD) tests with Playwright runner. (Software / Make your life easier)
- awesome-bdd - Playwright-BDD - A library to run BDD tests with Playwright runner. (Tools / JavaScript)
README
Playwright-BDD
[![lint](https://github.com/vitalets/playwright-bdd/actions/workflows/lint.yaml/badge.svg)](https://github.com/vitalets/playwright-bdd/actions/workflows/lint.yaml)
[![test](https://github.com/vitalets/playwright-bdd/actions/workflows/test.yaml/badge.svg)](https://github.com/vitalets/playwright-bdd/actions/workflows/test.yaml)
[![npm version](https://img.shields.io/npm/v/playwright-bdd)](https://www.npmjs.com/package/playwright-bdd)
[![npm downloads](https://img.shields.io/npm/dw/playwright-bdd)](https://www.npmjs.com/package/playwright-bdd)
[![license](https://img.shields.io/npm/l/playwright-bdd)](https://github.com/vitalets/playwright-bdd/blob/main/LICENSE)Run [BDD](https://cucumber.io/docs/bdd/) tests with [Playwright](https://playwright.dev/) runner
> [!TIP]
> :fire: Check out [what's new in Playwright-BDD v8](https://vitalets.github.io/playwright-bdd/#/blog/whats-new-in-v8)## Why BDD?
In the era of AI, you can take [BDD](https://cucumber.io/docs/bdd/) to the next level:- 🤖 **Generate**: Drop business requirements to AI chat and get structured, human-readable features.
- ✅ **Validate**: Refine the generated scenarios with AI or colleagues, collaborate in plain text instead of code.
- 🛠 **Automate**: [Use existing steps](https://vitalets.github.io/playwright-bdd/#/writing-features/chatgpt) to run the tests and prevent codebase growth.## Why Playwright Runner?
Both [Playwright](https://playwright.dev/) and [CucumberJS](https://github.com/cucumber/cucumber-js) have their own test runners. You can use the CucumberJS runner with [Playwright as a library](https://playwright.dev/docs/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](https://playwright.dev/docs/library#key-differences)## Extras
Playwright-BDD extends Playwright with BDD capabilities, offering:- 🔥 Advanced tagging [by path](https://vitalets.github.io/playwright-bdd/#/writing-features/tags-from-path) and [special tags](https://vitalets.github.io/playwright-bdd/#/writing-features/special-tags)
- 🎩 [Step decorators](https://vitalets.github.io/playwright-bdd/#/writing-steps/decorators) for class methods
- 🎯 [Scoped step definitions](https://vitalets.github.io/playwright-bdd/#/writing-steps/scoped)
- ✨ [Exporting steps](https://vitalets.github.io/playwright-bdd/#/writing-features/chatgpt) for AI
- ♻️ [Re-usable step functions](https://vitalets.github.io/playwright-bdd/#/writing-steps/reusing-step-fn)## Documentation
Check out the [documentation website](https://vitalets.github.io/playwright-bdd/#/).## Examples
There are several examples in [`examples`](/examples) folder and a separate fully working repo [playwright-bdd-example](https://github.com/vitalets/playwright-bdd-example).## Community
Feel free to get in touch:* Open an [issue on GitHub](https://github.com/vitalets/playwright-bdd/issues) to report a bug or propose a new feature
* Join [Playwright-BDD Discord server](https://discord.gg/5rwa7TAGUr) to connect with other developers, ask questions and share your BDD experience## Changelog
Check out the latest changes in the [CHANGELOG.md](https://github.com/vitalets/playwright-bdd/blob/main/CHANGELOG.md).## Contributing
Your contributions are welcome! Please review [CONTRIBUTING.md](https://github.com/vitalets/playwright-bdd/blob/main/.github/CONTRIBUTING.md) for the details.## Sponsors
A huge thanks to our sponsors for their support ❤️ [Become a sponsor](https://github.com/sponsors/vitalets)## How to make BDD valuable for my project?
Have a look on [this section](https://vitalets.github.io/playwright-bdd/#/faq?id=how-to-make-bdd-valuable-for-my-project).
## My other Playwright tools
* [playwright-network-cache](https://github.com/vitalets/playwright-network-cache) - Speed up Playwright tests by caching network requests on the filesystem.
* [playwright-magic-steps](https://github.com/vitalets/playwright-magic-steps) - Auto-transform JavaScript comments into Playwright steps.## License
[MIT](https://github.com/vitalets/playwright-bdd/blob/main/LICENSE)