14

capybara+rspec を使用しようとしていますが、次のエラーが発生します: Unable to find field "Name" (Capybara::ElementNotFound)

ここに私のフォームがあります:

%h2 Sign up
= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:class => 'form-vertical' }) do |f|
  = f.error_notification
  = display_base_errors resource
  = f.input :name, :autofocus => true
  = f.button :submit, 'Sign up', :class => 'btn-primary'
= render "devise/shared/links"

これが私のuser_steps.rbです

When /^I sign up with valid user data$/ do
  create_visitor
  sign_up
end

def create_visitor
  @visitor ||= { :name => "Test visitor"}
end

def sign_up
  visit '/users/sign_up'
  fill_in "Name", :with => @visitor[:name]
  click_button "Sign up"
end

どうしたの????

4

6 に答える 6

2

フォーム内から範囲を絞り込んでみてください。

within("form#whatever_form_id") do
  fill_in "Name", :with => @visitor[:name]
  click_button "Sign up"
end
于 2013-05-29T18:02:58.693 に答える
0

同じ問題があることがわかりました。非常に単純です。カピバラまたはrspecでは、「名前」を入力する必要があり、フォームまたはラベルフィールドに「名前」を小文字で書く必要があります....そこに行きます私のために働きます。

于 2014-07-12T14:14:23.847 に答える