2016-10-04 13 views
0

ブラウザのスタックで私のケースをテストする際に問題があります。直面している問題は一貫して再現されていません。特定の要素がruby + Cucumber2.0にロードされるまで待機するメソッドを追加する方法

要素がロードされるまで私のコードの待ち時間を作るためには、以下のように使用しています:

gift_no_btn1 = Capybara.find('giftingNoButton') 
gift_no_btn1.click 

をここでの問題は、画面が他の私の意図した要素がロードされていないモジュール、したがって、私のスクリプトで立ち往生していることです失敗する。私はfind()メソッドがCapybara 2.0のwait_untillメソッドに置き換えられていることを読んでいます。

+0

あなたは見ましたか?http://stackoverflow.com/questions/8801845/how-to-make-capybara-check -for-visibility-after-some-js-has-run?注意:js => trueの設定 – Sid

+0

はい、そうでした。しかし、その役に立たない – Pradeep

+0

あなたはエラーログを投稿できますか? – Sid

答えて

2

カピバラfindメソッドは一致する要素が表示されるまで、Capybara.default_max_wait_time秒まで待機します。彼らは十分な長待っているのいずれか、その設定を増やしたりして、特定の検索のためにそれを上書きしていない場合は、次の要素が存在するために10秒まで待ちますどの

page.find :css, 'CSS selector for the element', wait: 10 

のようなオプションを待ちます。あなたの例では、giftingNoButtonのCSSセレクタを渡しています。カスタムセレクタを使用していない限り、実際には有効ではありません。あなたはおそらく、 '#giftingNoButton'(ID一致を見つける)または '.giftingNoButton'(クラスマッチング)を望むでしょう。

関連する問題