代码之家  ›  专栏  ›  技术社区  ›  kmancusi

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

  •  0
  • kmancusi  · 技术社区  · 7 年前

    类似于:

    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 回复  |  直到 7 年前
        1
  •  1
  •   Justin Ko    7 年前

    你需要做两件事:

    • 迭代传入的索引,而不是将整个数组作为参数传递给 :index
    • div 而不是 divs (ie元素集合不支持 :索引 定位器)

    这看起来像:

    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