4

Jquery UI ダイアログのポップアップ ボックスにログイン フォームがあります。RSpec テストを開始すると、次のエラーが発生しました。

Failure/Error: fill_in "Username", with: "user@example.com"
Capybara::ElementNotFound
cannot fill in, no text field, text area or password field with id, name, or label 'Username' found

ここに私の仕様/要求ページがあります:

describe "create user", :js => true do

  before { visit new_enr_rds_dea_path }

  let(:submit) { "Create Dea" }

  describe "with invalid information" do
    it "should not create a user" do
      expect { click_button submit }.not_to change(Enr::Rds::Dea, :count)
    end
  end

  describe "with valid information" do
    before do
      fill_in "Username", with: "user@example.com"
      fill_in "Password", with: "foobar"
      fill_in "Confirm password", with: "foobar"
      fill_in "Organisation", with: "foobar"
    end

    it "should create a user" do
      expect { click_link_or_button submit }.to change(Enr::Rds::Dea, :count).by()
    end
  end

工場.rb

FactoryGirl.define do
  factory :dea_user do |user|
    user.dea_user             "example@in4systems.com"
    user.dea_pwd              "foobar"
    user.dea_pwd_confirmation "foobar"
    user.pro_organisation_id  "NHER"
  end
end

新しいページと編集ページを Form パーシャルにレンダリングしています。Neweditボタンの両方に:remote => true、JqueryUI ダイアログ ボックスを開くメソッドがあります。ありがとう..

4

2 に答える 2

1

これを試して

 describe "with valid information" do
    before do
      fill_in "username text-input-field-id", :with => "user@example.com"
      ...
      ...
    end
于 2012-11-27T08:15:39.017 に答える
0

Dipakが提案するように、フィールドのIDに置き換えるか、すべて小文字を使用してください。Usernameカピバラが見ているだけではない場合もありusernameます...正確にはセレミナム.

于 2013-01-20T00:53:15.750 に答える