Skip to content

@hoverlover /spec_helper.rb
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Place this somewhere that gets loaded when RSpec starts and your browser will automatically show the contents of the webpage when an acceptance spec fails.
module Capybara
def auto_save_and_open_page=(val)
@auto_save_and_open_page = !!val
end
def auto_save_and_open_page?
@auto_save_and_open_page ||= false
end
end
module Capybara::Node::Finders
alias :orig_find :find
def find(*args)
begin
orig_find *args
rescue Capybara::ElementNotFound => e
session.save_and_open_page if Capybara.auto_save_and_open_page?
raise e
end
end
end
module Capybara::Node::Matchers
%w[has has_no].each do |has_has_no|
alias :"orig_#{has_has_no}_selector?" :"#{has_has_no}_selector?"
class_eval <<-METH, __FILE__, __LINE__ + 1
def #{has_has_no}_selector?(*args)
if !(result = orig_#{has_has_no}_selector?(*args)) && Capybara.auto_save_and_open_page?
session.save_and_open_page
end
result
end
METH
end
end
# Somewhere in the file
Capybara.auto_save_and_open_page = true if 'true' == ENV['CAPYBARA_AUTO_SAVE_AND_OPEN_PAGE']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.