Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Microfrontends Team has created a new Reference Application, the “3.0 RefApp”, which represents the future of OpenMRS. It features a modern Microfrontend architecture and replaces the previous “2.x RefApp”. Students who excel in the end-to-end (E2E) testing of this project may also have the opportunity to contribute to the frontend widget and feature development for 3.0. This is because E2E testing will familiarize them with the 3.0 codebase and there is a high demand for feature development.

...

Detailed Project Report

Introduction

The OpenMRS 3.0 RefApp is a pivotal platform in healthcare technology, designed to streamline patient care and medical record management. The importance of robust E2E testing in healthcare applications cannot be understated. These tests simulate real user interactions, covering the entire application flow, to validate its functionality and performance.

Objectives

The primary objectives of the project were as follows:

  • Setting Up Repositories: This involved setting up the openmrs-esm-patient-chart and openmrs-esm-core repositories to facilitate testing.

  • Creating E2E Tests: The project aimed to create a suite of E2E tests for various components within the openmrs-esm-patient-chart repository. These included functionalities like "Allergies," "Vitals," "Biometrics," "Programs," "Conditions," "Medication," and "Notes."

  • Integration and Documentation: The E2E tests needed to be seamlessly integrated into the Continuous Integration (CI) pipeline to ensure regular testing. Additionally, thorough documentation of the testing process and results was a vital component.

Accomplishments

  • Repositories Setup: Both the openmrs-esm-patient-chart and openmrs-esm-core repositories were successfully configured, providing the foundation for testing.

  • E2E Tests Implementation: A suite of E2E tests was developed for the key functionalities specified in the project objectives. These tests accurately replicated user interactions and workflows.

  • CI Integration: The E2E tests were seamlessly integrated into the CI pipeline, enabling automated testing during each code change.

  • Documentation: Comprehensive documentation was created to guide contributors in using and understanding the E2E testing suite.

Challenges Faced

  • GitHub Actions Issues: Initially, there were issues with GitHub actions, causing a delay in PRs. The problem was identified and resolved in collaboration with the OpenMRS community.

  • Data Test IDs: Implementing data test IDs for testing purposes proved to be more challenging than anticipated due to some unexpected behavior.

  • Dev Server Failures: Temporary failures of the development server disrupted the testing workflow, requiring quick troubleshooting.

  • Test Failures: After merging PRs, some test failures occurred due to incorrectly located locators within the E2E tests. This necessitated debugging and adjustment.

Learning and Growth

The challenges presented numerous learning opportunities, enhancing skills in troubleshooting, collaboration, and problem-solving. The project provided hands-on experience with TypeScript, Playwright, and E2E testing methodologies.

Conclusion

In conclusion, the project "Extending E2E Automated Tests for OpenMRS 3.0 RefApp" has been a fulfilling journey of growth and learning. The accomplishments achieved, challenges overcome, and skills acquired during this project have not only contributed to the RefApp's reliability but have also enriched the developer's expertise. The OpenMRS community's guidance and collaboration have been instrumental in making this project a success.

Weekly Reports

Issues

Issue Number

Issue LinkPull Request

Status

O3-2106
Jira Legacy
serverOpenMRS Issues
serverId45c5771b-fa4b-3e43-b34a-c19dc45ccc95
keyO3-2106
Set up patient chart repo for e2e testingDoneMerged
O3-2107
Jira Legacy
serverOpenMRS Issues
serverId45c5771b-fa4b-3e43-b34a-c19dc45ccc95
keyO3-2107
Write E2E tests for record allergiesDoneMerged
O3-2108
Jira Legacy
serverOpenMRS Issues
serverId45c5771b-fa4b-3e43-b34a-c19dc45ccc95
keyO3-2108
Write E2E test to add medication and delete medication - Patient ChartIn Progress
O3-2109
Jira Legacy
serverOpenMRS Issues
serverId45c5771b-fa4b-3e43-b34a-c19dc45ccc95
keyO3-2109
Write E2E test for add vitals and biometrics - Patient ChartDoneMerged
O3-2110
Jira Legacy
serverOpenMRS Issues
serverId45c5771b-fa4b-3e43-b34a-c19dc45ccc95
keyO3-2110
Write E2E tests for add, edit, and delete conditions - Patient chartDoneMerged
O3-2111
Jira Legacy
serverOpenMRS Issues
serverId45c5771b-fa4b-3e43-b34a-c19dc45ccc95
keyO3-2111
Write an E2E test to add a program - Patient ChartDoneMerged
O3-2112
Jira Legacy
serverOpenMRS Issues
serverId45c5771b-fa4b-3e43-b34a-c19dc45ccc95
keyO3-2112
Write an E2E test to add notes - Patient chartClosedRemoved
O3-2113
Jira Legacy
serverOpenMRS Issues
serverId45c5771b-fa4b-3e43-b34a-c19dc45ccc95
keyO3-2113
Setup the Core repository for E2E testingIn ProgressMerged
O3-2114
Jira Legacy
serverOpenMRS Issues
serverId45c5771b-fa4b-3e43-b34a-c19dc45ccc95
keyO3-2114
Write an E2E test to login and log out - CoreIn ProgressMerged

Medium Articles

Meeting Notes

Google Doc

Final Presentation

Widget Connector
urlhttp://youtube.com/watch?v=IBc28T6ojgY

Resources