15

Rails 3を使用していて、現在、セレンドライバーを使用してカピバラでテストを作成しています。以下のような問題があります。

1つのフォームに、「保存して別のフォームを追加」、「保存して編集を続行」、「保存」という3つのボタンがあります。次に、capybaraでフォームを保存しようとすると、次のようになります。

click_button 'Save'

次に、ID、タイトル、または値が見つからない「保存」ボタンと呼ばれるエラーがスローされます。上記の2つのボタンを削除してから試してみると、機能します。

参考までに、私の3ボタンのhtmlは以下のとおりです。

<input class="btn" type="submit" value="Save and add another" name="_addanother" data-disable-with="Save and add another">

<input class="btn" type="submit" value="Save and continue editing" name="_continue" data-disable-with="Save and continue editing">

<input class="btn" type="submit" value="Save" name="_save" data-disable-with="Save">

誰かアイデアがあれば教えてください。

4

4 に答える 4

10

問題は、すべての値に「保存」が含まれているため、すべての値が一致を返すことだと思います。

それぞれに固有の ID を割り当てて、代わりにそれを使用してみてください。

于 2012-04-09T10:05:23.010 に答える
0

click_button メソッドは、ボタンの ID、名前、値を想定しています。

click_button 'Save and add another'
click_button 'Save and continue editing'

最後のボタンは、その値が「保存」であるため、エラーなしで機能します

click_button 'Save'
于 2012-04-09T09:43:39.147 に答える
-1

私は次の解決策を思いついた

モジュール ValidUserRequestHelper

# for use in request specs
def sign_in_as_a_valid_user
  before(:each) do
    user = FactoryGirl.create :user
    visit user_session_path
    fill_in 'user_email', :with => 'name@email.com'
    fill_in 'user_password', :with => 'foobar'
    click_button 'Einloggen'
  end
end
于 2014-01-22T14:37:12.660 に答える