Using this gem, whenever a Capybara test in Cucumber, Rspec or Minitest fails, the HTML for the failed page and a screenshot (when using capybara-webkit or Selenium) is saved into $APPLICATION_ROOT/tmp/capybara.
This is a huge help when trying to diagnose a problem in your failing steps as you can view the source code and potentially how the page looked at the time of the failure.
gem install capybara-screenshot
or update your Gemfile to include:
group :test do gem 'capybara-screenshot' end
A simple Rails 3.1 example application has been set up at https://github.com/mattheworiordan/capybara-screenshot-test-rails-3.1
Git clone the app, and then run Cucumber
rake cucumber, RSpec
rspec spec/**/*_spec.rb and Minitest
rake test and expect intentional failures.
Now check the $APPLICATION_ROOT/tmp/capybara folder for the automatic screen shots generated from failed tests.
Please fork, submit patches or feedback at https://github.com/mattheworiordan/capybara-screenshot
The gem details on RubyGems.org can be found at https://rubygems.org/gems/capybara-screenshot
This gem was written by Matthew O'Riordan
Copyright © 2012 Matthew O'Riordan, inc. It is free software, and may be redistributed under the terms specified in the LICENSE file.