我正在为视图文件编写测试。我有一个带有两个复选框的页面,允许用户在两个不同的列表中选择所有项目。但是,复选框是分部的一部分,因此是相同的。我已经设法检查了第一个使用:
first(:checkbox, "Select all").click
但我无法检查第二个。我试过用last
和second
替换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!谢谢你的帮助!