eyes_selenium 3.14.8 → 3.14.9

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
  SHA256:
3
- metadata.gz: 4d2a02a97471ca711cc4cee80ff6d948dbdbba3629a32dbf7711a072c5ae650d
4
- data.tar.gz: e715d1aee3fbdd03f48a4caf5cf311d532b9d950f9a59dfbe5b467ff536b5a33
3
+ metadata.gz: d500101344559727659a517156d95e4653706a4de211db4d509d986aae06fde7
4
+ data.tar.gz: bd91da99dccd21c1519a9ce18bf00bc5761d90992e11aaefe539d16b144038d7
5
5
  SHA512:
6
- metadata.gz: 548088ae090ff0fb5999e4102e4188dee92a51f4c16d0fb9c035f230a665b0239e02fc2a88d28ce51139cac6f93efe859111c42b557e35b2e7172a349be79c61
7
- data.tar.gz: 706fa0ed4b57a1fd37a7405cb9a93959996c9ab48ba73a4151988727f9d48732eb7feb5e4ce720f29ab00310653b1ff2a6ada6a96ebbc207bed6d5f9a4718ac8
6
+ metadata.gz: 81577dcbe0e103115bf57fe76d5df2a466d072f71a5f8303f38dcf70ce9b1cc2dd2a570beca8b3ce9b7f3206a09ed18b9be9ad9ea2e2478ed82e54c72ba481ee
7
+ data.tar.gz: 87b4d229fb734f03896e716003a64f58355b9a24850fb85404d68f0f1c55aa2020e88d370bf032b220caecf1bbe0d723caae9789b2fd2ecf298ef0e6e4ac5a80
@@ -27,6 +27,8 @@ module Applitools::Selenium
27
27
 
28
28
  JS_GET_OVERFLOW = 'return arguments[0].style.overflow;'.freeze
29
29
  JS_SET_OVERFLOW_FORMATTED_STR = "arguments[0].style.overflow = '%s'".freeze
30
+ JS_SET_SCROLL_DATA_FORMATTED_STR = "arguments[0].setAttribute('data-applitools-scroll', '%s')".freeze
31
+ JS_SET_OVERFLOW_DATA_FORMATTED_STR = "arguments[0].setAttribute('data-applitools-original-overflow', '%s')".freeze
30
32
 
31
33
  TRACE_PREFIX = 'EyesWebElement'.freeze
32
34
 
@@ -127,6 +129,14 @@ module Applitools::Selenium
127
129
  driver.execute_script(JS_SET_OVERFLOW_FORMATTED_STR % overflow, self)
128
130
  end
129
131
 
132
+ def scroll_data_attribute=(value)
133
+ driver.execute_script(JS_SET_SCROLL_DATA_FORMATTED_STR % value, self)
134
+ end
135
+
136
+ def overflow_data_attribute=(value)
137
+ driver.execute_script(JS_SET_OVERFLOW_DATA_FORMATTED_STR % value, self)
138
+ end
139
+
130
140
  def computed_style(prop_style)
131
141
  driver.execute_script(JS_GET_COMPUTED_STYLE_FORMATTED_STR % prop_style, self).to_s
132
142
  end
@@ -98,7 +98,7 @@ module Applitools::Selenium
98
98
  attr_accessor :base_agent_id, :screenshot, :force_full_page_screenshot, :hide_scrollbars,
99
99
  :wait_before_screenshots, :debug_screenshots, :stitch_mode, :disable_horizontal_scrolling,
100
100
  :disable_vertical_scrolling, :explicit_entire_size, :debug_screenshot_provider, :stitching_overlap,
101
- :full_page_capture_algorithm_left_top_offset, :screenshot_type, :use_dom
101
+ :full_page_capture_algorithm_left_top_offset, :screenshot_type, :send_dom
102
102
  attr_reader :driver
103
103
 
104
104
  def_delegators 'Applitools::EyesLogger', :logger, :log_handler, :log_handler=
@@ -129,7 +129,7 @@ module Applitools::Selenium
129
129
  self.force_driver_resolution_as_viewport_size = false
130
130
  self.stitching_overlap = DEFAULT_STITCHING_OVERLAP
131
131
  self.full_page_capture_algorithm_left_top_offset = Applitools::Location::TOP_LEFT
132
- self.use_dom = false
132
+ self.send_dom = false
133
133
  self.prevent_dom_processing = false
134
134
  end
135
135
 
@@ -264,7 +264,11 @@ module Applitools::Selenium
264
264
  )
265
265
  end
266
266
 
267
- self.prevent_dom_processing = !((!target.options[:use_dom].nil? && target.options[:use_dom]) || use_dom)
267
+ # self.prevent_dom_processing = !((!target.options[:send_dom].nil? && target.options[:send_dom]) ||
268
+ # send_dom || stitch_mode == Applitools::STITCH_MODE[:css])
269
+
270
+ self.prevent_dom_processing = !((!target.options[:send_dom].nil? && target.options[:send_dom]) ||
271
+ send_dom)
268
272
 
269
273
  check_in_frame target_frames: target_to_check.frames do
270
274
  begin
@@ -276,6 +280,7 @@ module Applitools::Selenium
276
280
  unless force_full_page_screenshot
277
281
  region_visibility_strategy.move_to_region original_position_provider,
278
282
  Applitools::Location.new(eyes_element.location.x.to_i, eyes_element.location.y.to_i)
283
+ driver.find_element(:css, 'html').scroll_data_attribute = true
279
284
  end
280
285
 
281
286
  region_provider = Applitools::Selenium::RegionProvider.new(driver, region_for_element(eyes_element))
@@ -299,6 +304,8 @@ module Applitools::Selenium
299
304
  if eyes_element.is_a? Applitools::Selenium::Element
300
305
  original_overflow = eyes_element.overflow
301
306
  eyes_element.overflow = 'hidden'
307
+ eyes_element.scroll_data_attribute = true
308
+ eyes_element.overflow_data_attribute = original_overflow
302
309
  self.position_provider = Applitools::Selenium::CssTranslateElementPositionProvider.new(
303
310
  driver,
304
311
  eyes_element
@@ -524,6 +531,7 @@ module Applitools::Selenium
524
531
  if hide_scrollbars
525
532
  begin
526
533
  original_overflow = Applitools::Utils::EyesSeleniumUtils.hide_scrollbars driver
534
+ driver.find_element(:css, 'html').overflow_data_attribute = original_overflow
527
535
  rescue Applitools::EyesDriverOperationException => e
528
536
  logger.warn "Failed to hide scrollbars! Error: #{e.message}"
529
537
  end
@@ -163,6 +163,16 @@ module Applitools
163
163
  self
164
164
  end
165
165
 
166
+ def send_dom(value = true)
167
+ options[:send_dom] = value ? true : false
168
+ self
169
+ end
170
+
171
+ def use_dom(value = true)
172
+ options[:use_dom] = value ? true : false
173
+ self
174
+ end
175
+
166
176
  def finalize
167
177
  return self unless frame_or_element
168
178
  region = frame_or_element
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Applitools
4
- VERSION = '3.14.8'.freeze
4
+ VERSION = '3.14.9'.freeze
5
5
  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.14.8
4
+ version: 3.14.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Applitools Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-07 00:00:00.000000000 Z
11
+ date: 2019-03-09 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.14.8
19
+ version: 3.14.9
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.14.8
26
+ version: 3.14.9
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: selenium-webdriver
29
29
  requirement: !ruby/object:Gem::Requirement