eyes_selenium 3.15.24 → 3.15.25
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88093a081f4f6f894ff270f5fd485d58a5ee72a5db793b3e81611ee7e374ab4b
|
4
|
+
data.tar.gz: 775674e679494be0b7ff1b69f0cce61a30e3ee22926bec75550a070a7a6ee276
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0010be372dcb9524baa55868a0a8b2a5804b9474586b79a2ac8070daab34397884327b82470cf88bb57814983ce4fb3a027f85815309589566be966eb99fec94
|
7
|
+
data.tar.gz: a147aa412ffdb8309e0616536797206b587c2f7dace5c52b70628b7be199d81e26584c711266191741bb7269c61b75568f2f30b963beea545da60c06c5b6144d
|
@@ -4,6 +4,7 @@ module Applitools
|
|
4
4
|
module Selenium
|
5
5
|
class Target
|
6
6
|
include Applitools::FluentInterface
|
7
|
+
include Applitools::MatchLevelSetter
|
7
8
|
class << self
|
8
9
|
def frame(element)
|
9
10
|
new.frame(element)
|
@@ -56,7 +57,18 @@ module Applitools
|
|
56
57
|
ignored_regions << case args.first
|
57
58
|
when Applitools::Region
|
58
59
|
proc { args.first.padding(requested_padding) }
|
59
|
-
when
|
60
|
+
when ::Selenium::WebDriver::Element
|
61
|
+
proc do |driver, return_element = false|
|
62
|
+
region = applitools_element_from_selenium_element(driver, args.first)
|
63
|
+
padding_proc = proc do |region|
|
64
|
+
Applitools::Region.from_location_size(
|
65
|
+
region.location, region.size
|
66
|
+
).padding(requested_padding)
|
67
|
+
end
|
68
|
+
next region, padding_proc if return_element
|
69
|
+
padding_proc.call(region)
|
70
|
+
end
|
71
|
+
when Applitools::Selenium::Element
|
60
72
|
proc do |_driver, return_element = false|
|
61
73
|
region = args.first
|
62
74
|
padding_proc = proc do |region|
|
@@ -118,7 +130,17 @@ module Applitools
|
|
118
130
|
args.first.padding(requested_padding)
|
119
131
|
when ::Applitools::Region
|
120
132
|
Applitools::FloatingRegion.any(args.shift, *args).padding(requested_padding)
|
121
|
-
when ::Selenium::WebDriver::Element
|
133
|
+
when ::Selenium::WebDriver::Element
|
134
|
+
proc do |driver, return_element = false|
|
135
|
+
args_dup = args.dup
|
136
|
+
region = applitools_element_from_selenium_element(driver, args_dup.shift)
|
137
|
+
padding_proc = proc do |region|
|
138
|
+
Applitools::FloatingRegion.any(region, *args_dup).padding(requested_padding)
|
139
|
+
end
|
140
|
+
next region, padding_proc if return_element
|
141
|
+
padding_proc.call(region)
|
142
|
+
end
|
143
|
+
when ::Applitools::Selenium::Element
|
122
144
|
proc do |_driver, return_element = false|
|
123
145
|
args_dup = args.dup
|
124
146
|
region = args_dup.shift
|
@@ -167,17 +189,17 @@ module Applitools
|
|
167
189
|
end
|
168
190
|
|
169
191
|
def exact(*args)
|
170
|
-
|
171
|
-
raise Applitools::EyesError('Target.exact() is supposed to be called without args!')
|
172
|
-
# region = process_region(args)
|
173
|
-
# exact_regions << region
|
174
|
-
# self
|
192
|
+
match_level(Applitools::MatchLevel::EXACT, *args)
|
175
193
|
end
|
176
194
|
|
177
195
|
def process_region(*args)
|
178
196
|
r = args.first
|
179
197
|
case r
|
180
|
-
when
|
198
|
+
when ::Selenium::WebDriver::Element
|
199
|
+
proc do |driver|
|
200
|
+
applitools_element_from_selenium_element(driver, args.dup.first)
|
201
|
+
end
|
202
|
+
when Applitools::Region, Applitools::Selenium::Element
|
181
203
|
proc { r }
|
182
204
|
else
|
183
205
|
proc do |driver|
|
@@ -188,7 +210,9 @@ module Applitools
|
|
188
210
|
end
|
189
211
|
|
190
212
|
def match_level(*args)
|
191
|
-
|
213
|
+
match_level = args.shift
|
214
|
+
exact_options = args.shift || {}
|
215
|
+
(options[:match_level], options[:exact]) = match_level_with_exact(match_level, exact_options)
|
192
216
|
self
|
193
217
|
end
|
194
218
|
|
@@ -219,7 +243,11 @@ module Applitools
|
|
219
243
|
def region(*args)
|
220
244
|
handle_frames
|
221
245
|
self.region_to_check = case args.first
|
222
|
-
when
|
246
|
+
when ::Selenium::WebDriver::Element
|
247
|
+
proc do |driver|
|
248
|
+
applitools_element_from_selenium_element(driver, args.first)
|
249
|
+
end
|
250
|
+
when Applitools::Selenium::Element, Applitools::Region
|
223
251
|
proc { args.first }
|
224
252
|
when String
|
225
253
|
proc do |driver|
|
@@ -299,6 +327,11 @@ module Applitools
|
|
299
327
|
frames << frame_or_element
|
300
328
|
self.frame_or_element = nil
|
301
329
|
end
|
330
|
+
|
331
|
+
def applitools_element_from_selenium_element(driver, selenium_element)
|
332
|
+
xpath = driver.execute_script(Applitools::Selenium::Scripts::GET_ELEMENT_XPATH_JS, selenium_element)
|
333
|
+
driver.find_element(:xpath, xpath)
|
334
|
+
end
|
302
335
|
end
|
303
336
|
end
|
304
337
|
end
|
@@ -80,9 +80,6 @@ module Applitools
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def check(tag, target)
|
83
|
-
script = <<-END
|
84
|
-
var callback = arguments[arguments.length - 1]; return (#{Applitools::Selenium::Scripts::PROCESS_RESOURCES})().then(JSON.stringify).then(callback, function(err) {callback(err.stack || err.toString())});
|
85
|
-
END
|
86
83
|
script = <<-END
|
87
84
|
#{Applitools::Selenium::Scripts::PROCESS_PAGE_AND_POLL} return __processPageAndPoll();
|
88
85
|
END
|
@@ -121,16 +118,6 @@ module Applitools
|
|
121
118
|
end
|
122
119
|
|
123
120
|
def get_regions_x_paths(target)
|
124
|
-
# regions_hash = collect_selenium_regions(target).each do |k,v|
|
125
|
-
# v.map! do |el|
|
126
|
-
# if [::Selenium::WebDriver::Element, Applitools::Selenium::Element].include?(el.class)
|
127
|
-
# xpath = driver.execute_script(Applitools::Selenium::Scripts::GET_ELEMENT_XPATH_JS, el)
|
128
|
-
# web_element_region = Applitools::Selenium::WebElementRegion.new(xpath, k)
|
129
|
-
# self.region_to_check = web_element_region if k ==:target && size_mod == 'selector'
|
130
|
-
# web_element_region
|
131
|
-
# end
|
132
|
-
# end.compact!
|
133
|
-
# end
|
134
121
|
result = []
|
135
122
|
collect_selenium_regions(target).each do |el, v|
|
136
123
|
if [::Selenium::WebDriver::Element, Applitools::Selenium::Element].include?(el.class)
|
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.15.
|
4
|
+
version: 3.15.25
|
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-06-
|
11
|
+
date: 2019-06-24 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.15.
|
19
|
+
version: 3.15.25
|
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.15.
|
26
|
+
version: 3.15.25
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: selenium-webdriver
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|