-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Description
@aaronbrethorst To implement E2E testing for the website, we can approach this by selecting a suitable testing framework that best aligns with the project’s tech stack and requirements.
Choosing a Testing Framework
For E2E testing, we have several options:
Cypress: Easy to set up and provides great debugging tools but runs only in a browser environment, limiting backend interaction and often leading to flaky tests.
Selenium: A powerful cross-browser testing tool but requires more setup and is slower compared to modern alternatives.
Jest: Primarily a unit testing framework, not ideal for full-fledged E2E testing.
Playwright (Recommended): Supports multiple browsers and languages, offers great debugging tools, handles complex user interactions, runs efficiently in headless mode, and allows parallel execution.
Why Playwright?
Playwright is well-suited for this project because:
- It supports Chromium, Firefox, and WebKit, ensuring cross-browser compatibility.
- It allows testing of multiple user interactions, including authentication, navigation, and form handling.
- It integrates seamlessly with CI/CD pipelines using GitHub Actions.
- Parallel execution in pipelines optimizes time and resource usage.
- It is fully open-source, unlike Cypress, which requires a paid plan for cloud dashboard testing. Playwright allows testing in all environments without restrictions.
- It handles flaky tests better than any other framework.
- The Codegen feature in Playwright makes test writing more efficient by automatically generating scripts.
@aaronbrethorst @Ahmedhossamdev Would love to hear your feedback on whether this approach aligns with the project’s vision. Am I heading in the right direction? If this works for you, I will proceed with submitting a formal proposal and PR also.
Looking forward to your response!
Thanks!
Metadata
Metadata
Assignees
Labels
No labels