From 4dc7a157aaf062de85e4c65add8446f7d5f8823c Mon Sep 17 00:00:00 2001 From: Mark Lapierre Date: Tue, 4 Jun 2019 09:33:05 +1000 Subject: Retry the first login page 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) --- qa/qa/ce/strategy.rb | 9 +++++++++ 1 file changed, 9 insertions(+) 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 -- cgit v1.2.1