eyes_selenium 3.12.0 → 3.13.0

Sign up to get free protection for your applications and to get access to all the features.
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