class Capybara::Node::Base
def synchronize(seconds = session_options.default_max_wait_time, errors: nil)
-
(Capybara::FrozenInTime)
- If the return value of `Time.now` appears stuck
Returns:
-
(Object)
- The result of the given block
Parameters:
-
errors
(Array
) -- (driver.invalid_element_errors + -
seconds
(Integer
) -- (current sessions default_max_wait_time) Maximum number of seconds to retry this block
def synchronize(seconds = session_options.default_max_wait_time, errors: nil) return yield if session.synchronized session.synchronized = true timer = Capybara::Helpers.timer(expire_in: seconds) begin yield rescue StandardError => err session.raise_server_error! raise err unless driver.wait? && catch_error?(err, errors) raise err if timer.expired? sleep(0.05) reload if session_options.automatic_reload retry ensure session.synchronized = false end end