Writing end-to-end tests has never been the hard part. Keeping them alive is. Playwright now ships three test agents, a planner, a generator and a healer, that take on a surprising amount of that work. I've been trying them out and this post covers how they fit together.
We utilise visual regression tests in our pipelines to give us confidence that the code we’re about to ship hasn’t unexpectedly changed anything visually. We achieve this by using Playwright’s screenshot functionality to capture the page and upload it to [Percy](https://percy.io/). We opted for Percy instead of Playwright’s built in [visual comparisons](https://playwright.dev/docs/test-snapshots) because we like having a simple and intuitive UI to review the difference. If there’s a difference between the screenshot on `main` and our proposed changes, we get a view like this which we can review and approve if we’re happy:
On the business-to-business side of Zoopla we have a SaaS (Software as a Service) product called Alto which is a sales and lettings CRM for estate agents. The product comprises of multiple applications, each a [microfrontend](https://micro-frontends.org/). Each microfrontend uses [Playwright](https://playwright.dev/) for its automated browser based tests. These tests include: