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 +4 -4
- data/lib/applitools/selenium/element.rb +10 -0
- data/lib/applitools/selenium/eyes.rb +11 -3
- data/lib/applitools/selenium/target.rb +10 -0
- data/lib/applitools/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d500101344559727659a517156d95e4653706a4de211db4d509d986aae06fde7
|
4
|
+
data.tar.gz: bd91da99dccd21c1519a9ce18bf00bc5761d90992e11aaefe539d16b144038d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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, :
|
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.
|
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[:
|
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
|
data/lib/applitools/version.rb
CHANGED
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.
|
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-
|
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.
|
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.
|
26
|
+
version: 3.14.9
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: selenium-webdriver
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|