当页面有几个相同的链接时,Capybara的"click_link"方法如何知道要点击哪个链接?

Nun*_*uno 2 tdd ruby-on-rails capybara railstutorial.org

这来自Rails教程:

     expect { click_link('delete') }.to change(User, :count).by(-1)
Run Code Online (Sandbox Code Playgroud)

如果正在测试的页面有几个名为"delete"的链接,但每个链接都有不同的URI(基于id),那么Capybara如何知道要点击哪个链接?

DVG*_*DVG 7

它检查给定元素的id,值和文本.如果您有非唯一链接,则可能需要确定click命令的范围

within(#some_id_div) do
  click_button "my button"
end
Run Code Online (Sandbox Code Playgroud)

此外,对于该特定测试,它并不重要,因为所有链接都指的是删除用户