Make the job#successful? method wait by refreshing
What does this MR do?
Improves the waiting of the Page::Project::Job::Show#successful? method.
Previously, there was simply a guard clause and some waiting.
This improvement will refresh the page every interval until the condition is met.
This can help edge cases, including https://gitlab.com/gitlab-org/quality/nightly/-/jobs/179955878 where a job is queued, but hasn't started. (build output hasn't appeared)
What are the relevant issue numbers?
- https://gitlab.com/gitlab-org/quality/nightly/issues/71
- https://gitlab.com/gitlab-org/quality/nightly/issues/81
- https://gitlab.com/gitlab-org/quality/nightly/issues/82
Does this MR meet the acceptance criteria?
- [-] Changelog entry added, if necessary
- [-] Documentation created/updated via this MR
- [-] Documentation reviewed by technical writer or follow-up review issue created
- 
Tests added for this feature/bug 
- 
Tested in all supported browsers 
- 
Conforms to the code review guidelines 
- 
Conforms to the merge request performance guidelines 
- 
Conforms to the style guides 
- 
Conforms to the database guides 
- [-] Link to e2e tests MR added if this MR has Requires e2e tests label. See the Test Planning Process.
- [-] Security reports checked/validated by reviewer
