diff --git a/spec/support/capybara/browser_test_helper.rb b/spec/support/capybara/browser_test_helper.rb index 6c3af7d17..54f8c8ee1 100644 --- a/spec/support/capybara/browser_test_helper.rb +++ b/spec/support/capybara/browser_test_helper.rb @@ -122,9 +122,16 @@ module BrowserTestHelper # def until_constant previous = nil - loop do - sleep __getobj__.instance_variable_get(:@interval) + timeout = __getobj__.instance_variable_get(:@timeout) + interval = __getobj__.instance_variable_get(:@interval) + rounds = (timeout / interval).to_i + + rounds.times do + sleep interval + latest = yield + + next if latest.nil? break if latest == previous previous = latest