Class: Applitools::Selenium::Configuration

Inherits:
EyesBaseConfiguration
  • Object
show all
Defined in:
lib/applitools/selenium/configuration.rb

Constant Summary collapse

DEFAULT_CONFIG =
proc do
  {
    force_full_page_screenshot: false,
    wait_before_screenshots: 0.1,
    stitch_mode: Applitools::Selenium::StitchModes::CSS,
    hide_scrollbars: false,
    hide_caret: false,
    browsers_info: Applitools::Selenium::BrowsersInfo.new,
    accessibility_validation: Applitools::AccessibilityLevel::NONE,
    rendering_grid_force_put: (ENV['APPLITOOLS_RENDERING_GRID_FORCE_PUT'] || 'false').casecmp('true') == 0
  }
end

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.default_configObject



22
23
24
# File 'lib/applitools/selenium/configuration.rb', line 22

def default_config
  super.merge DEFAULT_CONFIG.call
end

Instance Method Details

#add_browser(*args) {|Applitools::Selenium::RenderBrowserInfoFluent.new(browser)| ... } ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/applitools/selenium/configuration.rb', line 47

def add_browser(*args)
  case args.size
  when 0, 1
    b = args[0]
    browser = b || Applitools::Selenium::RenderBrowserInfo.new
  when 3
    browser = Applitools::Selenium::RenderBrowserInfo.new.tap do |bi|
      bi.viewport_size = Applitools::RectangleSize.new(args[0], args[1])
      bi.browser_type = args[2]
    end
  end
  yield(Applitools::Selenium::RenderBrowserInfoFluent.new(browser)) if block_given?
  browsers_info.add browser
  # self.viewport_size = browser.viewport_size unless viewport_size
  self
end

#add_device_emulation(device_name, orientation = Orientations::PORTRAIT) ⇒ Object

Raises:

  • (Applitools::EyesIllegalArgument)


64
65
66
67
68
69
# File 'lib/applitools/selenium/configuration.rb', line 64

def add_device_emulation(device_name, orientation = Orientations::PORTRAIT)
  Applitools::ArgumentGuard.not_nil device_name, 'device_name'
  raise Applitools::EyesIllegalArgument, 'Wrong device name!' unless Devices.enum_values.include? device_name
  emu = Applitools::Selenium::ChromeEmulationInfo.new(device_name, orientation)
  add_browser { |b| b.emulation_info(emu) }
end

#default_match_settingsObject



43
44
45
# File 'lib/applitools/selenium/configuration.rb', line 43

def default_match_settings
  super.merge(accessibility_validation: accessibility_validation)
end

#match_level_keysObject



39
40
41
# File 'lib/applitools/selenium/configuration.rb', line 39

def match_level_keys
  super << :accessibility_validation
end

#viewport_sizeObject



71
72
73
74
75
76
77
78
# File 'lib/applitools/selenium/configuration.rb', line 71

def viewport_size
  user_defined_vp = super
  user_defined_vp = nil if user_defined_vp.respond_to?(:square) && user_defined_vp.square == 0
  return user_defined_vp if user_defined_vp
  from_browsers_info = browsers_info.select { |bi| bi.viewport_size.square > 0 }.first
  return from_browsers_info.viewport_size if from_browsers_info
  nil
end