0

いくつかのフィールドに入力してからボタンをクリックすることになっているテストがあります。これはすべて、モーダル ウィンドウをロードした後に行われます。ただし、それをスキップするだけで、ボタンをクリックしないようです。手動でデバッグして自分で呼び出してみましたが、正常に動作しますが、テストを単独で実行するとクリックしません。

Given /^I login with "(.*?)" and "(.*?)"$/ do |email, password|
  within "#signin_fields" do
    fill_in("custom_fields_email", :with => email)
    fill_in("custom_fields_password", :with => password)
  end
  click_button("Sign In") if page.should have_selector(".btn-signin")
end

ページ上にあることを確認するためのチェックも追加しましたが、wait_until が削除されて以来、ページをロードしてボタンが適切にクリックされるようにする方法がわかりません。どんなアイデアでも大歓迎です。

4

3 に答える 3

0

この投稿が役立つかもしれ ません: rspec が「期待したものを見つけられなかった」のではなく、遭遇したものを出力するにはどうすればよいですか? 基本的に、デバッグの場合は、行を追加しsave and open pageて、仕様が検出したものと、それが独自のデバッグの結果と異なるかどうかを調べることができます。

于 2013-04-09T02:28:45.590 に答える
-1

page.should have_selector(".btn-signin") は true または false を返さないため、ボタンがクリックされることはありません。これを行うだけです:

click_button(".btn-signin")

そこにあるはずですが、ページに表示されない場合、テストは失敗します。

于 2013-04-08T18:15:22.370 に答える