我的页面中有此代码
<div>
<label for="user_password">Heslo</label>
<br />
<input id="user_password" name="user[password]" size="30" type="password">
</div>
<div>
<label for="user_password_confirmation">Heslo pro kontrolu</label>
<br>
<input id="user_password_confirmation" name="user[password_confirmation]" size="30" type="password">
</div>
我想在 Cucumber 中使用这些步骤:
And I fill in "Heslo" with "NeznameHeslo328"
And I fill in "Heslo pro konrolu" with "NeznameHeslo328"
步骤定义很简单:
When /^I fill in "([^"]*)" with "([^"]*)"$/ do |name, text|
fill_in(name, :with => text)
end
但是 Capybara 提出了模糊匹配,第一步找到了 2 个匹配字段“Heslo”(Capybara::Ambiguous) 的元素。
当我将标签中的名称更改for="user_password_confirmation"
为“ Hesla pro kontrolu ”(以及相应的第二步)时,一切正常。
有什么方法可以强制 Capybara 匹配标签中的确切短语?在场景中不使用 css 选择器。