我想迭代页面上的元素(将它们添加到购物车 - 一个规格中的4个项目)
我尝试:
find(".active", match: :first)
all(".active").each(&:click)
但是在测试之后我尝试点击链接,有时它会点击错误的一个而我的测试会下降
我使用Capybara + Selenium
答案 0 :(得分:0)
如果你知道你可以做四件事
all('.active', count: 4).each &:click
将等待4个.active元素在页面上而不是匹配::首次调用。这仅在点击不会从页面中删除任何元素时才有效。在第二次点击之前,它也不会等待第一次点击做任何事情,不确定这是否是您的测试的问题,而没有更多关于点击.active元素的详细信息确实
如果你确实需要匹配的效果:首先调用一个更清晰的方法来执行以下任一操作(rspec或其他)
期待(页面).to have_selector(' .active')
assert_selector('。主动&#39)