class Applitools::Selenium::EyesConnector
Constants
- USE_DEFAULT_MATCH_TIMEOUT
Attributes
Public Class Methods
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 17 def initialize(*args) options = Applitools::Utils.extract_options!(args) super self.render_statuses = {} self.dummy_region_provider = RegionProvider.new self.dont_get_title = false self.driver_lock = options[:driver_lock] self.should_match_window_run_once_on_timeout = true end
Calls superclass method
Public Instance Methods
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 134 def app_environment super.tap do |env| env.device_info = device_name end end
rubocop:enable Style/AccessorMethodName
Calls superclass method
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 73 def base_agent_id "eyes.selenium.visualgrid.ruby/#{Applitools::VERSION}" end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 82 def capture_screenshot nil end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 42 def check(name, target, check_task_uuid) self.current_uuid = check_task_uuid target_to_check = target.finalize timeout = target_to_check.options[:timeout] || USE_DEFAULT_MATCH_TIMEOUT match_data = Applitools::Selenium::VgMatchWindowData.new(default_match_settings) match_data.tag = name match_data.render_id = render_status['renderId'] begin driver_lock.synchronize do match_data.read_target(target_to_check, driver, selector_regions) end rescue Applitools::Selenium::VgMatchWindowData::RegionCoordinatesError => e logger.error "Error retrieving coordinates for region #{e.region}" logger.error e.message end match_data.variation_group_id = match_data.target.options[:variation_group_id] if match_data.target.options[:variation_group_id] check_result = check_window_base( dummy_region_provider, timeout, match_data ) self.current_uuid = nil check_result end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 77 def close(throw_exception = true, be_silent = false) self.current_uuid = nil self.test_result = super end
Calls superclass method
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 101 def dom_url render_status['domLocation'] end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 27 def ensure_config self.config = Applitools::Selenium::Configuration.new end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 154 def get_app_output_with_screenshot(region_provider, _last_screenshot) region = region_provider.region a_title = title Applitools::AppOutputWithScreenshot.new( Applitools::AppOutput.new(a_title, '').tap do |o| o.location = region.location unless region.empty? o.dom_url = dom_url o.screenshot_url = screenshot_url if respond_to?(:screenshot_url) && !screenshot_url.nil? o.visual_viewport = visual_viewport unless visual_viewport.nil? end, nil, true ) end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 117 def inferred_environment "useragent: #{render_status['userAgent']}" end
def match_level_keys
%w(match_level exact scale remainder ).map(&:to_sym)
end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 31 def open(driver, browser_info) self.driver = driver self.browser_info = browser_info self.device_name = browser_info.device_name logger.info "opening EyesConnector for #{config.short_description} with viewport size: #{browser_info}" config.viewport_size = browser_info.viewport_size title open_base # ensure_running_session end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 90 def render_status status = render_statuses[current_uuid] raise Applitools::EyesError, 'Got empty render status!' if status.nil? || !status.is_a?(Hash) || status.keys.empty? status end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 86 def render_status_for_task(uuid, status) render_statuses[uuid] = status end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 97 def screenshot_url render_status['imageLocation'] end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 105 def selector_regions render_status['selectorRegions'] end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 131 def set_viewport_size(*_args); end
rubocop:disable Style/AccessorMethodName
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 68 def start_session super self.should_match_window_run_once_on_timeout = true end
Calls superclass method
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 140 def viewport_size status = render_statuses[render_statuses.keys.first] size = status['deviceSize'] Applitools::RectangleSize.new(size['width'], size['height']) end
Source
# File lib/applitools/selenium/visual_grid/eyes_connector.rb, line 109 def visual_viewport render_status['visualViewport'] end