我正在关注Michael Hartl的Ruby on Rails教程。当我使用rspec/capybara时,fill_in方法让我感到困惑。我有以下看法代码:fills在Rspec/Capybara中如何工作?
<%= f.label :name %>
<%= f.text_field :name %>
这是我的测试代码:
fill_in "Name", with: "Example User"
看来,标签都需要FILL_IN查找输入字段text_field。如果我要么f.label
或更改<%= f.text_field :name %>
为<%= f.text_field :another_name %>
,测试会给我ElementNotFound
错误。任何人都可以解释fill_in在这里的工作原理吗?输入字段和标签都需要fill_in
方法吗?
这是否意味着,如果我在表达式中使用的标签名,FILL_IN方法会在输入填充后的标签吗? – 2014-09-27 21:24:23
@JoeyHu好吧,不是。在我的回答中查看'html'片段 - 标签的'for'属性与输入的'id'具有相同的值,因此无论页面上的实际位置如何,它们都链接在一起。 – twonegatives 2014-09-29 05:49:36