Rspecテストの実行時に次のエラーが発生する
railsで60秒(127.0.0.1:7055)で安定したFirefox接続を取得できません
最新のRuby(1.9.2)およびfirefox(6.0)の使用
Rspec-Rails、capybara、および他のいくつかのgemを使用しますが、問題はないようです。これらのテストは、別の環境(Linux)で正常に実行されます。
[更新-これは2015| mdurrant |のこの問題の修正である可能性があります(私にとっては)
最近この問題 に出会いました。
正しいSelenium Webdriverを使用するには、capybara v1.0.1にアップグレードする必要があります。
確実に追加するには:
gem 'Selenium-webdriver', '2.25.0'
私のGemfileで。
重要な注意事項:Selenium-webdriver
gemは、Firefoxの後続バージョンごとに更新され、新しいバージョンがリリースされます。現在、バージョン2.25.0
はFirefox 15をサポートするために必要です。
UbuntuのFirefox 10で動作させることができませんでした。 Chrome=に切り替えました。
インストール Chromeドライバー 。
spec_helper.rb:
Capybara.register_driver :Selenium_chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
あなたの仕様では:
Capybara.current_driver = :Selenium_chrome
... tests ...
Capybara.use_default_driver
Firefox 12でこれを経験している人にとっては、現在のSelenium Webdriver(2.21)はFF12をサポートしていません。私が見つけた唯一の解決策は、Selenium-webdriverがFF12サポートで更新されるまで、Firefoxを引き続き使用することです。
これは、シナプスパッケージマネージャーを使用して、Firefoxパッケージを選択し、[パッケージ]メニュー> [バージョンを強制]>以前のバージョンを選択することで実行できます。次に、変更を適用します。
シナプスがない場合は、apt-get install synapticを使用してインストールできます。
更新:2.22でFirefox 12のサポートが追加され、2.23でFF13のサポートが追加されました
仕様がヘッドレスサーバーで実行されていたため、このエラーが発生していました。これは、ブラウザが表示するディスプレイがなかったことを意味します。
この記事 は、仮想Xサーバーの使用を提案します( X Virtual Framebuffer )。これにより、ブラウザは仮想ディスプレイでレンダリングできます。
次のようにインストールします。
Sudo apt-get install xvfb
Sudo apt-get install x11-xkb-utils
Sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
次に、xvfb-run
コマンドを前に付けて仕様を実行します。
xvfb-run bundle exec rake spec:features
これはSO answer であり、上記の記事に導かれました。Xvfbを使用する代替手段も提供します。
*/var/lib/gems/1.9.1/gems/Selenium-webdriver-2.35.1/lib/Selenium/webdriver/firefox/launcher.rb:79:in `connect_until_stable ':60秒で安定したFirefox接続を取得できません(127.0.0.1:7055)(Selenium::WebDriver::Error::WebDriverError)*
同じ問題があり、Selenium-webdriver
を更新しても解決しませんでした(既に利用可能な最新バージョンでした)。
SSHセッションからスクリプトを実行しようとしましたが、$DISPLAY
が設定されていませんでした。
問題は次の方法で修正されました。
export DISPLAY=:0
my RubyスクリプトをSSHセッションから開始する前に(Xセッションの端末でecho $DISPLAY
を使用して、この変数に何を入力する必要があるかを調べます)。
bundle update Selenium-webdriver
'launchy' gemをアプリケーションのGemfileに追加すると、FF13.0、Capybara&Selenium v1.8.24で機能しました。
これは、誰もが上で言っていたことの繰り返しです。私はgemfileをチェックし、「Selenium-webdriver」に制限がないことを確認してから「バンドル更新」を実行し、機能しました。
私はubuntux64とWindows 8 x64を使用しています