2013-03-12 64 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