如何在具有自定义标签的表单中使用Cucumber

时间:2010-03-05 15:54:59

标签: ruby-on-rails cucumber

我正在努力学习如何使用黄瓜并解决了这个问题:

我的表格如下:

  <p>
    <%= f.label :name, "Nome" %><br />
    <%= f.text_field :name %>
  </p>

在我的黄瓜特写中,我有:

  And I fill in "name" with "Reitoria do Porto"

这使测试失败:

And I fill in "name" with "Reitoria do Porto"       # features/step_definitions/web_steps.rb:34
      Could not find field: "name" (Webrat::NotFoundError)
      (eval):2:in `fill_in'
      ./features/step_definitions/web_steps.rb:35:in `/^(?:|I )fill in "([^\"]*)" with "([^\"]*)"$/'
      features/manage_institutions.feature:10:in `And I fill in "name" with "Reitoria do Porto"'

但是,如果我只是制作这样的表格:

  <p>
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </p>

测试通过。

如何保留自定义标签名称并使测试通过?

2 个答案:

答案 0 :(得分:3)

Webrat使用标签文本来定位要填写的字段。在第一个示例中,您是不是将此标签设置为“Nome”?

And I fill in "Nome" with "Reitoria do Porto"是否有效?

答案 1 :(得分:1)

您还可以使用HTML中显示的字段名称。因此,如果模型name属于,请说User,而不是您应该通过

访问它
  

我用“Reitoria do Porto”填写“user_name”

如果有疑问,只需查看生成的HTML代码并从那里获取字段名称。