Module: Capybara::Screenshot

Defined in:
lib/capybara-screenshot.rb,
lib/capybara-screenshot/rspec.rb,
lib/capybara-screenshot/saver.rb,
lib/capybara-screenshot/pruner.rb,
lib/capybara-screenshot/version.rb,
lib/capybara-screenshot/testunit.rb,
lib/capybara-screenshot/rspec/text_reporter.rb,
lib/capybara-screenshot/rspec/base_reporter.rb,
lib/capybara-screenshot/rspec/html_link_reporter.rb,
lib/capybara-screenshot/rspec/html_embed_reporter.rb,
lib/capybara-screenshot/rspec/textmate_link_reporter.rb

Defined Under Namespace

Modules: MiniTestPlugin, RSpec, Spinach Classes: Pruner, Saver

Constant Summary collapse

VERSION =
'1.0.11'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.append_randomObject

Returns the value of attribute append_random


8
9
10
# File 'lib/capybara-screenshot.rb', line 8

def append_random
  @append_random
end

.append_timestampObject

Returns the value of attribute append_timestamp


7
8
9
# File 'lib/capybara-screenshot.rb', line 7

def append_timestamp
  @append_timestamp
end

.autosave_on_failureObject

Returns the value of attribute autosave_on_failure


4
5
6
# File 'lib/capybara-screenshot.rb', line 4

def autosave_on_failure
  @autosave_on_failure
end

.filename_prefix_formattersObject

Returns the value of attribute filename_prefix_formatters


6
7
8
# File 'lib/capybara-screenshot.rb', line 6

def filename_prefix_formatters
  @filename_prefix_formatters
end

.final_session_nameObject


74
75
76
# File 'lib/capybara-screenshot.rb', line 74

def self.final_session_name
  @final_session_name || Capybara.session_name || :default
end

.prune_strategyObject

Returns the value of attribute prune_strategy


11
12
13
# File 'lib/capybara-screenshot.rb', line 11

def prune_strategy
  @prune_strategy
end

.registered_driversObject

Returns the value of attribute registered_drivers


5
6
7
# File 'lib/capybara-screenshot.rb', line 5

def registered_drivers
  @registered_drivers
end

.testunit_pathsObject

Returns the value of attribute testunit_paths


5
6
7
# File 'lib/capybara-screenshot/testunit.rb', line 5

def testunit_paths
  @testunit_paths
end

.webkit_optionsObject

Returns the value of attribute webkit_options


9
10
11
# File 'lib/capybara-screenshot.rb', line 9

def webkit_options
  @webkit_options
end

Class Method Details

.append_screenshot_path=(value) ⇒ Object


22
23
24
25
26
# File 'lib/capybara-screenshot.rb', line 22

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_rootObject


54
55
56
57
58
59
60
61
62
63
64
# File 'lib/capybara-screenshot.rb', line 54

def self.capybara_root
  @capybara_root ||= if defined?(::Rails)
    ::Rails.root.join capybara_tmp_path
  elsif defined?(Padrino)
    Padrino.root capybara_tmp_path
  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) ⇒ Object


48
49
50
51
52
# File 'lib/capybara-screenshot.rb', line 48

def self.filename_prefix_for(test_type, test)
  filename_prefix_formatters.fetch(test_type) { |key|
    filename_prefix_formatters[:default]
  }.call(test)
end

.prune(options = {}) ⇒ Object

Prune screenshots based on prune_strategy Will run only once unless force:true


80
81
82
83
84
# File 'lib/capybara-screenshot.rb', line 80

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) ⇒ Object


66
67
68
# File 'lib/capybara-screenshot.rb', line 66

def self.register_driver(driver, &block)
  self.registered_drivers[driver] = block
end

.register_filename_prefix_formatter(test_type, &block) ⇒ Object


70
71
72
# File 'lib/capybara-screenshot.rb', line 70

def self.register_filename_prefix_formatter(test_type, &block)
  self.filename_prefix_formatters[test_type] = block
end

.reset_prune_historyObject

Reset prune history allowing further prunining on next failure


87
88
89
# File 'lib/capybara-screenshot.rb', line 87

def self.reset_prune_history
  @pruned_previous_screenshots = nil
end

.screenshot_and_open_imageObject Also known as: screen_shot_and_open_image


34
35
36
37
38
39
40
41
# File 'lib/capybara-screenshot.rb', line 34

def self.screenshot_and_open_image
  require "launchy"

  saver = Saver.new(Capybara, Capybara.page, false)
  saver.save
  Launchy.open saver.screenshot_path
  {:html => nil, :image => saver.screenshot_path}
end

.screenshot_and_save_pageObject Also known as: screen_shot_and_save_page


28
29
30
31
32
# File 'lib/capybara-screenshot.rb', line 28

def self.screenshot_and_save_page
  saver = Saver.new(Capybara, Capybara.page)
  saver.save
  {:html => saver.html_path, :image => saver.screenshot_path}
end