summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Lapierre <mlapierre@gitlab.com>2019-06-04 09:33:05 +1000
committerMark Lapierre <mlapierre@gitlab.com>2019-06-04 09:33:05 +1000
commit965af74f13dcc96b415de55b2815ed594ae0f201 (patch)
tree19959baee75811a0c24e06193ad9ceb1b1ac5aff
parent672a6238b53763e739f30f03d46e0d63f3c5ee16 (diff)
downloadgitlab-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.rb9
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