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



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

def default_config
  super.merge DEFAULT_CONFIG.call
end

Instance Method Details

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



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/applitools/selenium/configuration.rb', line 37

def add_browser(*args)
  case args.size
  when 0
    browser = Applitools::Selenium::DesktopBrowserInfo.new
  when 1
    b = args[0]
    raise(
      Applitools::EyesIllegalArgument,
      'Expected :browser to be an IRenderBrowserInfo instance!'
    ) unless b.is_a? IRenderBrowserInfo
    browser = b
  when 3
    browser = Applitools::Selenium::DesktopBrowserInfo.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_browsers(*browsers) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/applitools/selenium/configuration.rb', line 60

def add_browsers(*browsers)
  browsers = case browsers.first
               when Applitools::Selenium::IRenderBrowserInfo
                 browsers
               when Array
                 browsers.first
             end
  browsers.each do |browser|
    add_browser(browser)
  end
  self
end

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

Raises:

  • (Applitools::EyesIllegalArgument)


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

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 emu
end

#viewport_sizeObject



80
81
82
83
84
85
86
87
# File 'lib/applitools/selenium/configuration.rb', line 80

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