In last two weeks, I worked on the last main PR, Revision 1 PR, and a PR splitting clickOn function making tests more stable and less flaky.
For main PR, the acceptance tests for Topic Manager had an issue, then once fixed in first few days, I had to keep merging PRs and resolving merge-conflicts. Sometimes, as we are adding methods of each user in user object, function overrides happen and causes the tests to fail. Though everything is merged now.
For revision PR, I had to add missed steps in 3-4 tests. I even wrote a new acceptance test, as we are moving again to new CUJ sheet and implementing a test from new sheet made more sense than modifying an existing one.
In clickOn function PR, I split the clickOn function in clickOnElementWithSelector and clickOnElementWithText. Before, it wasn’t handling a case where we wanted to click on element with text, but the element hasn’t loaded yet. Splitting these resolves the issue as we can wait for element in both cases. I also encountered a failing test. To debug the same, I tried checking screen-recording, list elements on the page, manually search for elements using console, etc. Then, I used a debugging method where I changed every element’s background color to yellow before clicking on it. It confirmed my hypothesis that element was getting detached and reattached again. Then, I updated waitForElementToStablaize to handle element detachment and attachment. Now, this PR is approved by Chrisite, but needs review from other teams.
Apart from all of these, I created a list of flakes introduced by new tests, removed all of the older acceptance tests that are covered by new acceptance tests and also e2e tests that are covered by acceptance tests. I also updated full_stack_tests.yml workflow to fix some issues.
That’s all.