openmobilehub / omh-maps

omh-maps
Apache License 2.0
8 stars 1 forks source link

TEST002 – Include end-to-end tests for OMH Maps #77

Closed dzuluaga closed 1 year ago

dzuluaga commented 1 year ago

As part of the OMH (Open Mobile Hub) project, it is necessary to include end-to-end tests for the OMH Maps functionality. These tests will help ensure the reliability and correctness of the Maps feature and provide an automated validation process.

Currently, the OMH project includes various deliverables related to the Maps - Core Plugin and the SDK. However, it is crucial to have comprehensive end-to-end tests in place to cover the entire user flow and verify the seamless integration of the Maps feature with other components.

To achieve this, we need to integrate Appium scripts into the CI/CD pipeline for automated end-to-end testing. The Appium framework will allow us to simulate user interactions and validate the Maps functionality across different platforms and devices.

The following tasks should be considered for implementing the end-to-end tests:

  1. Identify the appropriate test scenarios and user flows that cover the major functionalities of OMH Maps.
  2. Develop Appium scripts that automate these test scenarios.
  3. Integrate the Appium scripts into the CI/CD pipeline to run the tests automatically on each build or deployment.
  4. Configure the necessary test environments and devices to execute the tests against different platforms and configurations.
  5. Generate detailed test reports and logs to track the test results and identify any potential issues.

In addition to the existing unit tests available for the Maps API, located at:

We require the implementation of dedicated end-to-end tests that cover the entire user flow and verify the functionality of the Maps feature within the OMH project.

By including end-to-end tests for OMH Maps, we aim to ensure the stability and quality of the Maps feature and provide a reliable user experience. The tests will help catch any regressions or functional issues that may arise due to code changes or external dependencies.

Please prioritize this task and provide regular updates on the progress. If there are any dependencies or challenges related to the implementation of these tests, please communicate them promptly so that we can address them accordingly.

Thank you for your attention to this matter.

nelsonwilches commented 1 year ago

Hi @dzuluaga, Automated testing is intended to provide support for the internal QA process. However, there was no mention of implementing a CD process for these automated tests. In a meeting, it was suggested, even by you, that the scripts could be stored in a folder within the maps repository as an alternative. We can upload the scripts to the maps repo, although the scripts were attached in the deliverable.

dzuluaga commented 1 year ago

Sounds good, @nelsonwilches. Let's approach this issue as we discussed in our call with you, Hans, and Esteban. Instead of integrating the automated tests directly into the CD pipeline in GitHub, we'll provide the steps for developers to run these tests locally.

Please include a folder within the maps repository that contains the source code of the Appium testing scripts. Along with the scripts, include a README.md file inside that folder. The README.md should include a short guide with the steps to run the Appium scripts locally. Additionally, please include a note stating that these tests require either a physical or virtual device. For non-GMS devices, developers can use Android emulator images without Google Play Services.

Let me know if you have any questions or if there's anything else I can assist you with. Thanks!

hans-hamel commented 1 year ago

Added a folder in the root of the folder "testsAppium" and it has it's own readme file. Also added in the Wiki the content of that Readme