Class: Applitools::Appium::Eyes
- Inherits:
-
Selenium::SeleniumEyes
- Object
- Selenium::SeleniumEyes
- Applitools::Appium::Eyes
- Defined in:
- lib/applitools/appium/eyes.rb
Instance Attribute Summary collapse
-
#status_bar_height ⇒ Object
Returns the value of attribute status_bar_height.
Instance Method Summary collapse
- #capture_screenshot ⇒ Object
- #check(*args) ⇒ Object
- #check_native(name, target) ⇒ Object
- #check_region(*args) ⇒ Object
- #check_window(tag = nil, match_timeout = USE_DEFAULT_MATCH_TIMEOUT) ⇒ Object
- #dom_data ⇒ Object
- #get_app_output_with_screenshot(*args) ⇒ Object
-
#initialize(*args) ⇒ Eyes
constructor
A new instance of Eyes.
- #native_app? ⇒ Boolean
Constructor Details
#initialize(*args) ⇒ Eyes
Returns a new instance of Eyes.
10 11 12 13 14 15 16 |
# File 'lib/applitools/appium/eyes.rb', line 10 def initialize(*args) super self.dont_get_title = true self.runner = Applitools::ClassicRunner.new self.base_agent_id = "eyes.appium.ruby/#{Applitools::VERSION}".freeze self. = 0 end |
Instance Attribute Details
#status_bar_height ⇒ Object
Returns the value of attribute status_bar_height.
4 5 6 |
# File 'lib/applitools/appium/eyes.rb', line 4 def @status_bar_height end |
Instance Method Details
#capture_screenshot ⇒ Object
67 68 69 70 71 72 73 74 75 |
# File 'lib/applitools/appium/eyes.rb', line 67 def capture_screenshot logger.info 'Getting screenshot (capture_screenshot() has been invoked)' case eyes_element_to_check when Applitools::Region when Selenium::WebDriver::Element, Applitools::Selenium::Element element_screenshot end end |
#check(*args) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/applitools/appium/eyes.rb', line 20 def check(*args) args.compact! case (first_arg = args.shift) when String name = first_arg target = args.shift when Applitools::Selenium::Target target = first_arg when Hash target = first_arg[:target] name = first_arg[:name] || first_arg[:tag] end logger.info "check(#{name}) is called" self.tag_for_debug = name Applitools::ArgumentGuard.one_of? target, 'target', [Applitools::Selenium::Target, Applitools::Appium::Target] return check_native(name, target) if native_app? super end |
#check_native(name, target) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/applitools/appium/eyes.rb', line 44 def check_native(name, target) logger.info "check_native(#{name}) is called" update_scaling_params target_to_check = target.finalize match_data = Applitools::MatchWindowData.new(default_match_settings) match_data.tag = name timeout = target_to_check.[:timeout] || USE_DEFAULT_MATCH_TIMEOUT eyes_element = target_to_check.region_to_check.call(driver) self.eyes_element_to_check = eyes_element region_provider = Applitools::Appium::RegionProvider.new(driver, eyes_element) match_data.read_target(target_to_check, driver) check_window_base( region_provider, timeout, match_data ) end |
#check_region(*args) ⇒ Object
112 113 114 115 116 |
# File 'lib/applitools/appium/eyes.rb', line 112 def check_region(*args) = { timeout: USE_DEFAULT_MATCH_TIMEOUT, tag: nil }.merge! Applitools::Utils.(args) target = Applitools::Appium::Target.new.region(*args).timeout([:match_timeout]) check([:tag], target) end |
#check_window(tag = nil, match_timeout = USE_DEFAULT_MATCH_TIMEOUT) ⇒ Object
105 106 107 108 109 110 |
# File 'lib/applitools/appium/eyes.rb', line 105 def check_window(tag = nil, match_timeout = USE_DEFAULT_MATCH_TIMEOUT) target = Applitools::Appium::Target.window.tap do |t| t.timeout(match_timeout) end check(tag, target) end |
#dom_data ⇒ Object
101 102 103 |
# File 'lib/applitools/appium/eyes.rb', line 101 def dom_data {} end |
#get_app_output_with_screenshot(*args) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/applitools/appium/eyes.rb', line 77 def get_app_output_with_screenshot(*args) result = super do |screenshot| if scale_provider scaled_image = scale_provider.scale_image(screenshot.image) self.screenshot = screenshot_class.new( Applitools::Screenshot.from_image( case scaled_image when ChunkyPNG::Image scaled_image when Applitools::Screenshot::Datastream scaled_image.image else raise Applitools::EyesError.new('Unknown image format after scale!') end ), status_bar_height: Applitools::Utils::EyesSeleniumUtils.(driver), device_pixel_ratio: Applitools::Utils::EyesSeleniumUtils.device_pixel_ratio(driver) ) end end self.screenshot_url = nil result end |
#native_app? ⇒ Boolean
62 63 64 65 |
# File 'lib/applitools/appium/eyes.rb', line 62 def native_app? return true if driver.current_context == 'NATIVE_APP' false end |