Improving E2E Automated Tests for the OpenMRS 3.0 RefApp
- Project Title: GSoC 2022: Improving 3.x E2E Tests
- Primary mentor: @jayasanka
- Backup mentor: @bistenes
- Student: @pasindur2
- Project Link: GSoC 2022: Improving 3.x E2E Tests
Overview
- In OpenMRS 3 we use end-to-end automated tests to check whether the components are working together as a group. With the past E2E testing tool there was a bunch of issues and it contains a less number of test workflows since the test can’t be written because of the errors in the testing tool. So the project is mainly focused to fix those issues and make tests more reliable. And extend test cases. As well as the developer engagement is less in this project since the testing tool is not user-friendly because of those issue. So the project is mainly focused on three objectives.
- We have around twelve features testing with the tool after expanding test cases thus far. Some test cases may be developed in the future because some of the features are still under development.
Objectives
Improving 3.x E2E automated testing flowing three objectives,
- Improve the reliability of tests
- Improve developer engagement
- Extend test cases
Contributions
Repositories
-
GitHub - openmrs/openmrs-test-3refapp
-
GitHub - openmrs/openmrs-contrib-qaframework
Pull Requests
- Contrib Qaframework repo -
- O3 1314 - Update the configurations to local instance test backend for 3.X E2E test by pasindur99 · Pull Request #429 · openmrs/openmrs-contrib-qaframework · GitHub
- O3-1359:Remove the unwanted 3.X test and workflows from QA framework by pasindur99 · Pull Request #432 · openmrs/openmrs-contrib-qaframework · GitHub
- O3-1375: Remove 3.x related stuff from the contrib-qaframework repository by pasindur99 · Pull Request #434 · openmrs/openmrs-contrib-qaframework · GitHub
- Test 3RefApp repo-
Pull requests · openmrs/openmrs-test-3refapp
Fixed Issues
Jira epic - Improving 3.x E2E Tests.
Tickets
Issue Number | Issue Link | Pull Request | Status |
---|---|---|---|
O3-1314 | [O3-1314] Setting up the project - OpenMRS Issues | Pull 429 | Merged |
O3-1316 | [O3-1316] Implement feature for 3.x E2E framework to avoid data mutations in tests. - OpenMRS Issues | Pull 3 | Merged |
O3-1317 | [O3-1317] Update the cypress version. - OpenMRS Issues | Pull 10 | Merged |
O3-1360 | [O3-1360] Setup CI/CD pipeline to integrate the 3.x E2E test results to QA dashboard - OpenMRS Issues | Pull 1 | Merged |
O3-1375 | [O3-1375] Bring RefApp 3.X test to a new repository - OpenMRS Issues | Pull 1 | Merged |
03-1440 | [O3-1440] Setup cron job for the 3.x test workflows and simplify the script runner. - OpenMRS Issues | Pull 8 | Merged |
O3-1402 | [O3-1402] Fix existing tests in 3.x E2E test framework. - OpenMRS Issues | Pull 5, Pull 6, Pull 4, Pull 7 | Merged |
O3-1319 | [O3-1319] Extending test cases for 3.X E2E testing. - OpenMRS Issues | Pull 11, Pull 12, Pull 9, Pull 15, Pull 7, Pull 17, Pull 18, Pull 19 | Merged |
Talk Thread links
GSoC 2022: Improving 3.x E2E Tests - Project Updates
GSoC 2022: Improving 3.x E2E Tests
The Patient chart component is loading forever in local (docker) instance.
Weekly Blog Posts
Week 01: GSoC 2022 with OpenMRS Coding Period Week 01pasindusri.medium.com
Week 02: GSoC 2022 with OpenMRS Coding Period Week 02pasindusri.medium.com
Week 03: GSoC 2022 with OpenMRS Coding Period Week 03pasindusri.medium.com
Week 04: GSoC 2022 with OpenMRS Coding Period Week 04pasindusri.medium.com
Week 05: GSoC 2022 with OpenMRS Coding Period Week 05pasindusri.medium.com
Week 06: GSoC 2022 with OpenMRS Coding Period Week 06pasindusri.medium.com
Week 07: GSoC 2022 with OpenMRS Coding Period Week 07pasindusri.medium.com
Week 08: GSoC 2022 with OpenMRS Coding Period Week 08pasindusri.medium.com
Week 09: GSoC 2022 with OpenMRS Coding Period Week 09pasindusri.medium.com
Week 10: GSoC 2022 with OpenMRS Coding Period Week 10pasindusri.medium.com
Week 11: GSoC 2022 with OpenMRS Coding Period Week 11pasindusri.medium.com
Week 12: GSoC 2022 with OpenMRS Coding Period Week 12pasindusri.medium.com
Final Blog Posts
Resources
Final Presentation
GSoC 2022 Improving 3 x E2E Tests Final presentation by Pasindu Rupasinghe
Future Works
The project’s primary need was a functional testing tool for creating test cases for O3. Now that the product is operational, the QA engineers may create tests. After the O3 developers have created the functionalities, we will be able to construct more test cases for OpenMRS 3.
Thoughts on GSoC
My experience with the Google Summer of Code 2022 was fantastic. It was a great honor to work with OpenMRS as a contributor on the project of improving the 3.x E2E test. It was also a terrific chance for me to acquire more experience working on projects. The program had a significant impact on my life. Thank you all.