Есть функции селена, которые корректно работают на рельсах 2.3.4, и они используют Firefox 3.5.19 для тестирования.Однако после обновления до rails 2.3.11 ни одна функция селен теперь не работает корректно, и они отключаются, когда какая-либо функция пытается войти в систему. Точная ошибка выглядит следующим образом:
==> Ожидание Selenium RCсервер на порту 4444 ... Готов!
==> Ожидание сервера приложений rails на порту 3001 ... Готов!
Пн Авг 08 16:49:10 +0500 2011 г. Селен-клиент получил ошибку от сервера селена: запрошено:
cmd=waitForCondition
1= var element;
try {
element = selenium.browserbot.findElement('webrat=login');
} catch(e) {
element = null;
}
element != null;
2=5000
sessionId=676e939365d84575bb1df9d69d5583ec
received:
"Timed out after 5000ms"
called from /home/umar/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/timeout.rb:67:in `timeout'
And User logged in as 'newuser' # features/step_definitions/selenium/users_steps.rb:1
Timed out after 5000ms (Selenium::CommandError)
/home/umar/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/timeout.rb:67:in `timeout'
/home/umar/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/timeout.rb:101:in `timeout'
./vendor/plugins/webrat/lib/webrat/selenium/selenium_session.rb:46:in `fill_in'
(eval):2:in `fill_in'
./features/step_definitions/selenium/users_steps.rb:3:in `/^User logged in as '(\w+)'$/'
features/selenium/some_controller/some_feature.feature:8:in `And User logged in as 'newuser''
Итак, при попытке входа в систему возникает ошибка, связанная с тайм-аутом. Как это исправить?
Тестовые файлы, относящиеся к селенуявляются следующие:
group :test do
gem "rspec", "1.3.0"
gem "rspec-rails", "1.3.2"
gem "rspec-expectations", "2.2.0"
gem "cucumber", "0.8.3"
gem "cucumber-rails", "~> 0.3.2"
gem "selenium-rails"
gem "rcov"
gem "webrat", "0.4.3"
gem "autotest-rails"
gem "ZenTest"
gem "headless"
end