我想知道我是否遗漏了某些东西,或者我是否发现了一个错误;希望别人可以提供帮助。
我在表单上有很多字段。所有具有单个单词名称的单词都被找到并填充,没问题。所有具有多个单词名称的单词都没有。这是预期的行为吗?
示例:
fill_in "Something", :with=> "value"
作品
fill_in "Something Else", :with => "another"
没有
我已经尝试将其更改为:
fill_in "something_else", :with => "another"
那也失败了,同样的消息
"cannot fill in, no text field, text area or password field with id, name, or label 'something_else'"
我想知道,如果Capybara期望_是边界,那么如果他们有多个像这样的话就找不到它们。其他人遇到这个问题?有修复吗?
答案 0 :(得分:1)
经过一段时间的修补之后,我发现这样做的方法是实际传递你期望在那里的全名属性(我想匹配器无法推断空格的哪些部分是对象名称副财产的名称)。它遵循以下形式:
fill_in "obj[one_two]", :with=> "value"
因此,假设您要填写用户注册表单,可能是:
fill_in "user[password_confirmation]", :with => @password
鉴于您之前填充了@password
答案 1 :(得分:0)
我知道这是一个老问题,但这对我来说是在水豚(2.3.0)中有用,可能对其他人有所帮助:
fill_in "Password confirmation", with: "test"
注意小写“c”,这也适用于嵌套形式。
因此,根据我可以收集的内容,如果字段名称的第一个字母包含空格,则它应该是大写。