Module: Appom::Screenshot

Defined in:
lib/appom/screenshot.rb

Overview

Screenshot functionality for Appom automation framework Provides screenshot capture, management, and comparison utilities

Defined Under Namespace

Classes: ScreenshotComparison, ScreenshotManager

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.managerObject



315
316
317
# File 'lib/appom/screenshot.rb', line 315

def manager
  @manager ||= ScreenshotManager.new
end

Class Method Details

.capture(name = 'screenshot') ⇒ Object

Convenience methods



339
340
341
# File 'lib/appom/screenshot.rb', line 339

def capture(name = 'screenshot', **)
  manager.capture(name, **)
end

.capture_before_after(name) ⇒ Object



347
348
349
# File 'lib/appom/screenshot.rb', line 347

def capture_before_after(name, &)
  manager.capture_before_after(name, &)
end

.capture_on_failure(test_name, exception = nil) ⇒ Object



343
344
345
# File 'lib/appom/screenshot.rb', line 343

def capture_on_failure(test_name, exception = nil)
  manager.capture_on_failure(test_name, exception)
end

.capture_sequence(name) ⇒ Object



351
352
353
# File 'lib/appom/screenshot.rb', line 351

def capture_sequence(name, **, &)
  manager.capture_sequence(name, **, &)
end

.cleanup_old(days_old: 7) ⇒ Object



355
356
357
# File 'lib/appom/screenshot.rb', line 355

def cleanup_old(days_old: 7)
  manager.cleanup_old_screenshots(days_old: days_old)
end

.compare(image1, image2) ⇒ Object



363
364
365
# File 'lib/appom/screenshot.rb', line 363

def compare(image1, image2, **)
  ScreenshotComparison.new(**).compare(image1, image2)
end

.configure(directory: nil, format: nil, auto_timestamp: nil, quality: nil) ⇒ Object

Configure screenshot settings



320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
# File 'lib/appom/screenshot.rb', line 320

def configure(directory: nil, format: nil, auto_timestamp: nil, quality: nil)
  current_config = {
    directory: manager.directory,
    format: manager.format,
    auto_timestamp: manager.auto_timestamp,
    quality: manager.quality,
  }

  new_config = current_config.merge(
    directory: directory || current_config[:directory],
    format: format || current_config[:format],
    auto_timestamp: auto_timestamp.nil? ? current_config[:auto_timestamp] : auto_timestamp,
    quality: quality || current_config[:quality],
  )

  @manager = ScreenshotManager.new(**new_config)
end

.similar?(image1, image2) ⇒ Boolean

Returns:

  • (Boolean)


367
368
369
# File 'lib/appom/screenshot.rb', line 367

def similar?(image1, image2, **)
  ScreenshotComparison.new(**).similar?(image1, image2)
end

.statsObject



359
360
361
# File 'lib/appom/screenshot.rb', line 359

def stats
  manager.stats
end