Class: Capybara::Node::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/capybara/slow_finder_errors.rb

Instance Method Summary collapse

Instance Method Details

#synchronize_with_timeout_error(*args, &block) ⇒ Object Also known as: synchronize



7
8
9
10
11
12
13
14
15
16
# File 'lib/capybara/slow_finder_errors.rb', line 7

def synchronize_with_timeout_error(*args, &block)
  start_time = Time.now
  synchronize_without_timeout_error(*args, &block)
rescue Capybara::ElementNotFound => e
  seconds = args.first || Capybara.default_wait_time
  if seconds > 0 && Time.now-start_time > seconds
    raise SlowFinderError, "Timeout reached while running a *waiting* Capybara finder...perhaps you wanted to return immediately? Use a non-waiting Capybara finder. More info: http://blog.codeship.com/faster-rails-tests?utm_source=gem_exception"
  end
  raise
end