Ruby on rails 3 使用简单形式和参数求解(Capybara::ElementNotFound)
我用cucumber来测试,我用simple_表单作为联系人表单。 我得到以下错误:Ruby on rails 3 使用简单形式和参数求解(Capybara::ElementNotFound),ruby-on-rails-3,cucumber,capybara,simple-form,webrat,Ruby On Rails 3,Cucumber,Capybara,Simple Form,Webrat,我用cucumber来测试,我用simple_表单作为联系人表单。 我得到以下错误: Given I am on the login page And I fill in "student_name" with "sadik" Unable to find field "student_name" (Capybara::ElementNotFound) 我的步骤: Scenario: Add a student to the database Given I am on the
Given I am on the login page
And I fill in "student_name" with "sadik"
Unable to find field "student_name" (Capybara::ElementNotFound)
我的步骤:
Scenario: Add a student to the database
Given I am on the login page
And I fill in "student_name" with "sadik"
When I press "OK"
...
表格:
<%= simple_form_for @student do |f| %>
<%= f.input :name, label: 'student_name' %>,
:input_html => { :field => 'student_name' } %>
<%= f.button :submit %>
<% end %>
那么问题出在哪里呢?您的语法和标签似乎不正确 对于表单,请尝试:
<%= simple_form_for @student do |f| %>
<%= f.input :name, as: :text, label: 'Student Name' %>
<%= f.button :submit %>
<% end %>
编辑:您可能还需要更改此行并删除引号:
And I fill in student_name with "sadik"
这仍然让我感到:找不到字段“Student Name”(Capybara::ElementNotFound)您确定您的测试正在查看正确的页面吗?尝试将
save_和\u open_page
添加到您的一个步骤中,并检查页面源HTML中是否有正确的表单名称字段。
When /^I fill in student_name with "([^\"]*)"$/ do |value|
fill_in "Student Name", :with => value
end
And I fill in student_name with "sadik"