mgr/dashboard: add visual regression testing
Currently cypress framework supports visual regression testing (comparing screenshots of a webpage/subpart under test with a given reference screenshot).
This will help reduce issues with styling/brandind changes and reduce the needs of manual testing & validation.Downsides of this approach:
- As already noted by Tiago, is that most pages are data driven, and hence dynamically changing. That makes hard to compare to fixed screenshots.
- We can either test isolated/static elements of webpages (login page, about box, navigation, forms, ...)
- Provide a given threshold for the matching algorithm (this would require manual tuning and hence is subject to making the test flapping)
- Test isolated elements without back-end data: allowing dashboard to instantiate components (blank table, static landing page, ...)
- Ensure the backend provides 'deterministic data' (feasible?)
- Hide changing data by tagging those with some class (.dynamic) and making those invisible or deterministic.
#9 Updated by Aaryan Porwal 2 months ago
Ernesto Puerta wrote:
Aarya, this is the feedback from your demo today:
- Ilya: Number of runs included in the Open Source plan?
- Josh: How many visual bugs vs. functional ones?
We're using Applitools open source plan, which currently provides us with 10,000 checkpoint screenshots per month. Everything is enlisted here: https://applitools.com/open-source-terms-of-use/