Suggested by @akosyakov :
https://www.cypress.io/ - looks like a better alternative to Selenium and writing browser based tests in general
@epatpol maybe something to investigate quickly...
Example of debugging: https://vimeo.com/242961930#t=264s
They also have a free dashboard for public projects: https://www.cypress.io/dashboard/
So one can investigate recorded snapshots for failed tests.
Yes I just looked a bit into it, it sure does look interesting, but I haven't investigated further. I personally don't mind switching to that if it's easier to maintain ui tests.
I think we should rethink the whole ui test infrastructure. The ideal structure would be ui tests per packages. i.e packages/cpp and packages/workspace have their own ui tests which would launch a theia app with the bare minimum (just the current package and its dependency) and run the tests against this ui. I don't know how complicated/difficult that would be, but if someone considers switching to Cypress I think we should consider making that change also.
We've decided no to go with any integration testing framework, but own testing against Theia APIs.
Most helpful comment
I think we should rethink the whole ui test infrastructure. The ideal structure would be ui tests per packages. i.e packages/cpp and packages/workspace have their own ui tests which would launch a theia app with the bare minimum (just the current package and its dependency) and run the tests against this ui. I don't know how complicated/difficult that would be, but if someone considers switching to Cypress I think we should consider making that change also.