2011-12-06 43 views
2

我正在爲www.offdesk.com編寫測試,當點擊「註冊」錨時,它會打開一個pirobox模式窗口,此時我的irb工作正常,但是我不能將文本設置到其中的輸入文本中。用Watir測試pirobox(燈箱一樣)模式

我寫道:

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變種,我想我有一個索引萬阿英,蔣達清,所以我tryed:

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") 

也嘗試索引= 2,索引= 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" 
=> "" 
+0

感謝您的答覆,但它並沒有爲我工作... 我的紅寶石和的Watir版本是不同的,我也執行了測試,但測試UINT用耙子測試:單位..所以也許這是一個併發問題在這一點上......試圖訪問usuario_nome真正出現之前。 – SAnjos

+0

也許嘗試使用Class而不是ID作爲標識符? –