eyes_selenium 3.12.0 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1eddd248aaa225506bab9d893b31a5d60b672d1e
4
- data.tar.gz: 5e1db39922d01f6a2d1240631c7c8c6b8a2777c2
3
+ metadata.gz: 3080f6742b4c5a4de35177b9b088d00be1655151
4
+ data.tar.gz: dc5665a10bb941c5c5c1c10e1053fdc8820c1e11
5
5
  SHA512:
6
- metadata.gz: bb020ee6d60bc119e4762dec14ee5c370dc1101f4788c65f379d112a44dff544a04a744047278494a51a723fd964b9526fda0ca3b376df8e07b2a38b575065b4
7
- data.tar.gz: 494d2cabeebaedf23f3e87a681da7bae543735abbee395e7417288f27aa80e87eafa1a7dc509e894f67a2b10fb25805f073162a6c71f63d8d18dfd541af314df
6
+ metadata.gz: 57f567158fe47899a4922ed6a82cdb855a96024a572d3f6843f54a3c082132738a6f1ece558a070d5a4a8f79356aba30772b2a98255a46054d7dca6056dfec10
7
+ data.tar.gz: 3b4be764619aabb6786775cae83a31361a65dfa9fde4cacf9c7151c80c70f371ffea7e0319ee2f2c7bd53793639d0110ece9569ae4e222c1b2c017fe12fb06db
@@ -11,6 +11,8 @@ module Applitools::Selenium
11
11
 
12
12
  USE_DEFAULT_MATCH_TIMEOUT = -1
13
13
 
14
+ DEFAULT_STITCHING_OVERLAP = 50 # Pixels
15
+
14
16
  extend Forwardable
15
17
  # @!visibility public
16
18
 
@@ -75,7 +77,7 @@ module Applitools::Selenium
75
77
 
76
78
  attr_accessor :base_agent_id, :screenshot, :force_full_page_screenshot, :hide_scrollbars,
77
79
  :wait_before_screenshots, :debug_screenshot, :stitch_mode, :disable_horizontal_scrolling,
78
- :disable_vertical_scrolling, :explicit_entire_size, :debug_screenshot_provider
80
+ :disable_vertical_scrolling, :explicit_entire_size, :debug_screenshot_provider, :stitching_overlap
79
81
  attr_reader :driver
80
82
 
81
83
  def_delegators 'Applitools::EyesLogger', :logger, :log_handler, :log_handler=
@@ -104,6 +106,7 @@ module Applitools::Selenium
104
106
  self.disable_vertical_scrolling = false
105
107
  self.explicit_entire_size = nil
106
108
  self.force_driver_resolution_as_viewport_size = false
109
+ self.stitching_overlap = DEFAULT_STITCHING_OVERLAP
107
110
  end
108
111
 
109
112
  # Starts a test
@@ -120,10 +123,10 @@ module Applitools::Selenium
120
123
  # @return [Applitools::Selenium::Driver] A wrapped web driver which enables Eyes
121
124
  # trigger recording and frame handling
122
125
  def open(options = {})
123
- driver = options.delete(:driver)
126
+ original_driver = options.delete(:driver)
124
127
  options[:viewport_size] = Applitools::RectangleSize.from_any_argument options[:viewport_size] if
125
128
  options[:viewport_size]
126
- Applitools::ArgumentGuard.not_nil driver, 'options[:driver]'
129
+ Applitools::ArgumentGuard.not_nil original_driver, 'options[:driver]'
127
130
  Applitools::ArgumentGuard.hash options, 'open(options)', [:app_name, :test_name]
128
131
 
129
132
  if disabled?
@@ -131,8 +134,8 @@ module Applitools::Selenium
131
134
  return driver
132
135
  end
133
136
 
134
- @driver = self.class.eyes_driver(driver, self)
135
- perform_driver_specific_settings(driver)
137
+ @driver = self.class.eyes_driver(original_driver, self)
138
+ perform_driver_specific_settings(original_driver)
136
139
 
