module Capybara::Screenshot
Constants
- VERSION
Attributes
append_random[RW]
append_timestamp[RW]
autosave_on_failure[RW]
filename_prefix_formatters[RW]
final_session_name[W]
prune_strategy[RW]
registered_drivers[RW]
s3_configuration[RW]
s3_object_configuration[RW]
testunit_paths[RW]
webkit_options[RW]
Public Class Methods
after_save_html(&block)
click to toggle source
# File lib/capybara-screenshot.rb, line 108 def self.after_save_html &block Saver.after_save_html(&block) end
after_save_screenshot(&block)
click to toggle source
# File lib/capybara-screenshot.rb, line 112 def self.after_save_screenshot &block Saver.after_save_screenshot(&block) end
append_screenshot_path=(value)
click to toggle source
# File lib/capybara-screenshot.rb, line 26 def self.append_screenshot_path=(value) $stderr.puts "WARNING: Capybara::Screenshot.append_screenshot_path is deprecated. " + "Please use Capybara::Screenshot::RSpec.add_link_to_screenshot_for_failed_examples instead." RSpec.add_link_to_screenshot_for_failed_examples = value end
capybara_root()
click to toggle source
# File lib/capybara-screenshot.rb, line 60 def self.capybara_root @capybara_root ||= if defined?(::Rails) && ::Rails.respond_to?(:root) && ::Rails.root.present? ::Rails.root.join capybara_tmp_path elsif defined?(Padrino) File.expand_path(capybara_tmp_path, Padrino.root) elsif defined?(Sinatra) File.join(Sinatra::Application.root, capybara_tmp_path) else capybara_tmp_path end.to_s end
filename_prefix_for(test_type, test)
click to toggle source
# File lib/capybara-screenshot.rb, line 54 def self.filename_prefix_for(test_type, test) filename_prefix_formatters.fetch(test_type) { |key| filename_prefix_formatters[:default] }.call(test) end
final_session_name()
click to toggle source
# File lib/capybara-screenshot.rb, line 80 def self.final_session_name @final_session_name || Capybara.session_name || :default end
new_saver(*args)
click to toggle source
# File lib/capybara-screenshot.rb, line 97 def self.new_saver(*args) saver = Saver.new(*args) unless s3_configuration.empty? require 'capybara-screenshot/s3_saver' saver = S3Saver.new_with_configuration(saver, s3_configuration, s3_object_configuration) end return saver end
prune(options = {})
click to toggle source
Prune screenshots based on prune_strategy
Will run only once unless force:true
# File lib/capybara-screenshot.rb, line 86 def self.prune(options = {}) reset_prune_history if options[:force] Capybara::Screenshot::Pruner.new(Capybara::Screenshot.prune_strategy).prune_old_screenshots unless @pruned_previous_screenshots @pruned_previous_screenshots = true end
register_driver(driver, &block)
click to toggle source
# File lib/capybara-screenshot.rb, line 72 def self.register_driver(driver, &block) self.registered_drivers[driver] = block end
register_filename_prefix_formatter(test_type, &block)
click to toggle source
# File lib/capybara-screenshot.rb, line 76 def self.register_filename_prefix_formatter(test_type, &block) self.filename_prefix_formatters[test_type] = block end
reset_prune_history()
click to toggle source
Reset prune history allowing further prunining on next failure
# File lib/capybara-screenshot.rb, line 93 def self.reset_prune_history @pruned_previous_screenshots = nil end
screenshot_and_open_image()
click to toggle source
# File lib/capybara-screenshot.rb, line 39 def self.screenshot_and_open_image require "launchy" saver = new_saver(Capybara, Capybara.page, false) if saver.save Launchy.open saver.screenshot_path {:html => nil, :image => saver.screenshot_path} end end
Also aliased as: screen_shot_and_open_image
screenshot_and_save_page()
click to toggle source
# File lib/capybara-screenshot.rb, line 32 def self.screenshot_and_save_page saver = new_saver(Capybara, Capybara.page) if saver.save {:html => saver.html_path, :image => saver.screenshot_path} end end
Also aliased as: screen_shot_and_save_page
Private Class Methods
capybara_tmp_path()
click to toggle source
If the path isn't set, default to the current directory
# File lib/capybara-screenshot.rb, line 119 def self.capybara_tmp_path # `#save_and_open_page_path` is deprecated # https://github.com/jnicklas/capybara/blob/48ab1ede946dec2250a2d1d8cbb3313f25096456/History.md#L37 if Capybara.respond_to?(:save_path) Capybara.save_path else Capybara.save_and_open_page_path end || '.' end
capybara_tmp_path=(path)
click to toggle source
Configure the path unless '.'
# File lib/capybara-screenshot.rb, line 130 def self.capybara_tmp_path=(path) return if path == '.' # `#save_and_open_page_path` is deprecated # https://github.com/jnicklas/capybara/blob/48ab1ede946dec2250a2d1d8cbb3313f25096456/History.md#L37 if Capybara.respond_to?(:save_path) Capybara.save_path = path else Capybara.save_and_open_page_path = path end end