我试图告诉我的 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 的新手,我昨天才刚刚拿起这个,所以我有一半认为这是我的noobaciousness 的结果。
如果相关,我正在使用 mac (OSX v. 10.6.5)。