# GSoC 2022: Improving 3.x E2E Tests - Project Updates

**URL:** <https://talk.openmrs.org/t/gsoc-2022-improving-3-x-e2e-tests-project-updates/36928>\
**Category:** GSoC\
**Tags:** qaframework, 3x, gsoc2022\
**Created:** [June 19, 2022, 12:39pm UTC](https://talk.openmrs.org/t/gsoc-2022-improving-3-x-e2e-tests-project-updates/36928 "2022-06-19T12:39:45Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![pasindur2](https://talk.openmrs.org/user_avatar/talk.openmrs.org/pasindur2/32/15151_2.png) [@pasindur2](https://talk.openmrs.org/u/pasindur2)\
**Post date:** [June 19, 2022, 12:39pm UTC](https://talk.openmrs.org/t/gsoc-2022-improving-3-x-e2e-tests-project-updates/36928/1 "2022-06-19T12:39:46Z")

</div>

Hi all! I will be working on the project ‘Improving 3.x E2E Tests’ for Gsoc 2022. The project will produce a reliable and deterministic end-to-end test framework for the 3.x. This thread will be used to update the community about the project’s progress.

For more details - [GSoC 2022: Improving 3.x E2E Tests - Projects - OpenMRS Wiki](https://wiki.openmrs.org/display/projects/GSoC+2022%3A+Improving+3.x+E2E+Tests)

Project proposal - [GSoC 2022: Improving OpenMRS 3.x E2E Testing Framework (latest) - Google Docs](https://docs.google.com/document/d/1jPdji0lOE5V8-m0IPb1OSKryyMPLzX9k_VtwpKXDqvs/edit?usp=sharing)

Epic link - [[O3-1313] Improving 3.x E2E Tests. - OpenMRS Issues](https://issues.openmrs.org/browse/O3-1313)

Primary mentor - @jayasankaBackup mentor - @bistenes

---

<div class="post-metadata">

**Author:** ![jnsereko](https://talk.openmrs.org/user_avatar/talk.openmrs.org/jnsereko/32/14978_2.png) [@jnsereko](https://talk.openmrs.org/u/jnsereko)\
**Post date:** [June 19, 2022, 12:58pm UTC](https://talk.openmrs.org/t/gsoc-2022-improving-3-x-e2e-tests-project-updates/36928/2 "2022-06-19T12:58:29Z")

</div>

great work @pasindur2hope you follow up with @ibacher. He might have an idea on [how to raise the visibility of 3.X tests](https://openmrs.slack.com/archives/CP343JH1R/p1655486739557909)

You might also find [OpenMRS 3.x Requirements Rubric (QA Spreadsheet)](https://docs.google.com/spreadsheets/d/1jsK-Zo8vJfFs3d2yp_CAxV1bHujYKsmslBDWnorZYDM/edit?usp=sharing) an interesting resource too.

cc @zacbutko

---

<div class="post-metadata">

**Author:** ![pasindur2](https://talk.openmrs.org/user_avatar/talk.openmrs.org/pasindur2/32/15151_2.png) [@pasindur2](https://talk.openmrs.org/u/pasindur2)\
**Post date:** [June 19, 2022, 1:09pm UTC](https://talk.openmrs.org/t/gsoc-2022-improving-3-x-e2e-tests-project-updates/36928/3 "2022-06-19T13:09:09Z")

</div>

Thank you @jnsereko for the suggestions.

**Project Update -**

Milestone definition for the project - [Milestones for the Project of Improving 3.X E2E testing Gsoc 2022 - Google Docs](https://docs.google.com/document/d/1oJOCKq1-8O_6Uo0ixo8tcAKpeq2cBp2CrzjvTRQJVwg/edit?usp=sharing)

---

<div class="post-metadata">

**Author:** ![pasindur2](https://talk.openmrs.org/user_avatar/talk.openmrs.org/pasindur2/32/15151_2.png) [@pasindur2](https://talk.openmrs.org/u/pasindur2)\
**Post date:** [June 21, 2022, 1:08pm UTC](https://talk.openmrs.org/t/gsoc-2022-improving-3-x-e2e-tests-project-updates/36928/4 "2022-06-21T13:08:12Z")

</div>

**Update-** Created a PR to change the configuration and update the readme guidance to the local instance test backend for 3.x E2E testing. [link](https://github.com/openmrs/openmrs-contrib-qaframework/pull/429)

cc: @jayasanka @bistenes @qateam

---

<div class="post-metadata">

**Author:** ![pasindur2](https://talk.openmrs.org/user_avatar/talk.openmrs.org/pasindur2/32/15151_2.png) [@pasindur2](https://talk.openmrs.org/u/pasindur2)\
**Post date:** [July 2, 2022, 6:27am UTC](https://talk.openmrs.org/t/gsoc-2022-improving-3-x-e2e-tests-project-updates/36928/5 "2022-07-02T06:27:26Z")

</div>

**Project update to** 2022-07-01T18:30:00Z

1. Created a pr to bring refapp 3 E2E test to the new repository (Login test) and set up a Ci pipeline to integrate the test results -

pr -

> <https://github.com/openmrs/openmrs-test-3refapp/pull/1>
>
> \## Purpose
> The pull request is created to bring RefApp 3.X test to a new reposi…tory and this pull request is related to the issue ticket number \[O3-1375\](https://issues.openmrs.org/browse/O3-1375) \[O3-1360\](https://issues.openmrs.org/browse/O3-1360) 
> 
> \## Goals
> \- The goal of this pr is to bring the 3.x E2E automated test framework into a new place.
> 
> \## Approach
> \- Restore the 3.x E2E testing framework.

New repository - [GitHub - openmrs/openmrs-test-3refapp](https://github.com/openmrs/openmrs-test-3refapp)

1. Created pr to remove 3.X stuff from [GitHub - openmrs/openmrs-contrib-qaframework](https://github.com/openmrs/openmrs-contrib-qaframework) repo.

PR -

> <https://github.com/openmrs/openmrs-contrib-qaframework/pull/434>
>
> \## Purpose 
> 
> \* The purpose of this pull request is to remove the 3.x related s…tuff from this repository since the 3.X test will bring to a new repository. \[New Repo\](https://github.com/openmrs/openmrs-test-3refapp)
> \* Issue ticket number - \[O3-1375\](https://issues.openmrs.org/browse/O3-1375)

CC: @jayasanka @bistenes

---

<div class="post-metadata">

**Author:** ![pasindur2](https://talk.openmrs.org/user_avatar/talk.openmrs.org/pasindur2/32/15151_2.png) [@pasindur2](https://talk.openmrs.org/u/pasindur2)\
**Post date:** [July 21, 2022, 3:59pm UTC](https://talk.openmrs.org/t/gsoc-2022-improving-3-x-e2e-tests-project-updates/36928/6 "2022-07-21T15:59:59Z")

</div>

**Project updates to 2022-07-20T18:30:00Z**

1. Worked on fixing the data mutation issue.

Jira ticket -  
[https://issues.openmrs.org/browse/O3-1316](https://issues.openmrs.org/browse/O3-1316)

Pull request -

> <https://github.com/openmrs/openmrs-test-3refapp/pull/3>
>
> \## Purpose
> The pull request is created to implement a feature in 3.x E2E testin…g tool to avoid data mutations in tests. And this pull request is related to the issue ticket number \[O3-1316\](https://issues.openmrs.org/browse/O3-1316)
> 
> \## Goals.
> \- This pr aim is to avoid the data mutation issues related to some tests in 3.X E2E testing tool.
> 
> \## Approach
> - Create Script files for the following purposes.
> 1. Take a Dump File of a database.
> 2. Restore the database.
> - Create npm commands to run the following scripts.

Had a few issues with;

- Setting up the back end - Got fixed ([Talk discussion](https://talk.openmrs.org/t/openmrs-3-x-docker-image-backend-not-running/37093))
- Errors with MySQL connection for making a dump of the database; the connection issue got fixed by `mysqldump -h localhost -P 3306 --protocol=tcp -u openmrs -popenmrs openmrs > openmrs.sql` command. And it worked after setting the database port to 3036 in docker. So I could be able to make a dump of the database. But dumping data for tables is stopped at the first execution. Error log - [mysqldump error log - Pastebin.com](https://pastebin.com/exbECppq) Slack thread - [Slack](https://openmrs.slack.com/archives/CP343JH1R/p1658415768491949)

1. Worked on fixing two existing tests.

- Patient registration test.

Jira ticket -  
[https://issues.openmrs.org/browse/O3-1403](https://issues.openmrs.org/browse/O3-1403)

Pull request -

> <https://github.com/openmrs/openmrs-test-3refapp/pull/5>
>
> \## Purpose
> The pull request is created to fix the existing patient registration… E2E test. And this pull request is related to the issue ticket number \[O3-1403\](https://issues.openmrs.org/browse/O3-1403)
> 
> \## Goals.
> \- This pr is to place the existing patient registration test in 3.X test framework.
> 
> \## Approach
> - Create a feature file and a step definition file for the patient registration test.
> - Creat GitHub workflow.
> - Migrate the test result to the dashboard.

The test checks have passed. And the pull request is ready for review and merge.

- Patient search test. (by @jnsereko)

Jira ticket -  
[https://issues.openmrs.org/browse/O3-1406](https://issues.openmrs.org/browse/O3-1406)

Pull request -

> <https://github.com/openmrs/openmrs-test-3refapp/pull/4>
>
> As all seam to be working, i got a thing with verifying that there is no duplica…tion in returning of results.  
> By this i mean that the names might be the same but the uuid is always different.  
> 
> Anchor's href is always different (unique) however much the patient names might be the same.  
> How can we use the anchor to verify that there is no duplication in results
> 
> \### Issue Link -\> https://issues.openmrs.org/browse/O3-1406
> 
> cc @dkayiwa @jayasanka-sack @pasindur99 @ibacher

The test checks have passed. And the pull request is ready for review and merge.

cc: @jayasanka @ibacher @bistenes

---

<div class="post-metadata">

**Author:** ![pasindur2](https://talk.openmrs.org/user_avatar/talk.openmrs.org/pasindur2/32/15151_2.png) [@pasindur2](https://talk.openmrs.org/u/pasindur2)\
**Post date:** [July 22, 2022, 3:39am UTC](https://talk.openmrs.org/t/gsoc-2022-improving-3-x-e2e-tests-project-updates/36928/7 "2022-07-22T03:39:48Z")

</div>

> [@pasindur2](#):
>
> Errors with MySQL connection for making a dump of the database; the connection issue got fixed by `mysqldump -h localhost -P 3306 --protocol=tcp -u openmrs -popenmrs openmrs > openmrs.sql` command. And it worked after setting the database port to 3036 in docker. So I could be able to make a dump of the database. But dumping data for tables is stopped at the first execution. Error log - [mysqldump error log - Pastebin.com](https://pastebin.com/exbECppq) Slack thread - [Slack](https://openmrs.slack.com/archives/CP343JH1R/p1658415768491949)

By defining column statics the dump works fine.

Command - `mysqldump --column-statistics=0 -h localhost -P 3306 --protocol=tcp -u openmrs -popenmrs openmrs > openmrs.sql`

Both commands for dumping the database and restoring work fine. The pr [O3-1316: Implement a feature in 3.x E2E testing tool to avoid data mutations in tests by pasindur99 · Pull Request #3 · openmrs/openmrs-test-3refapp · GitHub](https://github.com/openmrs/openmrs-test-3refapp/pull/3) is also ready for review.
