我正在尝试按照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)。
我不知道如何处理这个问题。 :/
答案 0 :(得分:1)
在遇到同样令人讨厌的错误之后我解决这个问题的方法是:
它可能是一个快速而肮脏的解决方案,但它适用于所有宝石的最新版本,并允许运行测试。我会欢迎更合适的设置,但现在这对我有用。