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

test (e2e): Add new e2e testRigor tests #2200

Merged
merged 1 commit into from
Feb 25, 2025

Conversation

amandassa
Copy link
Contributor

@amandassa amandassa commented Nov 19, 2024

Description

Added e2e tests for the main web-app functionalities.

Dependencies

Related issues and discussion

#2199

Checklist

Please make sure these boxes are checked before submitting your pull request - thanks!

  • If you have multiple commits please combine them into one commit by squashing them.

  • Read and understood the contribution guidelines at web-app/.github/CONTRIBUTING.md.

Copy link

This pull request seems to be stale. Are you still planning to work on it? We will automatically close it in 30 days.

@github-actions github-actions bot added the Stale label Dec 20, 2024
@amandassa amandassa force-pushed the test/add_new_e2e_testRigor_tests branch from c4a1d76 to 4ae7364 Compare January 8, 2025 18:55
@github-actions github-actions bot removed the Stale label Jan 9, 2025
@IOhacker
Copy link
Contributor

@amandassa are you able to fix the conflict file?

@amandassa amandassa force-pushed the test/add_new_e2e_testRigor_tests branch 3 times, most recently from 561fc28 to 2f8deff Compare February 12, 2025 21:33
@amandassa
Copy link
Contributor Author

Hello @IOhacker, can you review the PR please?

@IOhacker
Copy link
Contributor

@amandassa I think that this PR requires a suscription for a paid service? isn't ?

@amandassa amandassa force-pushed the test/add_new_e2e_testRigor_tests branch from 2f8deff to 84c00da Compare February 17, 2025 14:18
@amandassa
Copy link
Contributor Author

@IOhacker For this integration I used a testRigor OpenSource suite. The testRigor OpenSource option provides a free suite and it is free forever. You can get more info at testRigor Website

@IOhacker
Copy link
Contributor

IOhacker commented Feb 17, 2025 via email

@amandassa
Copy link
Contributor Author

amandassa commented Feb 17, 2025

@IOhacker

Q: Which is the open source github repository? Where can we review the license?

A: testRigor OpenSource is a free testRigor account option that allows testing open source projects using testRigor service for free.

Q: I see some variables that must be enable. Which are the steps to get the values and set them on the github account. How to set the values for a developer?

A: The variables CI/CD Token and test suite ID can be found at the test suite CI integration page and test suite initial page.

For this PR, I created a free testRigor account and suite for Mifos and linked the free suite to the bash script that runs the testRigor CLI tool on the workflow. This means that no further configuration is needed, since the workflow is already triggering a testRigor run within the free suite I created.

In addition to the integration, I included a README.md file with instructions for integration for Mifos developers. Following those instructions it is possible to test new features locally with testRigor before they are deployed. It is also possible for a developer to create their own testRigor account and test locally on that. It is also possible to change the variables and link the execution to a test suite other than the one I created for Mifos.

Q: Or how to skip this testing?

A: This testing step consists of reliable End-to-end testing of the most crucial functionalities in Mifos. Currently only the Mifos login page is being tested. Including these tests to the CI would drastically improve reliability and bug tracking

Q: Is there any other similar alternatives? Do you have a video about the changes/benefits of this PR?

A: One of the reasons for using testRigor instead of other testing alternatives like Cypress is the improved maintenability. Since the tests are written in plain english, anyone can create and update tests. That can be useful for an open source project like Mifos. I noticed you have a directory for cypress integration tests, but no tests were added in the last 3 years.
You can learn more on testRigor Benefits Video Demonstration or testRigor Benefits Page

@IOhacker
Copy link
Contributor

Hello @amandassa,

I have look for the license and terms of use and I have only found these:

https://testrigor.com/terms-of-use/
https://choosealicense.com/licenses/unlicense/

I was unable to find any github repository for libraries or source code of RigorTest.

In my opinion I am not fully convinced to link a commercial software testing platform (even with a Free account). I have not found how this platform is supporting the Open Source communities.

I reviewed the scripts included in the PR and they implement the functionality provided by RigorTest Platform which could lead to a vendor lock-in.

@amandassa amandassa force-pushed the test/add_new_e2e_testRigor_tests branch from 84c00da to 1b756ab Compare February 18, 2025 13:49
@amandassa
Copy link
Contributor Author

Hi @IOhacker, there is no vendor lock-in. It is plain English plain text, meaning that any modern automation tool will execute those. testRigor is contributing to open source community by providing free infrastructure to run tests to open source projects. Would you rather have little-to no end-to-end tests or accept free tests?

@IOhacker
Copy link
Contributor

@amandassa it is a vendor lock in when the plain English can be executed only in the RigorTest. I will take a look how they behave using Autonomiq, Testim or TestSigma... or Selenium. That is my technical perspective.

On the other hand @edcable @DavidH-1 could you please check how this integration (Rigor Test Platform) can benefit the Mifos Community.

@amandassa amandassa force-pushed the test/add_new_e2e_testRigor_tests branch from 1b756ab to 9bc32e4 Compare February 18, 2025 19:53
@DavidH-1
Copy link

Thanks @IOhacker for highlighting. In some ways I’m not worried by plain text definition that has advantages just like plan text in Cucumber/gherkin I guess my concerns are two fold:
(A) from a quick read and it is very quick it appears that testrigor then takes that plan text parses it through an LLM to generate the test. How repeatable is the test then? As the LLM is trained over time will the test outcome for same input change. I need to research it more for this.
(B) does merging this mandate the use of testrigor, if so then all the licensing queries etc become relevant and this should be referred to the architecture working group for consideration. If it’s just a set of optional additional tests that could be run then maybe it’s of less concern.

@amandassa
Copy link
Contributor Author

amandassa commented Feb 18, 2025

@DavidH-1 Thanks for reviewing.
Regarding your questions:
(A) The specific test steps are parsed and executed emulating how a human would do it, without AI. AI is used to build steps on demand, if an unrecognized phrase is provided.
(B) The integration implies only on the installation of the CLI tool. The tests are then run on testRigor through tunneling using the same deployment as the other workflow steps.

@amandassa amandassa force-pushed the test/add_new_e2e_testRigor_tests branch from 9bc32e4 to 0c2fd32 Compare February 25, 2025 18:00
E2e cover of the main functionalities
CI added to build.yml
@amandassa amandassa force-pushed the test/add_new_e2e_testRigor_tests branch from 0c2fd32 to fb19028 Compare February 25, 2025 18:28
@IOhacker IOhacker merged commit cfab627 into openMF:master Feb 25, 2025
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

Successfully merging this pull request may close these issues.

4 participants