Capybara有内置的多次点击某个元素的方法吗?

问题描述 投票:0回答:2

我有一个带有“+”图标的表单,可以增加另一个标签内的数值。

所以对于 Capybara,我可以像这样点击它:

all('.qty-input')[0].find('.more').click

但我希望能够通过变量设置点击量。我尝试这样做,但它引发了一个错误,因为 click 不接受任何参数。

all('.qty-input')[0].find('.more').click(number_of_clicks)

我想我可以创建一个简单的方法,就像这样,但是有必要吗? Capybara 没有内置一些可以点击几次的东西吗?

def multiple_clicks element, number_of_clicks
   number_of_clicks.times{|n| element.click}
end

编辑:

我放在那里的原始代码是

def multiple_clicks element, number_of_clicks
   number_of_clicks.map{|n| element.click}
end

这没有意义,所以我使用

times
而不是
map
方法来编辑它。

ruby-on-rails capybara integration-testing
2个回答
1
投票

不,水豚没有内置类似的东西


0
投票

不完全是你想要的,但我做了这样的事情:

# Get elements (adjust to your own circumstances)
plus_buttons = all('.btn')

# Nice way to click a number of times
3.times { plus_buttons[0].click }

# Or set number of times as a variable
number = 7
number.times { plus_buttons[0].click }  
© www.soinside.com 2019 - 2024. All rights reserved.