2017-07-11 108 views
0

使用Rspec運行GUI測試。我可以傳遞一組值並將它們用作元素的索引位置嗎?Rspec和Watir;使用數組參數作爲元素索引

喜歡的東西:

def pin_specific_idxs(*idx) 
    pins = foo.divs(:class => 'some-element', :index => idx).div(:class, 'another-element').button(:class, 'thingy-i-want-to-click') 
    pins.each do |pin| 
     pin.click 
    end 
end 

所以在測試中,我會打電話pin_specific_idxs(0,2,3)

那是可行的或者我必須顯式調用單獨的索引值,每一次?

回答

1

你需要做兩件事情:

  • 遍歷在指數通過,而不是將整個陣列作爲參數傳遞給:index
  • 找到具體div,而不是divs使用:index(即元素收藏不支持:index定位器)

這看起來像:

def pin_specific_idxs(*idxs) 
    idxs.each do |idx| 
    foo.div(:class => 'some-element', :index => idx) 
     .div(:class, 'another-element') 
     .button(:class, 'thingy-i-want-to-click') 
     .click 
    end 
end 
+0

這就是我搞砸了,謝謝! – kmancusi