{"id":13496128,"url":"https://github.com/vitalets/playwright-bdd","last_synced_at":"2025-05-14T14:07:56.454Z","repository":{"id":149229218,"uuid":"621268886","full_name":"vitalets/playwright-bdd","owner":"vitalets","description":"BDD testing with Playwright runner","archived":false,"fork":false,"pushed_at":"2025-05-12T06:05:39.000Z","size":5985,"stargazers_count":425,"open_issues_count":35,"forks_count":55,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-05-12T07:23:50.379Z","etag":null,"topics":["automated-testing","bdd","cucumber","gherkin","playwright","testing"],"latest_commit_sha":null,"homepage":"https://vitalets.github.io/playwright-bdd/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vitalets.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["vitalets"]}},"created_at":"2023-03-30T10:22:23.000Z","updated_at":"2025-05-12T06:05:43.000Z","dependencies_parsed_at":"2024-03-23T11:47:40.012Z","dependency_job_id":"81a67025-8dab-48b8-a322-19087740f18a","html_url":"https://github.com/vitalets/playwright-bdd","commit_stats":{"total_commits":1471,"total_committers":11,"mean_commits":"133.72727272727272","dds":"0.014276002719238567","last_synced_commit":"bc6c4dd4488af3e97f5f7d74eb0420720d99aac7"},"previous_names":[],"tags_count":76,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitalets%2Fplaywright-bdd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitalets%2Fplaywright-bdd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitalets%2Fplaywright-bdd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitalets%2Fplaywright-bdd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vitalets","download_url":"https://codeload.github.com/vitalets/playwright-bdd/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254159438,"owners_count":22024562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automated-testing","bdd","cucumber","gherkin","playwright","testing"],"created_at":"2024-07-31T19:01:42.713Z","updated_at":"2025-05-14T14:07:56.448Z","avatar_url":"https://github.com/vitalets.png","language":"TypeScript","funding_links":["https://github.com/sponsors/vitalets"],"categories":["TypeScript","Software","testing","Integrations","Tools"],"sub_categories":["Make your life easier","JavaScript"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://vitalets.github.io/playwright-bdd\"\u003e\n    \u003cimg width=\"128\" alt=\"playwright-bdd\" src=\"./docs/logo.svg\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003ch2 align=\"center\"\u003ePlaywright-BDD\u003c/h2\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![lint](https://github.com/vitalets/playwright-bdd/actions/workflows/lint.yaml/badge.svg)](https://github.com/vitalets/playwright-bdd/actions/workflows/lint.yaml)\n[![test](https://github.com/vitalets/playwright-bdd/actions/workflows/test.yaml/badge.svg)](https://github.com/vitalets/playwright-bdd/actions/workflows/test.yaml)\n[![npm version](https://img.shields.io/npm/v/playwright-bdd)](https://www.npmjs.com/package/playwright-bdd)\n[![npm downloads](https://img.shields.io/npm/dw/playwright-bdd)](https://www.npmjs.com/package/playwright-bdd)\n[![license](https://img.shields.io/npm/l/playwright-bdd)](https://github.com/vitalets/playwright-bdd/blob/main/LICENSE)\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\nRun [BDD](https://cucumber.io/docs/bdd/) tests with [Playwright](https://playwright.dev/) runner\n\n\u003c/div\u003e\n\n\u003e [!TIP]\n\u003e Try out [Fix with AI](https://vitalets.github.io/playwright-bdd/#/guides/fix-with-ai) button in HTML reporters\n\n## Why BDD?\nIn the era of AI, you can take [BDD](https://cucumber.io/docs/bdd/) approach to the next level:\n\n- 🤖 **Generate**: Drop business requirements into an AI chat and instantly get feature files.\n- ✅ **Validate**: Refine the generated scenarios with AI or colleagues, collaborate in plain text instead of code.\n- 🛠 **Automate**: [Use existing steps](https://vitalets.github.io/playwright-bdd/#/writing-features/chatgpt) to run the tests and prevent codebase growth.\n\n## Why Playwright Runner?\n\nBoth [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:\n\n- Automatic browser initialization and cleanup\n- Auto-capture of screenshots, videos, and traces\n- Parallelization with sharding\n- Auto-waiting for page elements\n- Built-in visual comparison testing\n- Power of Playwright fixtures\n- [...and more](https://playwright.dev/docs/library#key-differences)\n\n## Extras\nPlaywright-BDD extends Playwright with BDD capabilities, offering:\n\n- 🔥 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)\n- 🎩 [Step decorators](https://vitalets.github.io/playwright-bdd/#/writing-steps/decorators) for class methods  \n- 🎯 [Scoped step definitions](https://vitalets.github.io/playwright-bdd/#/writing-steps/scoped)  \n- ✨ [Exporting steps](https://vitalets.github.io/playwright-bdd/#/writing-features/chatgpt) for AI  \n- ♻️ [Re-usable step functions](https://vitalets.github.io/playwright-bdd/#/writing-steps/reusing-step-fn)  \n\n## Documentation\nCheck out the [documentation website](https://vitalets.github.io/playwright-bdd/#/).\n\n## Examples\nThere are several examples in [`examples`](/examples) folder and a separate fully working repo [playwright-bdd-example](https://github.com/vitalets/playwright-bdd-example).\n\n## Community\nFeel free to get in touch:\n\n* Open an [issue on GitHub](https://github.com/vitalets/playwright-bdd/issues) to report a bug or propose a new feature\n* Join [Playwright-BDD Discord server](https://discord.gg/5rwa7TAGUr) to connect with other developers, ask questions and share your BDD experience\n\n## Changelog\nCheck out the latest changes in the [CHANGELOG.md](https://github.com/vitalets/playwright-bdd/blob/main/CHANGELOG.md).\n\n## Contributing\nYour contributions are welcome! Please review [CONTRIBUTING.md](https://github.com/vitalets/playwright-bdd/blob/main/.github/CONTRIBUTING.md) for the details.\n\n## Sponsors\nMany thanks to our sponsors for their generous support ❤️ [Become a sponsor](https://github.com/sponsors/vitalets)\n\n\u003c!-- sponsors --\u003e\u003ca href=\"https://github.com/currents-dev\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;currents-dev.png\" width=\"60px\" alt=\"User avatar: Currents.dev\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/jzaratei\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;jzaratei.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/alescinskis\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;alescinskis.png\" width=\"60px\" alt=\"User avatar: Arturs Leščinskis\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/kahuna227\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;kahuna227.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/alexhvastovich\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;alexhvastovich.png\" width=\"60px\" alt=\"User avatar: \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/FrancescoBorzi\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;FrancescoBorzi.png\" width=\"60px\" alt=\"User avatar: Francesco Borzì\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/hanhpv\"\u003e\u003cimg src=\"https:\u0026#x2F;\u0026#x2F;github.com\u0026#x2F;hanhpv.png\" width=\"60px\" alt=\"User avatar: Hans Phung\" /\u003e\u003c/a\u003e\u003c!-- sponsors --\u003e\n\n## How to make BDD valuable for my project?\n\nHave a look on [this section](https://vitalets.github.io/playwright-bdd/#/faq?id=how-to-make-bdd-valuable-for-my-project).\n\n## My other Playwright tools\n* [request-mocking-protocol](https://github.com/vitalets/request-mocking-protocol) - Mock server-side API calls in Playwright.\n* [playwright-network-cache](https://github.com/vitalets/playwright-network-cache) - Speed up Playwright tests by caching network requests on the filesystem.\n* [playwright-magic-steps](https://github.com/vitalets/playwright-magic-steps) - Auto-transform JavaScript comments into Playwright steps.\n\n## License\nThis project is licensed under the [MIT License](https://github.com/vitalets/playwright-bdd/blob/main/LICENSE), allowing you to use, modify, and share the code freely, even for commercial purposes. Enjoy building something amazing! 🎉","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitalets%2Fplaywright-bdd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitalets%2Fplaywright-bdd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitalets%2Fplaywright-bdd/lists"}