I am pretty sure I have some kind of gem conflict, because I can get this working on a sample project using the same versions of my system's gems.
Here is the error output:
@javascript
Scenario: Activate listing # features/create_whitelist.feature:15
2012-11-08 13:39:35.060 webkit_server[21048:307] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead.
>> Visit
>> 1
>> 23
<< failure
<< 43
Given I have successfully logged in as an operator # features/step_definitions/base_steps.rb:1
./features/step_definitions/base_steps.rb:2:in `/^I have successfully logged in as an ([^"]*)$/'
features/create_whitelist.feature:16:in `Given I have successfully logged in as an operator'
When I navigate to the Listings Preview Activate page # features/step_definitions/update_listings_steps.rb:37
And I press Activate # features/step_definitions/base_steps.rb:9
Then I should see the newly uploaded SKUs in PENDING ACTIVATE status # features/step_definitions/update_listings_steps.rb:53
>> Reset
>> 0
<< failure
<< 43
/Users/a936040/.rvm/gems/ruby-1.9.3-p194@mercury/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit/browser.rb:138:in `check'
/Users/a936040/.rvm/gems/ruby-1.9.3-p194@mercury/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit/browser.rb:87:in `command'
/Users/a936040/.rvm/gems/ruby-1.9.3-p194@mercury/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit/browser.rb:22:in `reset!'
/Users/a936040/.rvm/gems/ruby-1.9.3-p194@mercury/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit.rb:108:in `reset!'
/Users/a936040/.rvm/gems/ruby-1.9.3-p194@mercury/gems/capybara-1.1.3/lib/capybara/session.rb:70:in `reset!'
/Users/a936040/.rvm/gems/ruby-1.9.3-p194@mercury/gems/capybara-1.1.3/lib/capybara/dsl.rb:87:in `block in reset_sessions!'
/Users/a936040/.rvm/gems/ruby-1.9.3-p194@mercury/gems/capybara-1.1.3/lib/capybara/dsl.rb:87:in `each'
/Users/a936040/.rvm/gems/ruby-1.9.3-p194@mercury/gems/capybara-1.1.3/lib/capybara/dsl.rb:87:in `reset_sessions!'
/Users/a936040/.rvm/gems/ruby-1.9.3-p194@mercury/gems/capybara-1.1.3/lib/capybara/cucumber.rb:10:in `After'
Failing Scenarios:
cucumber features/create_whitelist.feature:6 # Scenario: Upload whitelist
cucumber features/create_whitelist.feature:15 # Scenario: Activate listing
2 scenarios (2 failed)
13 steps (2 failed, 11 skipped)
0m4.404s
Here is my Gemfile:
ruby '1.9.3'
gem 'rails', '3.2.8'
gem 'bby_capi', :path=>'gems/bby_capi/'
gem 'clockwork', require: false
gem 'haml'
gem 'pg'
gem 'less-rails-bootstrap'
gem 'inherited_resources'
gem 'cancan'
gem 'faraday', '~> 0.8.1'
gem "faraday_middleware", "~> 0.8.6"
gem "multi_xml", "~> 0.4.2"
gem "ox", "~> 1.5.4"
gem "gyoku", "~> 0.4.4"
gem 'devise', "~> 2.0.4"
gem 'simple_form'
gem 'thin'
gem 'highline'
gem 'exceptional'
gem 'thor'
gem 'colorize'
gem 'rubyzip'
gem 'heroku-api'
gem 'awesome_print'
gem "htmlentities", "~> 4.3.1"
gem 'newrelic_rpm'
gem "SystemTimer", :require => "system_timer", :platforms => :ruby_18
gem "rack-timeout"
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
# To use ActiveModel has_secure_password
gem 'bcrypt-ruby', '~> 3.0.0'
# Use unicorn as the app server
group :development, :test do
gem "debugger"
#gem 'ruby-debug19', :require => 'ruby-debug'
gem "heroku"
gem 'unicorn'
gem 'foreman'
gem 'kumade'
gem 'quiet_assets'
gem 'spin'
gem 'kicker'
gem 'pry'
end
group :test do
gem "faker"
gem 'shoulda', :require => false
gem 'webmock', :require => false
gem 'nori'
gem 'factory_girl'
gem 'autotest-standalone'
gem 'autotest-rails-pure'
gem 'autotest-growl'
gem 'autotest-fsevent'
gem 'vcr'
gem 'database_cleaner'
gem 'rspec', :require => false
gem 'capybara'
gem 'capybara-webkit'
gem 'cucumber-rails', :require => false
# mocha must be required last
gem "mocha", :require => false
end
You may wonder why all the Shoulda/TestUnit/Rspec/etc - legacy unit and functional tests are in shoulda/testunit - new are in rspec, cucumber/capybara etc...
I am using the default env.rb generated by rails generate cucumber:install --capybara, with the addition of Capybara.javascript_driver = :webkit_debug
I have essentially stripped the steps down to nothing, and the Given just has a visit '/' in it.
Does anything jump out to anyone here? Please let me know if more info is required, gem versions, etc... This is Rails 3/Ruby 1.9.