2017-07-11 107 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