Method: Appium::Core::Waitable#wait_until

Defined in:
lib/appium_lib_core/common/wait.rb

#wait_until(timeout: nil, interval: nil, message: nil, ignored: nil, &block) ⇒ Object Also known as: wait

Check every interval seconds to see if yield doesn’t raise an exception. Give up after timeout seconds.

If only a number is provided then it’s treated as the timeout value.

Examples:

With core instance


@core.wait { @driver.find_element :accessibility_id, 'something' }
@core.wait(timeout: 30, interval: 2) { @driver.find_element :accessibility_id, 'something' }

@core.wait_until { @driver.find_element :accessibility_id, 'something' }
@core.wait_until(timeout: 30, interval: 2) { @driver.find_element :accessibility_id, 'something' }

With driver instance


@driver.wait { @driver.find_element :accessibility_id, 'something' }
@driver.wait(timeout: 30, interval: 2) { @driver.find_element :accessibility_id, 'something' }

@driver.wait_until { |d| d.find_element :accessibility_id, 'something' }
@driver.wait_until(timeout: 30, interval: 2) { |d| d.find_element :accessibility_id, 'something' }

Parameters:

  • timeout (Integer) (defaults to: nil)

    Seconds to wait before timing out. Set default by appium_wait_timeout (30).

  • interval (Integer) (defaults to: nil)

    Seconds to sleep between polls. Set default by appium_wait_interval (0.5).

  • message (String) (defaults to: nil)

    Exception message if timed out.

  • ignored (Array, Exception) (defaults to: nil)

    Exceptions to ignore while polling (default: Exception)



196
197
198
199
200
201
202
203
# File 'lib/appium_lib_core/common/wait.rb', line 196

def wait_until(timeout: nil, interval: nil, message: nil, ignored: nil, &block)
  Wait.until(timeout: timeout || @wait_timeout,
             interval: interval || @wait_interval,
             message: message,
             ignored: ignored,
             object: self,
             &block)
end