diff options
author | João Cunha <j.a.cunha@gmail.com> | 2019-02-26 10:33:32 +0000 |
---|---|---|
committer | João Cunha <j.a.cunha@gmail.com> | 2019-02-26 10:33:32 +0000 |
commit | ed7065bbdb6f6fad3cc8fb369267fa811767c8a5 (patch) | |
tree | b3fda377c51504a6d21da1742cac3de7fd668ef0 /qa/qa/page/base.rb | |
parent | 26c7d04cd06d1126e4a4a7a1c9308d12de77172e (diff) | |
parent | 094d740886eaf62fd219dacd11aa9a966758a962 (diff) | |
download | gitlab-ce-56937-edit-knative-domain-after-it-has-been-deployed.tar.gz |
Merge branch 'master' into 56937-edit-knative-domain-after-it-has-been-deployed56937-edit-knative-domain-after-it-has-been-deployed
Diffstat (limited to 'qa/qa/page/base.rb')
-rw-r--r-- | qa/qa/page/base.rb | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/qa/qa/page/base.rb b/qa/qa/page/base.rb index b1f27131207..05e38aba77d 100644 --- a/qa/qa/page/base.rb +++ b/qa/qa/page/base.rb @@ -18,22 +18,13 @@ module QA page.refresh end - def wait(max: 60, time: 0.1, reload: true) - start = Time.now - - while Time.now - start < max - result = yield - return result if result - - sleep(time) - - refresh if reload + def wait(max: 60, interval: 0.1, reload: true) + QA::Support::Waiter.wait(max: max, interval: interval) do + yield || (reload && refresh && false) end - - false end - def with_retry(max_attempts: 3, reload: false) + def retry_until(max_attempts: 3, reload: false) attempts = 0 while attempts < max_attempts @@ -48,6 +39,12 @@ module QA false end + def retry_on_exception(max_attempts: 3, reload: false, sleep_interval: 0.5) + QA::Support::Retrier.retry_on_exception(max_attempts: max_attempts, reload_page: (reload && self), sleep_interval: sleep_interval) do + yield + end + end + def scroll_to(selector, text: nil) page.execute_script <<~JS var elements = Array.from(document.querySelectorAll('#{selector}')); @@ -73,7 +70,7 @@ module QA xhr.send(); JS - return false unless wait(time: 0.5, max: 60, reload: false) do + return false unless wait(interval: 0.5, max: 60, reload: false) do page.evaluate_script('xhr.readyState == XMLHttpRequest.DONE') end @@ -156,6 +153,10 @@ module QA click_link text end + def click_body + find('body').click + end + def self.path raise NotImplementedError end |