いくつかのSeleniumテストをSeleniumグリッドを使用するように変換する作業を行っていますが、問題が発生しています。
テストは、ローカルマシンのブラウザを使用して正常に実行されます。
私はこのような新しいドライバーを(spec_helper.rbで)作成しました:
Capybara.register_driver :selenium_remote do |app|
caps = Selenium::WebDriver::Remote::Capabilities.chrome
Selenium::WebDriver.for(:remote,
:url => 'http://gridhub:4444/grid/driver',
:desired_capabilities => caps)
end
新しいドライバーでテストを実行すると、ハブに接続され、ノードがChromeドライバーをロードしますが、グリッド側ではすべて問題ないように見えます。
問題は、テストを開始するマシンで次の例外が発生することです。
Failure/Error: Unable to find matching line from backtrace
SystemStackError:
stack level too deep
# /home/.rvm/gems/ruby-1.9.3-p194/gems/capybara-2.0.1/lib/capybara.rb:298
このベアボーンテストを作成しましたが、実行しただけでも同じ例外が発生します。
Capybara.default_driver = :selenium_remote
describe 'I can' do
it 'visit Google without throwing an error' do
visit 'http://www.google.com'
end
end
Seleniumサーバースタンドアロン2.26.0、Capybara 2.0.1、およびRSpec2.9.0を使用しています。
これを引き起こしているアイデアはありますか?