137
140
  self.device_pixel_ratio = UNKNOWN_DEVICE_PIXEL_RATIO
138
141
  self.position_provider = self.class.position_provider(
@@ -152,10 +155,10 @@ module Applitools::Selenium
152
155
  @driver
153
156
  end
154
157
 
155
- def perform_driver_specific_settings(driver)
156
- modifier = driver.class.to_s.downcase.gsub(/::/, '_')
158
+ def perform_driver_specific_settings(original_driver)
159
+ modifier = original_driver.class.to_s.downcase.gsub(/::/, '_')
157
160
  method_name = "perform_driver_settings_for_#{modifier}"
158
- send(method_name) if respond_to? method_name
161
+ send(method_name) if respond_to?(method_name, :include_private)
159
162
  end
160
163
 
161
164
  def perform_driver_settings_for_appium_driver
@@ -163,6 +166,9 @@ module Applitools::Selenium
163
166
  self.force_driver_resolution_as_viewport_size = true
164
167
  end
165
168
 
169
+ private :perform_driver_settings_for_appium_driver
170
+ private :perform_driver_specific_settings
171
+
166
172
  # Sets the stitch mode.
167
173
  #
168
174
  # @param [Hash] value The desired type of stitching (:SCROLL is default).
@@ -538,7 +544,8 @@ module Applitools::Selenium
538
544
  scale_provider: scale_provider,
539
545
  cut_provider: cut_provider,
540
546
  wait_before_screenshots: wait_before_screenshots,
541
- eyes_screenshot_factory: eyes_screenshot_factory
547
+ eyes_screenshot_factory: eyes_screenshot_factory,
548
+ stitching_overlap: stitching_overlap
542
549
  )
543
550
 
544
551
  logger.info 'Building screenshot object...'
@@ -570,7 +577,8 @@ module Applitools::Selenium
570
577
  scale_provider: scale_provider,
571
578
  cut_provider: cut_provider,
572
579
  wait_before_screenshots: wait_before_screenshots,
573
- eyes_screenshot_factory: eyes_screenshot_factory
580
+ eyes_screenshot_factory: eyes_screenshot_factory,
581
+ stitching_overlap: stitching_overlap
574
582
 
575
583
  unless driver.frame_chain.empty?
576
584
  logger.info 'Switching back to original frame...'
@@ -36,6 +36,7 @@ module Applitools::Selenium
36
36
  cut_provider = options[:cut_provider]
37
37
  wait_before_screenshot = options[:wait_before_screenshots]
38
38
  eyes_screenshot_factory = options[:eyes_screenshot_factory]
39
+ stitching_overlap = options[:stitching_overlap] || MAX_SCROLL_BAR_SIZE
39
40
 
40
41
  logger.info "Region to check: #{region_provider.region}"
41
42
  logger.info "Coordinates type: #{region_provider.coordinate_type}"
@@ -100,7 +101,7 @@ module Applitools::Selenium
100
101
  end
101
102
 
102
103
  part_image_size = Applitools::RectangleSize.new image.width,
103
- [image.height - MAX_SCROLL_BAR_SIZE, MIN_SCREENSHOT_PART_HEIGHT].max
104
+ [image.height - stitching_overlap, MIN_SCREENSHOT_PART_HEIGHT].max
104
105
 
105
106
  logger.info "Total size: #{entire_size}, image_part_size: #{part_image_size}"
106
107
 
@@ -1,3 +1,3 @@
1
1
  module Applitools
2
- VERSION = '3.12.0'.freeze
2
+ VERSION = '3.13.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eyes_selenium
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.12.0
4
+ version: 3.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Applitools Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-13 00:00:00.000000000 Z
11
+ date: 2017-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eyes_core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.12.0
19
+ version: 3.13.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 3.12.0
26
+ version: 3.13.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: selenium-webdriver
29
29
  requirement: !ruby/object:Gem::Requirement