Module: Watir::Wait

Defined in:
lib/watir-webdriver/wait.rb,
lib/watir-webdriver/wait/timer.rb

Defined Under Namespace

Classes: TimeoutError, Timer

Constant Summary collapse

INTERVAL =
0.1

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.timer#wait

Access Watir timer implementation in use.

Returns:

  • (#wait)

See Also:



22
# File 'lib/watir-webdriver/wait.rb', line 22

attr_writer :timer

Class Method Details

.until(timeout = nil, message = nil) ⇒ Object

Waits until the block evaluates to true or times out.

Examples:

Watir::Wait.until { browser.text_field(:name => "new_user_first_name").visible? }

Parameters:

  • timeout (Fixnum) (defaults to: nil)

    How long to wait in seconds

  • message (String) (defaults to: nil)

    Message to raise if timeout is exceeded

Raises:



39
40
41
42
# File 'lib/watir-webdriver/wait.rb', line 39

def until(timeout = nil, message = nil)
  run_with_timer(timeout) { return true if yield(self) }
  raise TimeoutError, message_for(timeout, message)
end

.while(timeout = nil, message = nil) ⇒ Object

Wait while the block evaluates to true or times out.

Examples:

Watir::Wait.while { browser.text_field(:name => "abrakadbra").present? }

Parameters:

  • timeout (Fixnum) (defaults to: nil)

    How long to wait in seconds

  • message (String) (defaults to: nil)

    Message to raise if timeout is exceeded

Raises:



55
56
57
58
# File 'lib/watir-webdriver/wait.rb', line 55

def while(timeout = nil, message = nil)
  run_with_timer(timeout) { return unless yield(self) }
  raise TimeoutError, message_for(timeout, message)
end