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