diff options
| author | Mark Lapierre <mlapierre@gitlab.com> | 2019-06-04 09:33:05 +1000 |
|---|---|---|
| committer | Mark Lapierre <mlapierre@gitlab.com> | 2019-06-04 09:33:05 +1000 |
| commit | 965af74f13dcc96b415de55b2815ed594ae0f201 (patch) | |
| tree | 19959baee75811a0c24e06193ad9ceb1b1ac5aff | |
| parent | 672a6238b53763e739f30f03d46e0d63f3c5ee16 (diff) | |
| download | gitlab-ce-qa-ml-retry-first-login-validation.tar.gz | |
Retry the first login page validationqa-ml-retry-first-login-validation
It can take longer that 60 seconds for the server to be ready to
respond. Retry the login page validation twice (i.e., 3 attempts
to validate the login page)
| -rw-r--r-- | qa/qa/ce/strategy.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/qa/qa/ce/strategy.rb b/qa/qa/ce/strategy.rb index 7e2d02424fe..6c1820ffdc8 100644 --- a/qa/qa/ce/strategy.rb +++ b/qa/qa/ce/strategy.rb @@ -10,9 +10,18 @@ module QA end def perform_before_hooks + retries ||= 0 + # The login page could take some time to load the first time it is visited. # We visit the login page and wait for it to properly load only once before the tests. QA::Runtime::Browser.visit(:gitlab, QA::Page::Main::Login) + rescue QA::Page::Validatable::PageValidationError + if (retries += 1) < 3 + Runtime::Logger.warn("The login page did not appear as expected. Retrying... (attempt ##{retries})") + retry + end + + raise end end end |
