Webdriver で遅延の問題が発生している人はいますか? カピバラを使ってCucumberで実行しています。また、フォームに入力するのに 30 秒または数分以上かかります。何らかの理由で、1 つのフィールドに入力してから、別のフィールドに入力する前に一時停止します。両方が id によって参照されている場合です。
また、この待ち時間が原因でタイムアウト エラーが発生しています。(しかし、それらは不安定です...)
畑は特に何もありません。それらはページの読み込み時に表示され、このページには Ajax はありません。
誰にもアイデアはありますか?
エラーは次のとおりです。
execution expired (Timeout::Error)
/Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/timeout.rb:60:in `rbuf_fill'
/Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
/Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
/Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/protocol.rb:126:in `readline'
/Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:2026:in `read_status_line'
/Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:2015:in `read_new'
/Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:1051:in `request_without_webmock'
/Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:1037:in `request_without_webmock'
/Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:543:in `start'
/Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:1035:in `request_without_webmock'
編集:これは、Cucumber テストを実行したときに Firefox インスタンスが既に開いていたという事実に関連している可能性があります。タイムアウトの頻度は減りましたが、まだ十分な頻度でタイムアウトが発生するので、まだ問題があると思います。
Edit2:機能ファイルはステップを指定します:
And I complete personal info
ステップは、他のステップとしてさらに定義されます。
And /^I complete personal info$/ do
fill_in('first_id', :with => "foo")
fill_in('second_id', :with => "bar")
...more fill_ins...
end
カピバラはfirst_id
時々見つけて、私のシナリオの残りの部分は正常に実行されます. それ以外の場合は、タイムアウトします。私の意見では、それは非常に予測不可能です。また、見つかっfirst_id
ても見つからない場合もありますsecond_id
。ちなみに、これらid
の s は実際にページに存在します。
エラーに関する詳細情報を含める必要がありました。多くの場合、次のようになります。
...all that stuff I included in the error above...
./features/step_definitions/web_steps.rb:107
./features/step_definitions/web_steps.rb:11:in `with_scope'
./features/step_definitions/web_steps.rb:105:in `/^(?:|I )should see "([^"]*)"(?: within "([^"]*)")?$/'
/my feature file:30:in 'Then we verify stuff we just filled out'
Then we verify stuff we just filled out
は、次の追加手順で定義されます。
And %{I should see "foo"}
And %{I should see "bar"}
この追加情報がお役に立てば幸いです。他に何か必要な場合は、コメントでお知らせください。