class Autopsy

Attributes

artifacts_path[RW]
driver_console_messages_map[RW]

Public Class Methods

perform(capybara_page, test_base, exception) click to toggle source
# File lib/autopsy.rb, line 14
def self.perform(capybara_page, test_base, exception)
  file_base = "#{File.expand_path(Autopsy.artifacts_path)}/#{test_base}"
  if exception != nil
    capybara_page.save_screenshot "#{file_base}.png"
    capybara_page.save_page "#{file_base}.html"
    if (Autopsy.driver_console_messages_map[Capybara.current_driver])
      msgs = Autopsy.driver_console_messages_map[Capybara.current_driver].get_console_messages(capybara_page).ai(html: true)
      File.open("#{file_base}_msgs.html", 'w') {|f| f.write(msgs) }
    end
    File.open("#{file_base}_error.log", 'w') do |f|
      f.write exception.message
      f.write "\n"
      (exception.backtrace || []).each do |l|
        f.write l
        f.write "\n"
      end
    end
  end
end