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: true,
    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



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

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)


61
62
63
64
65
66
# File 'lib/applitools/selenium/configuration.rb', line 61

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

#custom_setter_for_accessibility_validation(value) ⇒ Object



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

def custom_setter_for_accessibility_validation(value)
  # self.default_match_settings = self.parent.class.default_config[:default_match_settings] unless default_match_settings
  default_match_settings.accessibility_level = value
end

#viewport_sizeObject



68
69
70
71
72
73
74
75
# File 'lib/applitools/selenium/configuration.rb', line 68

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