Rspec和Watir;使用数组参数作为元素索引

时间:2017-07-11 21:09:14

标签: arrays ruby rspec watir-webdriver

使用Rspec运行GUI测试。我是否可以传递一个值数组并将它们用作元素的索引位置?

类似的东西:

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 个答案:

答案 0 :(得分: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