Consider waiting for the loading spinner to disappear before all actions

Problem to solve

One cause of flaky E2E tests is that dynamically loaded elements take longer than expected to finish loading, and some tests don't account for the possible delay.

For example, when deleting a branch the delete button shows a spinner briefly. This would cause the test to fail intermittently when it expected the branch to be deleted.

Proposal

Wait for the loading spinner to disappear before any page action.

As in the fix for the above example, but for all page actions: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24644


This might be redundant with waiting for AJAX requests: #55286 (closed) - need to investigate

Edited by Mark Lapierre