如何用水豚动态标签?

时间:2013-08-29 15:07:15

标签: ruby capybara

我正在测试一个包含多个动态行的Web应用。没有任何范围,并在附近抢。我通过抓住我可以识别的东西来到达特定的领域,并选中我希望操作的文本框或选择器。

看起来像这样......

editor = page.find_by_id('grabbable')
editor.native.send_keys(:tab, :tab, "Hello World")

我想做的事情就像......

tab_amount = tabs(2)

editor = page.find_by_id('grabbable')
editor.native.send_keys(tab_amount, "Hello World")

...

def tabs(amount)
  tab_object = :tab
  while amount > 1
    tab_object = tab_object + :tab
    amount = amount - 1
  end
  return tab_amount
end

这样的动态标签是否可行?

2 个答案:

答案 0 :(得分:3)

这样的东西
def tabs(amount)
  tab_object = Array.new(amount, :tab)
end

editor.native.send_keys(*tabs(3), "Hello World")

有关splat的一些信息

http://www.ruby-doc.org/core-2.0/doc/syntax/calling_methods_rdoc.html#label-Array+to+Arguments+Conversion

答案 1 :(得分:0)

这是我最终做的......

def autotab(amount)
tab = Array.new 
amount.times do
    tab << :tab
end
return tab
end