eyes_selenium 3.5.4 → 3.6.4
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 30fb1a9d398f42edc43b8f3b6d32a39f844b4941
|
4
|
+
data.tar.gz: c112d73ecafabae62c6f06338104c53d1af1c2b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a3f134e50c08325fcace7d6dbb728247e051086f15ffe37079c2a8cc7b6dca278ba229b985e2d255524e1b8cb384882d1e88ce1c6828b121bdc1a422712115a
|
7
|
+
data.tar.gz: 0f0e2f9ecaf9f0ff912a32f28ce2240373fdeb953f7bbd4af46c2395321575ce74e25efee7dc879b35132583408cbe292428fd77a792afb7393561073ca73118
|
@@ -6,10 +6,12 @@ module Applitools::Selenium
|
|
6
6
|
|
7
7
|
attr_accessor :last_state_position
|
8
8
|
|
9
|
-
def initialize(executor, disable_horizontal = false, disable_vertical = false)
|
9
|
+
def initialize(executor, disable_horizontal = false, disable_vertical = false, max_width: nil, max_height: nil)
|
10
10
|
self.executor = executor
|
11
11
|
self.disable_horizontal = disable_horizontal
|
12
12
|
self.disable_vertical = disable_vertical
|
13
|
+
self.max_width = max_width
|
14
|
+
self.max_height = max_height
|
13
15
|
end
|
14
16
|
|
15
17
|
def current_position
|
@@ -48,16 +50,19 @@ module Applitools::Selenium
|
|
48
50
|
|
49
51
|
def entire_size
|
50
52
|
viewport_size = Applitools::Utils::EyesSeleniumUtils.extract_viewport_size(executor)
|
51
|
-
|
52
|
-
logger.info "Entire size: #{
|
53
|
-
|
54
|
-
|
55
|
-
|
53
|
+
result = Applitools::Utils::EyesSeleniumUtils.current_frame_content_entire_size(executor)
|
54
|
+
logger.info "Entire size: #{result}"
|
55
|
+
result.width = viewport_size.width if disable_horizontal
|
56
|
+
result.height = viewport_size.height if disable_vertical
|
57
|
+
result.width = max_width unless max_width.nil?
|
58
|
+
result.height = max_height unless max_height.nil?
|
59
|
+
logger.info "Actual size to scroll: #{result}"
|
60
|
+
result
|
56
61
|
end
|
57
62
|
|
58
63
|
private
|
59
64
|
|
60
|
-
attr_accessor :executor, :disable_horizontal, :disable_vertical
|
65
|
+
attr_accessor :executor, :disable_horizontal, :disable_vertical, :max_width, :max_height
|
61
66
|
|
62
67
|
def get_position_from_transform(transform)
|
63
68
|
regexp = /^translate\(\s*(\-?)(\d+)px,\s*(\-?)(\d+)px\s*\)/
|
@@ -71,10 +71,13 @@ module Applitools::Selenium
|
|
71
71
|
# When :CSS - SDK will use CSS transitions to perform scrolling, otherwise it will use Javascript
|
72
72
|
# window.scroll_to() function for scrolling purposes
|
73
73
|
# @return [boolean] stitch_mode (:CSS or :SCROLL)
|
74
|
+
# @!attribute [Applitools::RectangleSize] explicit_entire_size
|
75
|
+
# May be set to an Applitools::RectangleSize instance or +nil+ (default).
|
76
|
+
# @return [Applitools::RectangleSize] explicit_entire_size
|
74
77
|
|
75
78
|
attr_accessor :base_agent_id, :screenshot, :force_full_page_screenshot, :hide_scrollbars,
|
76
79
|
:wait_before_screenshots, :debug_screenshot, :stitch_mode, :disable_horizontal_scrolling,
|
77
|
-
:disable_vertical_scrolling
|
80
|
+
:disable_vertical_scrolling, :explicit_entire_size
|
78
81
|
attr_reader :driver
|
79
82
|
|
80
83
|
def_delegators 'Applitools::EyesLogger', :logger, :log_handler, :log_handler=
|
@@ -97,6 +100,7 @@ module Applitools::Selenium
|
|
97
100
|
self.debug_screenshot = false
|
98
101
|
self.disable_horizontal_scrolling = false
|
99
102
|
self.disable_vertical_scrolling = false
|
103
|
+
self.explicit_entire_size = nil
|
100
104
|
end
|
101
105
|
|
102
106
|
# Starts a test
|
@@ -140,7 +144,7 @@ module Applitools::Selenium
|
|
140
144
|
self.device_pixel_ratio = UNKNOWN_DEVICE_PIXEL_RATIO
|
141
145
|
|
142
146
|
self.position_provider = self.class.position_provider(
|
143
|
-
stitch_mode, driver, disable_horizontal_scrolling, disable_vertical_scrolling
|
147
|
+
stitch_mode, driver, disable_horizontal_scrolling, disable_vertical_scrolling, explicit_entire_size
|
144
148
|
)
|
145
149
|
|
146
150
|
self.eyes_screenshot_factory = lambda do |image|
|
@@ -157,7 +161,7 @@ module Applitools::Selenium
|
|
157
161
|
@stitch_mode = value.to_s.upcase == STICH_MODE[:css].to_s ? STICH_MODE[:css] : STICH_MODE[:scroll]
|
158
162
|
unless driver.nil?
|
159
163
|
self.position_provider = self.class.position_provider(
|
160
|
-
stitch_mode, driver, disable_horizontal_scrolling, disable_vertical_scrolling
|
164
|
+
stitch_mode, driver, disable_horizontal_scrolling, disable_vertical_scrolling, explicit_entire_size
|
161
165
|
)
|
162
166
|
end
|
163
167
|
if stitch_mode == STICH_MODE[:css]
|
@@ -199,7 +203,13 @@ module Applitools::Selenium
|
|
199
203
|
)
|
200
204
|
end
|
201
205
|
|
202
|
-
|
206
|
+
match_data = Applitools::MatchWindowData.new.tap do |d|
|
207
|
+
d.tag = tag
|
208
|
+
d.ignore_mismatch = false
|
209
|
+
d.match_level = default_match_settings[:match_level]
|
210
|
+
end
|
211
|
+
|
212
|
+
check_window_base region_provider, match_timeout, match_data
|
203
213
|
end
|
204
214
|
|
205
215
|
# @!visibility private
|
@@ -232,6 +242,10 @@ module Applitools::Selenium
|
|
232
242
|
|
233
243
|
check_in_frame target_frames: target.frames do
|
234
244
|
begin
|
245
|
+
match_data = Applitools::MatchWindowData.new
|
246
|
+
match_data.tag = name
|
247
|
+
match_data.match_level = default_match_settings[:match_level]
|
248
|
+
match_data.read_target(target, driver)
|
235
249
|
eyes_element = target.region_to_check.call(driver)
|
236
250
|
region_visibility_strategy.move_to_region original_position_provider,
|
237
251
|
Applitools::Location.new(eyes_element.location.x.to_i, eyes_element.location.y.to_i)
|
@@ -274,11 +288,7 @@ module Applitools::Selenium
|
|
274
288
|
end
|
275
289
|
|
276
290
|
check_window_base(
|
277
|
-
region_provider,
|
278
|
-
ignore: target.ignored_regions.map { |i| i.call(driver) },
|
279
|
-
trim: target.options[:trim],
|
280
|
-
match_level: default_match_settings[:match_level],
|
281
|
-
exact: default_match_settings[:exact]
|
291
|
+
region_provider, target.options[:timeout] || USE_DEFAULT_MATCH_TIMEOUT, match_data
|
282
292
|
)
|
283
293
|
ensure
|
284
294
|
eyes_element.overflow = original_overflow unless original_overflow.nil?
|
@@ -865,7 +875,13 @@ module Applitools::Selenium
|
|
865
875
|
)
|
866
876
|
end
|
867
877
|
|
868
|
-
|
878
|
+
match_data = Applitools::MatchWindowData.new.tap do |d|
|
879
|
+
d.tag = tag
|
880
|
+
d.ignore_mismatch = false
|
881
|
+
d.match_level = default_match_settings[:match_level]
|
882
|
+
end
|
883
|
+
|
884
|
+
check_window_base region_provider, match_timeout, match_data
|
869
885
|
end
|
870
886
|
|
871
887
|
def app_environment
|
@@ -947,8 +963,14 @@ module Applitools::Selenium
|
|
947
963
|
Applitools::Selenium::EyesWebDriverScreenshot.new(image, driver: driver)
|
948
964
|
end
|
949
965
|
|
966
|
+
match_data = Applitools::MatchWindowData.new.tap do |d|
|
967
|
+
d.tag = tag
|
968
|
+
d.ignore_mismatch = false
|
969
|
+
d.match_level = default_match_settings[:match_level]
|
970
|
+
end
|
971
|
+
|
950
972
|
result = check_window_base(
|
951
|
-
region_provider,
|
973
|
+
region_provider, match_timeout, match_data
|
952
974
|
)
|
953
975
|
|
954
976
|
logger.info 'Done! trying to scroll back to original position...'
|
@@ -1044,8 +1066,14 @@ module Applitools::Selenium
|
|
1044
1066
|
)
|
1045
1067
|
end
|
1046
1068
|
|
1069
|
+
match_data = Applitools::MatchWindowData.new.tap do |d|
|
1070
|
+
d.tag = tag
|
1071
|
+
d.ignore_mismatch = false
|
1072
|
+
d.match_level = default_match_settings[:match_level]
|
1073
|
+
end
|
1074
|
+
|
1047
1075
|
check_window_base(
|
1048
|
-
base_check_region_provider,
|
1076
|
+
base_check_region_provider, match_timeout, match_data
|
1049
1077
|
)
|
1050
1078
|
ensure
|
1051
1079
|
eyes_element.overflow = original_overflow unless original_overflow.nil?
|
@@ -1083,12 +1111,19 @@ module Applitools::Selenium
|
|
1083
1111
|
end
|
1084
1112
|
|
1085
1113
|
class << self
|
1086
|
-
def position_provider(stitch_mode, driver, disable_horizontal
|
1114
|
+
def position_provider(stitch_mode, driver, disable_horizontal=false, disable_vertical=false, explicit_entire_size=nil)
|
1115
|
+
max_width, max_height = nil, nil
|
1116
|
+
unless explicit_entire_size.nil?
|
1117
|
+
max_width = explicit_entire_size.width
|
1118
|
+
max_height = explicit_entire_size.height
|
1119
|
+
end
|
1087
1120
|
case stitch_mode
|
1088
1121
|
when :SCROLL
|
1089
|
-
Applitools::Selenium::ScrollPositionProvider.new(driver, disable_horizontal, disable_vertical
|
1122
|
+
Applitools::Selenium::ScrollPositionProvider.new(driver, disable_horizontal, disable_vertical,
|
1123
|
+
max_width: max_width, max_height: max_height)
|
1090
1124
|
when :CSS
|
1091
|
-
Applitools::Selenium::CssTranslatePositionProvider.new(driver, disable_horizontal, disable_vertical
|
1125
|
+
Applitools::Selenium::CssTranslatePositionProvider.new(driver, disable_horizontal, disable_vertical,
|
1126
|
+
max_width: max_width, max_height: max_height)
|
1092
1127
|
end
|
1093
1128
|
end
|
1094
1129
|
end
|
@@ -5,10 +5,12 @@ module Applitools::Selenium
|
|
5
5
|
|
6
6
|
def_delegators 'Applitools::EyesLogger', :logger, :log_handler, :log_handler=
|
7
7
|
|
8
|
-
def initialize(executor, disable_horizontal = false, disable_vertical = false)
|
8
|
+
def initialize(executor, disable_horizontal = false, disable_vertical = false, max_width: nil, max_height: nil)
|
9
9
|
self.executor = executor
|
10
10
|
self.disable_horizontal = disable_horizontal
|
11
11
|
self.disable_vertical = disable_vertical
|
12
|
+
self.max_width = max_width
|
13
|
+
self.max_height = max_height
|
12
14
|
end
|
13
15
|
|
14
16
|
# The scroll position of the current frame
|
@@ -43,6 +45,9 @@ module Applitools::Selenium
|
|
43
45
|
logger.info "Entire size: #{result}"
|
44
46
|
result.width = viewport_size.width if disable_horizontal
|
45
47
|
result.height = viewport_size.height if disable_vertical
|
48
|
+
result.width = max_width unless max_width.nil?
|
49
|
+
result.height = max_height unless max_height.nil?
|
50
|
+
logger.info "Actual size to scroll: #{result}"
|
46
51
|
result
|
47
52
|
end
|
48
53
|
|
@@ -52,6 +57,6 @@ module Applitools::Selenium
|
|
52
57
|
|
53
58
|
private
|
54
59
|
|
55
|
-
attr_accessor :executor, :disable_horizontal, :disable_vertical
|
60
|
+
attr_accessor :executor, :disable_horizontal, :disable_vertical, :max_width, :max_height
|
56
61
|
end
|
57
62
|
end
|
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.
|
4
|
+
version: 3.6.4
|
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-05-
|
11
|
+
date: 2017-05-06 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.
|
19
|
+
version: 3.6.4
|
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.
|
26
|
+
version: 3.6.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: selenium-webdriver
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|