A starter repository for writing end-to-end tests using Cucumber and Playwright with TypeScript.
cucumber-playwright is a starter repository that provides a pre-configured template for writing end-to-end tests using Cucumber for behavior-driven development and Playwright for browser automation. It solves the problem of setting up a modern E2E testing stack with TypeScript, reporting, and debugging tools, enabling teams to quickly adopt BDD practices.
Developers and QA engineers who need to implement BDD-style end-to-end tests with Playwright and TypeScript, particularly those looking for a ready-to-use starter template.
It offers a streamlined, opinionated setup that integrates Cucumber and Playwright with TypeScript, avoiding complex patterns like Page Object Model while providing robust reporting, debugging, and multi-browser support out of the box.
cucumber-playwright is a starter template for creating end-to-end (E2E) tests that combine Cucumber for behavior-driven development (BDD) and Playwright for browser automation. It provides a pre-configured TypeScript environment to help teams quickly set up and maintain test suites with modern tooling.
The project emphasizes a streamlined setup for BDD-style E2E testing, avoiding over-engineering like the Page Object Model in favor of a more JavaScript-friendly approach.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes ESLint, TypeScript, and Prettier pre-configured, enabling type-safe step definitions and consistent code formatting without additional setup.
Integrates Playwright to run tests on Chromium, Firefox, and WebKit, configurable via environment variables like BROWSER=firefox for flexible cross-browser testing.
Supports video recording, Allure and HTML reports with last good images, and provides CLI and VSCode debugging options with breakpoints for thorough test analysis.
The README acknowledges that Playwright's test runner overlaps with Cucumber-js, forcing a choice and potentially complicating configuration for features like parallel execution.
The author explicitly discourages the Page Object Model, and implementing it requires referring to a pull request, which may not suit teams accustomed to this pattern for test maintenance.