lib/testcentricity_web/web_elements/ui_elements_helper.rb
# Wait until the object's value equals the specified value, or until the specified wait time has expired. If the wait
# time is nil, then the wait time will be Capybara.default_max_wait_time.
#
# @param value [String or Hash] value expected or comparison hash
# @param seconds [Integer or Float] wait time in seconds
# @example
#   card_authorized_label.wait_until_value_is('Card authorized', 5)
#     or
#   total_weight_field.wait_until_value_is({ greater_than: '250' }, 5)
#
Wait until the object's value equals the specified value, or until the specified wait time has expired. If the wait
time is nil, then the wait time will be Capybara.default_max_wait_time.
Wait until the object ' s value equals the specified value or until the specified wait time has expired . If the wait time is nil then the wait time will be Capybara . default_max_wait_time .
def wait_until_value_is(value, seconds = nil, post_exception = true)
      timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds
      wait = Selenium::WebDriver::Wait.new(timeout: timeout)
      wait.until { compare(value, get_value) }
    rescue StandardError
      if post_exception
        raise "Value of UI #{object_ref_message} failed to equal '#{value}' after #{timeout} seconds" unless get_value == value
      else
        get_value == value
      end
    end
def wait_until_value_is ( value , seconds = nil , post_exception = true ) timeout = seconds . nil? ? Capybara . default_max_wait_time : seconds wait = Selenium :: WebDriver :: Wait . new ( timeout : timeout ) wait . until { compare ( value , get_value ) } rescue StandardError if post_exception raise "Value of UI #{object_ref_message} failed to equal '#{value}' after #{timeout} seconds" unless get_value == value else get_value == value end end
Wait until the object's value equals the specified value, or until the specified wait time has expired.
Wait until the object ' s value equals the specified value or until the specified wait time has expired .
value
value expected or comparison hash
value expected or comparison hash
seconds
wait time in seconds
wait time in seconds
post_exception
example
card_authorized_label.wait_until_value_is('Card authorized', 5) or total_weight_field.wait_until_value_is({ greater_than: '250' }, 5)
card_authorized_label . wait_until_value_is ( ' Card authorized ' 5 ) or total_weight_field . wait_until_value_is ( { greater_than : ' 250 ' } 5 )