在 Capybara 中测试按钮点击的更好更快的方法是什么?

What is the better and faster approach to test button click in Capybara?

在 Capybara 中测试按钮点击的更快更合适的方法是什么?我在文档中寻找它,但是这两种方法都没有关于速度和性能的信息。

find('button[name="some_button"]').click

click_button 'Some button'

我知道那些使用不同的匹配器,但这不是我的问题的重点。谢谢!

click_button 实现为

find(:button, locator).click

变成

find(:xpath, <complicated XPath including the locator>).click

所以从技术上讲,您的第一个示例应该稍微快一些(CSS 在大多数浏览器中评估比 XPath 更快)但是与其余开销相比,速度差异可以忽略不计。话虽如此,"proper" 方法是为了让您的测试更具可读性,这意味着通常尽可能使用 click_button