Playwright offers native support for multiple browsers: Chromium, Firefox, and WebKit.
Playwright provides powerful features for network monitoring, such as intercepting network requests, responses.
Has built-in support for running tests in parallel.
Designed to handle flakiness in tests more effectively. It automatically waits for UI elements to be ready before performing actions, reducing the need for manual waits and sleep commands in test scripts. Making it a good choice for testing Rafiki Admin that relies on a lot of asynchronous communication.
It supports single-page applications (SPAs), shadow DOM, useful for testing React/Remix applications.
It seems to have good debugging tools including the ability to capture screenshots, generate a trace file, and logs.
DevOps, setting up Playwright in your workflow should be straightforward. Should integrate seamlessly with GitHub Actions.
Their docs seem useful
TODO:
[ ] Setup Playwright -> Integrate Playwright into the frontend package. Configure Playwright to work with GitHub Actions for CI/CD.
[ ] Backend and auth integration for test infrastructure.
[ ] Create the actual tests.
[ ] Documentation -> Outline Playwright setup. Provide guidelines for writing and maintaining tests.
Set up tests for the Admin UI using Playwright.
Playwright was chosen because:
TODO: