2013-03-12 108 views
1

我有一個黃瓜測試套件,無法運行,因爲我已經搬到一臺新電腦。黃瓜測試套件與水豚和Chromedriver掛起

測試套件使用Capybara (v1.1.2),Chrome Driver (v26.0.1383.0)Selenium-Webdriver (v2.27.1)在Chrome中運行JavaScript測試。

每次測試都會伴隨着Chrome的藍色「aw snap」死亡。如果我用CTRL-C殺死當前的測試運行,則下一次測試運行並且也失敗。

我處於完全喪失狀態。這個完全相同的測試套件在Circle CI和同事的Mac上運行良好。

我也曾嘗試換出鉻驅動其他水豚司機幻影JS水豚的Webkit

幻影JS是一個有點消滅:(

水豚的Webkit得到了很多進一步的,但仍然有許多失敗的測試:Broken pipe (Errno::EPIPE)

我覺得有某種根本性錯誤的Webkit我的機器上。

我運行Mac OS X 10.8。

在所有的任何想法?

UPDATE

features/support/env.rb

require 'cucumber/rails' 

Capybara.default_selector = :css 

ActionController::Base.allow_rescue = false 

begin 
    require 'database_cleaner' 
    require 'database_cleaner/cucumber' 
    DatabaseCleaner.orm = 'mongoid' 
    DatabaseCleaner.strategy = :truncation 
rescue NameError 
    raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it." 
end 

Cucumber::Rails::Database.javascript_strategy = :truncation 

require 'minitest/spec' 
World(MiniTest::Assertions) 
MiniTest::Spec.new(nil) 

features/support/chrome.rb

Capybara.register_driver :chrome do |app| 
    Capybara::Selenium::Driver.new(app, :browser => :chrome) 
end 

Capybara.javascript_driver = :chrome 

Gemfile

source 'http://rubygems.org' 

ruby '1.9.3' 
gem 'rails', '3.2.11' 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'bootstrap-sass' 
    gem 'font-awesome-rails' 
    gem 'uglifier', '>= 1.0.3' 
    gem 'jquery-datatables-rails', github: 'rweng/jquery-datatables-rails' 
end 

group :test, :development do 
    gem 'factory_girl_rails' 
    gem 'minitest-rails' 
    gem 'minitest-rails-capybara' # provides integration_test generator 
    gem 'capybara_minitest_spec' # provides RSpec-like matchers 
    gem 'capybara-screenshot' 
    gem 'debugger' # please only enable debugger when needed 
    gem 'quiet_assets' 
    gem 'jasmine-rails' 
end 

group :test do 
    gem 'minitest-matchers' 
    gem 'shoulda-matchers' 
    gem 'cucumber-rails', :require => false 
    gem 'capybara' 
    gem 'capybara-email' 
    gem 'database_cleaner' 
    gem 'factory_girl_rails' 
    gem 'launchy' # for save and open page 
    gem 'timecop' 
    gem 'mocha', :require => false 
    gem 'vcr' 
    gem 'webmock' 
end 

group :staging, :qa do 
    gem 'database_cleaner' 
    gem 'factory_girl_rails' 
end 

gem 'jquery-rails' 

gem 'thin' 
gem 'ey_config' 

gem 'memcachier' 
gem 'dalli' 

gem 'mongoid' 
gem 'mongoid-history', github: 'stengland/mongoid-history' 
gem 'bson_ext' 

gem 'devise' 
gem 'devise_invitable' 
gem 'omniauth-facebook' 
gem 'omniauth-twitter' 
gem 'switch_user' 

gem 'cancan' 

gem 'simple_form', '~> 2.0' 
gem 'dragonfly', '~> 0.9.12' 
gem 'mongoid-grid_fs' 

gem 'momentjs-rails', github: 'tkrotoff/momentjs-rails' 

gem 'tabulous' 

gem 'cocoon' 
gem 'backbone-on-rails' 

gem 'mustache' 

gem 'gon' 

gem 'activemerchant' 
gem 'state_machine' 
gem 'ruby-graphviz', :require => 'graphviz' 
gem 'twilio-ruby' 
gem 'twitter' 

gem 'prawn' 

gem "bootstrap-wysihtml5-rails", "~> 0.3.1.14" 

gem 'country_select' 

回答

1

如果你仍然可以訪問舊系統,你應該檢查你安裝在那裏的寶石版本;

gem list --local 

然後在新系統上做相同的比較。可能需要寶石缺失或版本錯誤。

如果您爲測試和env.rb文件添加Cucumber輸出,我們可能會提供更多有用的答案。

+1

我已更新我的原始帖子以包含所需的文件。我會盡力獲得更好的黃瓜產量。不幸的是,我無法再訪問舊機器,但是這個確切的設置在其他機器上運行,所以它是特定於機器的。我不認爲這是寶石相關的,但顯然,我不知道它是什麼:( – jordelver 2013-04-12 21:49:44

+0

我強烈建議從另一臺機器上獲得一個寶石列表,除此之外,黃瓜產量應該更多指示當掛起發生時它要做什麼。 – 2013-04-19 13:18:09

+0

你有沒有成功? – 2014-04-10 13:08:17