Я пытаюсь сказать моему сценарию 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?Или что я делаю не так, sleep 1
метод ожидания работает просто отлично.Я новичок в Ruby и Watir, я буквально только что поднял это вчера, поэтому я наполовину ожидаю, что это будет результатом моего noobacityness.
В случае, если это уместно, я работаю на Mac (OSXv. 10.6.5).