eyes_selenium 3.15.24 → 3.15.25
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:
|
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
|