3

先週、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 のレーキの問題のようです。この問題を解決するための質問はまだありますか?

なぜこれが起こっているのか、誰にも考えがありますか?

4

1 に答える 1