Module: LibyuiClient::Waitable

Included in:
LibyuiClient::Widgets::Base
Defined in:
lib/libyui_client/waitable.rb

Instance Method Summary collapse

Instance Method Details

#wait_until(timeout: LibyuiClient.timeout, interval: LibyuiClient.interval, message: nil, &block) ⇒ Waitable

Waits until the block evaluation will return true, raises Error::TimeoutError on timeout.

Examples:

Wait for checkbox to be checked

app.checkbox(id: 'test').wait_until(&:checked?)

Parameters:

  • timeout (Numeric) (defaults to: LibyuiClient.timeout)

    how long to wait (in seconds). Default is LibyuiClient.timeout.

  • interval (Numeric) (defaults to: LibyuiClient.interval)

    time in seconds between attempts. Default is LibyuiClient.interval.

  • message (String) (defaults to: nil)

    message to be sent in case timeout is reached.

Returns:

Raises:

  • Error::TimeoutError



13
14
15
16
17
18
19
20
# File 'lib/libyui_client/waitable.rb', line 13

def wait_until(timeout: LibyuiClient.timeout, interval: LibyuiClient.interval, message: nil, &block)
  @timeout = timeout
  @interval = interval
  Wait.until(timeout: timeout, interval: interval, message: message, object: self, &block)
  @timeout = LibyuiClient.timeout
  @interval = LibyuiClient.interval
  self
end

#wait_while(timeout: LibyuiClient.timeout, interval: LibyuiClient.interval, message: nil, &block) ⇒ Waitable

Waits while the block evaluation returns true, raises Error::TimeoutError on timeout.

Examples:

Wait for checkbox to be unchecked

app.checkbox(id: 'test').wait_while(&:checked?)

Parameters:

  • timeout (Numeric) (defaults to: LibyuiClient.timeout)

    how long to wait (in seconds). Default is LibyuiClient.timeout.

  • interval (Numeric) (defaults to: LibyuiClient.interval)

    time in seconds between attempts. Default is LibyuiClient.interval.

  • message (String) (defaults to: nil)

    message to be sent in case timeout is reached.

Returns:

Raises:

  • Error::TimeoutError



30
31
32
33
34
35
36
37
# File 'lib/libyui_client/waitable.rb', line 30

def wait_while(timeout: LibyuiClient.timeout, interval: LibyuiClient.interval, message: nil, &block)
  @timeout = timeout
  @interval = interval
  Wait.while(timeout: timeout, interval: interval, message: message, object: self, &block)
  @timeout = LibyuiClient.timeout
  @interval = LibyuiClient.interval
  self
end