私のテストでは、フィールドに入力してEnterキーを押すステップがあります。このフィールドは、次のページで結果セットを返します。
これが私のヘルパーメソッドです:
def search(term)
fill_in('query-text', :with => term)
click_button('search-button')
end
その後、次のように簡単に言うステップがあります。
page.should have_content(tutor)
ただし、問題は、私のページの後のページに結果が読み込まれても、それが false であっても、その後のステップが通過することです。ステップにデバッガーを設定しましたが、手動で確認すると、期待どおりにアサーションも失敗します。次のステップは、ページがリロードされる前にチェックすることだと思います。検索メソッドの最後にスリープを配置して、次のようにしました。
def search(term)
fill_in('query-text', :with => term)
click_button('search-button')
sleep 5
end
しかし、スリープを使用することは、この問題を解決するためのハックな方法だと思います。私はカピバラ 2 を使用しているため、wait_until の使用は削除されています。睡眠に頼るのではなく、この問題を処理するためのより良い方法はありますか?