用Watir测试一个pirobox(lightbox like)模态

时间:2011-12-06 12:47:50

标签: javascript ruby-on-rails testing lightbox watir

我正在为www.offdesk.com编写测试,当点击“注册”锚点时,它会打开一个pirobox模态窗口,此时我的irb工作正常,但我无法将文本设置到其中的输入文件中

我写道:

browser.link(:id, 'lkNovaConta').click()
browser.text_field(:id, "usuario_nome").wait_until_present
browser.text_field(:id, "usuario_nome").set("Test user")

但是从不传递until_present,因为我有一个带有html内容的JS var,我以为我有一个索引probelm,所以我尝试了:

browser.link(:id, 'lkNovaConta').click()
browser.text_field(:id => "usuario_nome", :index => 1).wait_until_present
browser.text_field(:id => "usuario_nome", :index => 1).set("Test user")

也尝试使用index = 2,index = 0 ......但都失败了

您是否知道如何测试它或任何建议使此功能可测试?

1 个答案:

答案 0 :(得分:0)

这对我有用:

$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]

$ gem list watir
*** LOCAL GEMS ***
watir-webdriver (0.3.9)

$ irb

> require "watir-webdriver"
 => true 

> browser = Watir::Browser.new
 => #<Watir::Browser:0x91f4b0ffb95e486 url="about:blank" title=""> 

> browser.goto "http://www.offdesk.com/"
 => "http://www.offdesk.com/" 

> browser.a(:id => "lkNovaConta").click
 => [] 

> browser.text_field(:id => "usuario_nome").set "test"
Selenium::WebDriver::Error::ElementNotVisibleError: Element is not currently visible and so may not be interacted with
(...)

> browser.text_field(:id => "usuario_nome", :index => 1).set "test"
 => ""