Как мне использовать Watir :: Waiter :: wait_until, чтобы заставить Chrome ждать?

Я пытаюсь указать своему сценарию watir дождаться открытия окна входа в систему, введенного через ajax. Я использую watir-webdriver и тестирую в Chrome. Я не могу заставить wait_until работать, как указано в приведенном ниже (упрощенном) скрипте.

require "rubygems"
require "watir-webdriver"
b = Watir::Browser.new(:chrome)
site = "www.example.com"
b.goto site

puts "Click on Sign In button"
b.link(:id, 'btnLogin').click

puts "Waiting for the username/password dialog to show up"

# Below line does *not* work
# Throws this error: "uninitialized constant Watir::Waiter (NameError)" 
Watir::Waiter::wait_until { b.text_field(:id, 'username').exists? }

# Below line does *not* work
# Throws this error: "undefined method `wait_until' for main:Object (NoMethodError)" 
wait_until { b.text_field(:id, 'username').exists? }

# Below line *does* work, but I don't want to use it.
sleep 1 until b.text_field(:id, 'username').exists?

Является ли Watir :: Waiter классом только для IE? Или что я поступая неправильно, метод ожидания сна 1 работает нормально. Я новичок в Ruby и watir, я буквально вчера взял это в руки, так что я наполовину ожидаю, что это результат моей нелюбезности.

Если это уместно, я работаю на Mac (OSX v. 10.6). .5).

16
задан Chuck van der Linden 20 January 2012 в 02:32
поделиться