Try to automate as much as possible of the manual test plan, at whatever level it makes sense to do so (Codebase, simple Cypress E2E, complex TestRTC scenario).
If something cannot be automated fully, can we at least provide tools to make it faster?
E.g. if we aren't able to do visual assertions, we could at least provide video screen captures from user flows on Chrome, Edge and Firefox (in the future hopefully iOS safari as well).
How do we assert stuff from the WebGL canvas in e2e tests?
We do not have a DOM, so the existing methods of verifying visibility etc don't apply.
- One option is capturing the bitmap, and comparing it to an expected version of the canvas bitmap. Sort of like snapshot testing. One would have to manually setup the expected bitmap. This seems very fragile, and setting up the expectations (and updating them) is cumbersome.
- Another option could be maintaining some sort of tree structure of the 3d scene accessible to tests, then we could use this as a proxy of the scene and do our assertion on that instead of the real canvas. Can be something which is only enabled for tests.