Refactor E2E test framework to not refresh page when waiting for Merge button
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=371575) </details> <!--IssueSummary end--> ## Summary On completion of the following issues, the E2E tests may be able to be refactored wait for the Merge button to appear without refreshing the page. - https://gitlab.com/gitlab-org/gitlab/-/issues/367965 - https://gitlab.com/gitlab-org/gitlab/-/issues/367891 - https://gitlab.com/gitlab-org/gitlab/-/issues/372515 <!-- Please briefly describe what part of the code base needs to be refactored. --> ## Improvements Speed and reliability improvements in the E2E tests. It is faster to check the status of an element on a page rather than to wait for a page reload. <!-- Explain the benefits of refactoring this code. See also https://about.gitlab.com/handbook/values/index.html#say-why-not-just-what --> ## Risks We must ensure that the Merge button appears in all cases, otherwise tests will be flaky. ## Involved components `gitlab/qa/qa/page/merge_request/show.rb` would be the key file involved. <!-- List files or directories that will be changed by the refactoring. --> <!-- Please select the appropriate label from the following: ~"feature::addition" ~"type::maintenance" ~"maintenance::refactor" ~"maintenance::pipelines" ~"maintenance::workflow" -->
issue