Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to contribute? #300

Open
brelian opened this issue Mar 13, 2021 · 2 comments
Open

How to contribute? #300

brelian opened this issue Mar 13, 2021 · 2 comments

Comments

@brelian
Copy link

brelian commented Mar 13, 2021

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 #296. Maybe I could help to resolve some small issues. So, kindly ask is there a contribution guide and development roadmap?

Thanks
Pylon

@maximnaidenov
Copy link
Contributor

maximnaidenov commented Mar 15, 2021

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.

@brelian
Copy link
Author

brelian commented Mar 24, 2021

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants