ui5-uiveri5 icon indicating copy to clipboard operation
ui5-uiveri5 copied to clipboard

How to contribute?

Open brelian opened this issue 3 years ago • 2 comments

I'm a frontend developer who always uses SAPUI5. Recently, I planned to migrate OPA tests to uiveri5 due to OPA is unstable with lots of test cases. I had written a coverage report to collect the coverage. I think maybe somehow could integrate into this repo. I also found there are some high-risk dependencies that had been reported before https://github.com/SAP/ui5-uiveri5/issues/296. Maybe I could help to resolve some small issues. So, kindly ask is there a contribution guide and development roadmap?

Thanks Pylon

brelian avatar Mar 13 '21 02:03 brelian

Hi Pylon, just a warning - OPA and UIVeri5 are both using absolutely the same synchronisation code (autowaiter in UI5 runtime) and same control locators (OPA matchers/by.control()) so there is no reason to believe simply rewriting the test to uiveri5 will give you more stability. The only difference is that with UIVeri5 you can do system-level testing e.g. testing a real system that has authentication and without any mocking. But it also has limitations - no such easy access to UI5 runtime ( as test runs in nodejs). What kind of instabilities do you see in OPA? I can assure you that it is completely possible to to have absolutely stable monstrous OPA tests. Actually it is not so hard - just avoid tricks and follow the best practices. As for contribution - we will be glad to review any PR with functionality you have developed for your usecases. As far as I get, you have a code coverage setup and a respective report ?. Is it using istanbul.js ?. If so, this was an idea we had but due to low interest it did not fit in the actual roadmap. And so we will be more than happy to review a PR. Of course, if you PR something, we could also add some efforts to polish and merge it. Our current roadmap is in: https://github.com/SAP/ui5-uiveri5/blob/master/docs/todo.md. The dev setup is in: https://github.com/SAP/ui5-uiveri5/blob/master/docs/develop.md Of course the release chapter is only for our reference.

maximnaidenov avatar Mar 15 '21 08:03 maximnaidenov

Hi @maximnaidenov,

Thank you for your detailed explanation. For my respective, we use karma as the OPA test runner. I met lots of problems in the big project with lots of OPA journeys as below,

  1. No tests found when running the tests in CI/CD pipeline sometimes.
  2. ChromeHeadless disconnected with Karma sometimes.
  3. Some journeys lag to load due to extra dependencies so that OPA executing failing with them.

All of the above scenarios occur occasionally, we made a big effect on addressing them, but no idea.

I'm glad to see support for parallel execution has been listed in TODO. For the coverage report I mentioned before, I integrated istanbul.js in our project, then I added a reporter on the uiveri5 side. This solution requires the Istanbul.js instrument in the project. Not sure if it should be integrated into uiveri5.

Thanks, Pylon

brelian avatar Mar 24 '21 02:03 brelian