先週、chrome auto が 29.0.1547.57 に更新され、すべての回帰テストが完全に台無しになりました。そこで、chromedriver をダウンロードして v2.2 に更新しました。これで、テストは少なくとも実行されますが、ほとんどすべてがこのエラーで失敗します。
unexpected response, code=404, content-type="text/plain"
unknown command: session/f82f867596e3c001854423097f341bfe/element/name (Selenium::WebDriver::Error::WebDriverError)
本当に紛らわしい部分は、rubymine を介してテストを開始するとローカルで動作することですが、Jenkins によって開始されたサーバーでテストを実行すると、すべて失敗します。
ajaxポップアップがロードされるのを待つときのwait_until_presentと、.exists?でも失敗しているようです。例えば:
if @browser.a(:id, 'hn_modal_close').exists?
@browser.a(:class, 'blackText noTextDecoration').click
else
@browser.link(:href, /shopping_cart.cfm/).click
end
if ステートメントの最初の行でエラーが発生しますが、この正確なコードは、irb で実行すると正常に動作します。
編集
私のローカルとirbで合格する理由は、rakeでテストを開始したときにのみエラーが発生するためであることがわかりました。Jenkins は rake ファイルを実行してテストを開始しました。
したがって、これはアップグレード前に機能していた最新の chromedriver のレーキの問題のようです。この問題を解決するための質問はまだありますか?
なぜこれが起こっているのか、誰にも考えがありますか?