水豚:找到与第一个复选框相同的第二个复选框



我正在为视图文件编写测试。我有一个带有两个复选框的页面,允许用户在两个不同的列表中选择所有项目。但是,复选框是分部的一部分,因此是相同的。我已经设法检查了第一个使用:

first(:checkbox, "Select all").click

但我无法检查第二个。我试过用lastsecond替换first,但都没有用。我想我可能需要使用find选择器,但我也在努力。非常感谢您的帮助。感谢

更新

看来这实际上是另一个问题。我认为任何影响其他复选框的复选框在被Capybara"选中"时都不会按预期工作。因此,下面的当前答案在某种意义上是有效的,它们确实选中了复选框,但预期的行为没有发生,即与它们链接的复选框没有被"选中"。不过我可能错了。

尝试这个

# find the second checkbox
find('input[type="checkbox"]:nth-child(2)').click

您可以使用find all

all('input[type="checkbox"]', :text => 'Select all')[1].click

Whoops。原来这是JS的问题,而不是Capybara macthers!谢谢你的帮助!

最新更新