-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
I am currently experimenting with this and the results are very promising. I added a hidden setting to Burn-My-Windows which freezes all animations. Then, I created a script to generate reference images for all supported GNOME versions / X11 / Wayland / all window-open animations / all window-close animations. This makes up for a total of 136 test cases. The test script then re-captures all those images on each push event to the main branch. At first glance, it seems to work :)
Currently, I am maintaining several GNOME Shell extensions each of which support various versions of GNOME Shell (Fly-Pie, The Desktop-Cube, and Burn-My-Windows). To ensure that they actually work on all advertised GNOME Shell versions (and also on X11 & Wayland), I set up a continuous integration system using GitHub Actions.
Now, whenever I push a commit to GitHub, the extensions are automatically installed to a set of podman containers running GNOME Shell on xvfb. Then, several automated tests are performed on the respective extension.
Currently, I am maintaining several GNOME Shell extensions each of which support various versions of GNOME Shell (Fly-Pie, The Desktop-Cube, and Burn-My-Windows). To ensure that they actually work on all advertised GNOME Shell versions (and also on X11 & Wayland), I set up a continuous integration system using GitHub Actions.
Currently, I am maintaining several GNOME Shell extensions each of which support various versions of GNOME Shell (Fly-Pie, The Desktop-Cube, and Burn-My-Windows). To ensure that they actually work on all advertised GNOME Shell versions (and also on X11 & Wayland), I set up a continuous integration system using GitHub Actions.
Would using a seedable RNG for testing make it possible to get the same screenshots every time?