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 を使用してテストを実行することはできましたが、これは長期的な解決策ではありません。
どんな助けでも大歓迎です。