2

EC2 インスタンスでキュウリ テストを実行する自動ビルド マシンがあります。私は使っている:

  • カピバラ (1.1.4)
  • セレン-webdriver (2.31.0)
  • クロームドライバー (25.0.1364.172-187217)

テストは Xvfb X11 サーバー (1.7.7-29.10.amzn1) を使用してヘッドレスで実行されます。

私が得ているエラーは次のとおりです。

(::) failed steps (::)

end of file reached (EOFError)
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/protocol.rb:135:in `read_nonblock'
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/protocol.rb:135:in `rbuf_fill'
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/protocol.rb:116:in `readuntil'
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/protocol.rb:126:in `readline'
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:2219:in `read_status_line'
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:2208:in `read_new'
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:1191:in `transport_request'
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:1177:in `request'
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:1170:in `block in request'
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:627:in `start'
/mnt/bamboo-ebs/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:1168:in `request'
./features/step_definitions/web_steps.rb:49:in `/^(?:|I )go to (.+)$/'

私の推測では、この問題は、ビルド インスタンスが開始されるたびに更新されるため、先月の selenium または chromedriver ライブラリへのアップグレードが原因であると考えられます。

chromedriver のログを確認しましたが、何の役にも立たないようです。

0.000][INFO]:      ChromeDriver 23.0.1240.0 /mnt/bamboo-ebs/bin/chromedriver/chromedriver
[0.259][FINE]:      Initializing session with capabilities {
   "browserName": "chrome",
   "chrome.detach": true,
   "chromeOptions": {
      "detach": true
   },
   "cssSelectorsEnabled": true,
   "javascriptEnabled": true,
   "nativeEvents": false,
   "platform": "ANY",
   "rotatable": false,
   "takesScreenshot": false,
   "version": ""
}

[0.259][INFO]:      Using named testing interface
[0.676][INFO]:      Connected to Chrome successfully. Version: 25.0.1364.172
[0.693][FINE]:      Command received (/session/132be881788b1e7a6c878f4c45935176)
[0.693][FINE]:      Command finished (/session/132be881788b1e7a6c878f4c45935176) with response {
   "sessionId": "132be881788b1e7a6c878f4c45935176",
   "status": 0,
   "value": {
      "acceptSslCerts": false,
      "applicationCacheEnabled": false,
      "browserConnectionEnabled": false,
      "browserName": "chrome",
      "chrome.chromedriverVersion": "23.0.1240.0",
      "chrome.nativeEvents": false,
      "cssSelectorsEnabled": true,
      "databaseEnabled": false,
      "handlesAlerts": true,
      "javascriptEnabled": true,
      "locationContextEnabled": false,
      "nativeEvents": true,
      "platform": "linux",
      "rotatable": false,
      "takesScreenshot": true,
      "version": "25.0.1364.172",
      "webStorageEnabled": true
   }
}

[0.695][FINE]:      Command received (/session/132be881788b1e7a6c878f4c45935176/url) with params {
   "url": "http://127.0.0.1:31337/"
}

[0.695][FINER]:     Waiting for all views to stop loading...
[0.696][FINER]:     Done waiting for all views to stop loading
[0.716][FINER]:     Waiting for all views to stop loading...

私の開発マシン (Mac OSX Mountain Lion) と chromedriver (26.0.1383.0) では、すべてのテストが正常に動作します。ビルド マシンのバージョンと一致するように chromedriver をダウングレードしようとしましたが、これができないことがわかりました。

Firefox を使用してテストを実行することはできましたが、これは長期的な解決策ではありません。

どんな助けでも大歓迎です。

4

0 に答える 0