Webrat Selenium:无法启动新的浏览器会话:启动浏览器时出错(Selenium :: CommandError)

时间:2011-01-22 15:46:50

标签: ruby-on-rails firefox selenium webrat

我正在尝试按照RSpec Book中的教程进行操作,而我正在阅读关于使Webrat与Selenium一起工作的章节。

以下是我的功能/ support / env.rb(遵循本书中详述的说明):

ENV["RAILS_ENV"] ||= "test"
require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')

require 'cucumber/formatter/unicode' # Remove this line if you don't want Cucumber Unicode support
require 'cucumber/rails/world'
require 'cucumber/rails/active_record'
require 'cucumber/web/tableish'

require 'webrat'
require 'webrat/core/matchers'

Webrat.configure do |config|
  config.mode = :selenium #was :rack
  config.application_framework = :rack
  config.open_error_files = false # Set to true if you want error pages to pop up in the browser
end

ActionController::Base.allow_rescue = false
Cucumber::Rails::World.use_transactional_fixtures = false

if defined?(ActiveRecord::Base)
  begin
    require 'database_cleaner'
    DatabaseCleaner.strategy = :truncation
    rescue LoadError => ignore_if_database_cleaner_not_present
  end
end

class ActiveSupport::TestCase
  setup do |session|
    session.host! "localhost:3001"
  end
end

当我运行rake cucumber时,我收到以下错误:

Failed to start new browser session: Error while launching browser (Selenium::CommandError)

我尝试使用1.0.3版本替换webrat gem文件夹中的selenium-server.jar,根据Web上许多地方详细介绍的修复,但我仍然收到同样的错误消息。

当黄瓜任务正在执行时,firefox会在屏幕上闪烁。我已尝试使用和不使用Firefox已经打开 - 同样的错误。根据宝石列表,我在Debian机器上使用webrat 0.7.3和selenium-client(1.2.18)。

我不知道如何处理这个问题。 :/

1 个答案:

答案 0 :(得分:1)

在遇到同样令人讨厌的错误之后我解决这个问题的方法是:

  1. gem install webrat
  2. gem install selenium-client
  3. gem install selenium
  4. selenium install - 这将获取打包为jar的最新selenium服务器
  5. selenium - 这将启动服务器
  6. 黄瓜在您的rails根目录中查看所有绿色,前提是您已完成上述问题中的相应设置。
  7. 它可能是一个快速而肮脏的解决方案,但它适用于所有宝石的最新版本,并允许运行测试。我会欢迎更合适的设置,但现在这对我有用。