eyes_appium 6.7.10 → 6.7.11
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 +4 -4
- data/CHANGELOG.md +27 -0
- data/eyes_appium.gemspec +5 -3
- data/lib/applitools/appium/driver.rb +2 -2
- data/lib/applitools/appium/eyes.rb +1 -95
- data/lib/applitools/appium/target.rb +0 -202
- data/lib/applitools/eyes_appium/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 05e7575830274f4c61afded05a5be681eed91bf939dc9d0c76762de35b0f1479
|
|
4
|
+
data.tar.gz: 3a7814c43952c101753e48bd3c16282223d64e3e05207cfb93ade9938e396bad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f06b038b12d62c6971d7f67f15ba2c7ef2b39f10fa7167cdaf672d4428f6701de0f0ad64311c7f059eb30e3cb38bacc472c2fb2f3cb69e8c01aad06c0633fdd6
|
|
7
|
+
data.tar.gz: '0880e51138aa382a2a9fb417ec67ee4ccdb3a396346a4b4d8dac18e3f3197ef54dcf97b6c6bccd4158d238a1f2582e94cd1de22798f8c478261b26c3f1a7b671'
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [6.7.11](https://github.com/Applitools-Dev/sdk/compare/ruby/eyes_appium@6.7.10...ruby/eyes_appium@6.7.11) (2025-12-14)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Dependencies
|
|
7
|
+
|
|
8
|
+
* @applitools/nml-client bumped to 1.11.13
|
|
9
|
+
|
|
10
|
+
* @applitools/core-base bumped to 1.31.0
|
|
11
|
+
#### Features
|
|
12
|
+
|
|
13
|
+
* Baseline branch fallback list | FLD-3837 ([#3373](https://github.com/Applitools-Dev/sdk/issues/3373)) ([e94bb10](https://github.com/Applitools-Dev/sdk/commit/e94bb10ad6b49322a56e4ce6dfde560b237e9ac0))
|
|
14
|
+
* @applitools/ec-client bumped to 1.12.15
|
|
15
|
+
|
|
16
|
+
* @applitools/core bumped to 4.54.0
|
|
17
|
+
#### Features
|
|
18
|
+
|
|
19
|
+
* Baseline branch fallback list | FLD-3837 ([#3373](https://github.com/Applitools-Dev/sdk/issues/3373)) ([e94bb10](https://github.com/Applitools-Dev/sdk/commit/e94bb10ad6b49322a56e4ce6dfde560b237e9ac0))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
* eyes_universal bumped to 4.54.0
|
|
24
|
+
|
|
25
|
+
* eyes_core bumped to 6.9.11
|
|
26
|
+
|
|
27
|
+
* eyes_selenium bumped to 6.12.11
|
|
28
|
+
|
|
29
|
+
|
|
3
30
|
## [6.7.10](https://github.com/Applitools-Dev/sdk/compare/ruby/eyes_appium@6.7.9...ruby/eyes_appium@6.7.10) (2025-12-07)
|
|
4
31
|
|
|
5
32
|
|
data/eyes_appium.gemspec
CHANGED
|
@@ -27,8 +27,10 @@ Gem::Specification.new do |spec|
|
|
|
27
27
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
28
28
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
29
29
|
spec.require_paths = %w(lib)
|
|
30
|
-
spec.add_dependency 'eyes_selenium', "= 6.12.
|
|
30
|
+
spec.add_dependency 'eyes_selenium', "= 6.12.11"
|
|
31
31
|
spec.add_dependency 'appium_lib', '>= 10.6.0'
|
|
32
|
-
#
|
|
33
|
-
|
|
32
|
+
# Align with eyes_selenium constraint. Previously had version limit < 4.30 due to
|
|
33
|
+
# appium_lib compatibility issue (github.com/appium/ruby_lib_core/issues/602)
|
|
34
|
+
# which has since been resolved.
|
|
35
|
+
spec.add_dependency 'selenium-webdriver', '>= 3', '< 5'
|
|
34
36
|
end
|
|
@@ -107,69 +107,7 @@ class Applitools::Appium::Eyes < Applitools::Selenium::SeleniumEyes
|
|
|
107
107
|
|
|
108
108
|
# target.fully(false) if target.options[:stitch_content].nil?
|
|
109
109
|
|
|
110
|
-
|
|
111
|
-
return check_native(name, target) if native_app?
|
|
112
|
-
super
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
attr_accessor :eyes_element_to_check, :region_provider
|
|
116
|
-
private :eyes_element_to_check, :eyes_element_to_check=, :region_provider, :region_provider=
|
|
117
|
-
|
|
118
|
-
def check_native(name, target)
|
|
119
|
-
logger.info "check_native(#{name}) is called"
|
|
120
|
-
update_scaling_params
|
|
121
|
-
target_to_check = target.finalize
|
|
122
|
-
match_data = Applitools::MatchWindowData.new(default_match_settings)
|
|
123
|
-
match_data.tag = name
|
|
124
|
-
timeout = target_to_check.options[:timeout] || USE_DEFAULT_MATCH_TIMEOUT
|
|
125
|
-
|
|
126
|
-
eyes_element = target_to_check.region_to_check.call(driver)
|
|
127
|
-
self.eyes_element_to_check = eyes_element
|
|
128
|
-
region_provider = region_provider_class.new(driver, eyes_element)
|
|
129
|
-
match_data.read_target(target_to_check, driver)
|
|
130
|
-
|
|
131
|
-
check_window_base(
|
|
132
|
-
region_provider, timeout, match_data
|
|
133
|
-
)
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
def native_app?
|
|
137
|
-
return true if driver.current_context == 'NATIVE_APP'
|
|
138
|
-
false
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
def capture_screenshot
|
|
142
|
-
logger.info 'Getting screenshot (capture_screenshot() has been invoked)'
|
|
143
|
-
case eyes_element_to_check
|
|
144
|
-
when Applitools::Region
|
|
145
|
-
viewport_screenshot
|
|
146
|
-
when Selenium::WebDriver::Element, Applitools::Selenium::Element
|
|
147
|
-
element_screenshot
|
|
148
|
-
end
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
def get_app_output_with_screenshot(*args)
|
|
152
|
-
result = super do |screenshot|
|
|
153
|
-
if scale_provider
|
|
154
|
-
scaled_image = scale_provider.scale_image(screenshot.image)
|
|
155
|
-
self.screenshot = screenshot_class.new(
|
|
156
|
-
Applitools::Screenshot.from_image(
|
|
157
|
-
case scaled_image
|
|
158
|
-
# when ChunkyPNG::Image
|
|
159
|
-
# scaled_image
|
|
160
|
-
when Applitools::Screenshot::Datastream
|
|
161
|
-
scaled_image.image
|
|
162
|
-
else
|
|
163
|
-
raise Applitools::EyesError.new('Unknown image format after scale!')
|
|
164
|
-
end
|
|
165
|
-
),
|
|
166
|
-
status_bar_height: self.utils.status_bar_height(driver),
|
|
167
|
-
device_pixel_ratio: self.utils.device_pixel_ratio(driver)
|
|
168
|
-
)
|
|
169
|
-
end
|
|
170
|
-
end
|
|
171
|
-
self.screenshot_url = nil
|
|
172
|
-
result
|
|
110
|
+
universal_check(name, target)
|
|
173
111
|
end
|
|
174
112
|
|
|
175
113
|
def dom_data
|
|
@@ -220,36 +158,4 @@ class Applitools::Appium::Eyes < Applitools::Selenium::SeleniumEyes
|
|
|
220
158
|
self.screenshot_mode = !value ? 'applitools-lib' : 'default'
|
|
221
159
|
self
|
|
222
160
|
end
|
|
223
|
-
|
|
224
|
-
private
|
|
225
|
-
|
|
226
|
-
def viewport_screenshot
|
|
227
|
-
logger.info 'Viewport screenshot requested...'
|
|
228
|
-
obtain_viewport_screenshot
|
|
229
|
-
end
|
|
230
|
-
|
|
231
|
-
def element_screenshot
|
|
232
|
-
logger.info 'Element screenshot requested...'
|
|
233
|
-
obtain_viewport_screenshot
|
|
234
|
-
end
|
|
235
|
-
|
|
236
|
-
def obtain_viewport_screenshot
|
|
237
|
-
self.screenshot = screenshot_class.new(
|
|
238
|
-
Applitools::Screenshot.from_datastream(driver.screenshot_as(:png)),
|
|
239
|
-
status_bar_height: self.utils.status_bar_height(driver),
|
|
240
|
-
device_pixel_ratio: self.utils.device_pixel_ratio(driver)
|
|
241
|
-
)
|
|
242
|
-
end
|
|
243
|
-
|
|
244
|
-
def screenshot_class
|
|
245
|
-
return Applitools::Appium::IosScreenshot if self.utils.ios?(Applitools::Appium::Driver::AppiumLib)
|
|
246
|
-
return Applitools::Appium::AndroidScreenshot if self.utils.android?(Applitools::Appium::Driver::AppiumLib)
|
|
247
|
-
raise Applitools::EyesError, 'Unknown device type'
|
|
248
|
-
end
|
|
249
|
-
|
|
250
|
-
def region_provider_class
|
|
251
|
-
return Applitools::Appium::IosRegionProvider if self.utils.ios?(Applitools::Appium::Driver::AppiumLib)
|
|
252
|
-
return Applitools::Appium::AndroidRegionProvider if self.utils.android?(Applitools::Appium::Driver::AppiumLib)
|
|
253
|
-
raise Applitools::EyesError, 'Unknown device type'
|
|
254
|
-
end
|
|
255
161
|
end
|
|
@@ -33,208 +33,6 @@ module Applitools
|
|
|
33
33
|
# options[:stitch_content] = false if options[:stitch_content].nil?
|
|
34
34
|
self
|
|
35
35
|
end
|
|
36
|
-
|
|
37
|
-
# class Target
|
|
38
|
-
# include Applitools::FluentInterface
|
|
39
|
-
# attr_accessor :region_to_check, :options, :ignored_regions, :floating_regions, :layout_regions, :content_regions, :strict_regions, :accessibility_regions
|
|
40
|
-
#
|
|
41
|
-
# class << self
|
|
42
|
-
# def window
|
|
43
|
-
# new
|
|
44
|
-
# end
|
|
45
|
-
#
|
|
46
|
-
# def region(*args)
|
|
47
|
-
# new.region(*args)
|
|
48
|
-
# end
|
|
49
|
-
# end
|
|
50
|
-
#
|
|
51
|
-
# def initialize
|
|
52
|
-
# self.region_to_check = proc { Applitools::Region::EMPTY }
|
|
53
|
-
# self.ignored_regions = []
|
|
54
|
-
# self.floating_regions = []
|
|
55
|
-
# self.layout_regions = []
|
|
56
|
-
# self.content_regions = []
|
|
57
|
-
# self.strict_regions = []
|
|
58
|
-
# self.accessibility_regions = []
|
|
59
|
-
# self.options = {}
|
|
60
|
-
# end
|
|
61
|
-
#
|
|
62
|
-
# def region(*args)
|
|
63
|
-
# self.region_to_check = case args.first
|
|
64
|
-
# when ::Selenium::WebDriver::Element
|
|
65
|
-
# proc { args.first }
|
|
66
|
-
# else
|
|
67
|
-
# proc do |driver|
|
|
68
|
-
# driver.find_element(*args)
|
|
69
|
-
# end
|
|
70
|
-
# end
|
|
71
|
-
# self
|
|
72
|
-
# end
|
|
73
|
-
#
|
|
74
|
-
# def ignore(*args)
|
|
75
|
-
# requested_padding = if args.last.is_a? Applitools::PaddingBounds
|
|
76
|
-
# args.pop
|
|
77
|
-
# else
|
|
78
|
-
# Applitools::PaddingBounds::ZERO_PADDING
|
|
79
|
-
# end
|
|
80
|
-
# ignored_regions << case (first_argument = args.first)
|
|
81
|
-
# when ::Selenium::WebDriver::Element
|
|
82
|
-
# proc do
|
|
83
|
-
# Applitools::Region
|
|
84
|
-
# .from_location_size(first_argument.location, first_argument.size)
|
|
85
|
-
# .padding(requested_padding)
|
|
86
|
-
# end
|
|
87
|
-
# when Applitools::Region
|
|
88
|
-
# result = first_argument.padding(requested_padding)
|
|
89
|
-
# if Applitools::Appium::Utils.ios?(Applitools::Appium::Driver::AppiumLib)
|
|
90
|
-
# def result.converted?
|
|
91
|
-
# true
|
|
92
|
-
# end
|
|
93
|
-
# end
|
|
94
|
-
# result
|
|
95
|
-
# else
|
|
96
|
-
# proc do |driver|
|
|
97
|
-
# element = driver.find_element(*args)
|
|
98
|
-
# Applitools::Region
|
|
99
|
-
# .from_location_size(element.location, element.size)
|
|
100
|
-
# .padding(requested_padding)
|
|
101
|
-
# end
|
|
102
|
-
# end
|
|
103
|
-
# self
|
|
104
|
-
# end
|
|
105
|
-
#
|
|
106
|
-
# def floating(*args)
|
|
107
|
-
# value = case args.first
|
|
108
|
-
# when Applitools::FloatingRegion
|
|
109
|
-
# args.first
|
|
110
|
-
# when Applitools::Region
|
|
111
|
-
# result = Applitools::FloatingRegion.any(*args)
|
|
112
|
-
# if Applitools::Appium::Utils.ios?(Applitools::Appium::Driver::AppiumLib)
|
|
113
|
-
# def result.converted?
|
|
114
|
-
# true
|
|
115
|
-
# end
|
|
116
|
-
# end
|
|
117
|
-
# result
|
|
118
|
-
# when ::Selenium::WebDriver::Element
|
|
119
|
-
# args_dup = args.dup
|
|
120
|
-
# Applitools::FloatingRegion.any(*args_dup)
|
|
121
|
-
# else
|
|
122
|
-
# proc do |driver|
|
|
123
|
-
# args_dup = args.dup
|
|
124
|
-
# region = driver.find_element(args_dup.shift, args_dup.shift)
|
|
125
|
-
# Applitools::FloatingRegion.any(
|
|
126
|
-
# region, *args_dup
|
|
127
|
-
# )
|
|
128
|
-
# end
|
|
129
|
-
# end
|
|
130
|
-
# floating_regions << value
|
|
131
|
-
# self
|
|
132
|
-
# end
|
|
133
|
-
#
|
|
134
|
-
# def layout
|
|
135
|
-
# return match_level(Applitools::MatchLevel::LAYOUT) if args.empty?
|
|
136
|
-
# region = process_region(*args)
|
|
137
|
-
# layout_regions << region
|
|
138
|
-
# self
|
|
139
|
-
#
|
|
140
|
-
# end
|
|
141
|
-
#
|
|
142
|
-
# def content(*args)
|
|
143
|
-
# return match_level(Applitools::MatchLevel::CONTENT) if args.empty?
|
|
144
|
-
# region = process_region(*args)
|
|
145
|
-
# content_regions << region
|
|
146
|
-
# self
|
|
147
|
-
# end
|
|
148
|
-
#
|
|
149
|
-
# def strict(*args)
|
|
150
|
-
# return match_level(Applitools::MatchLevel::STRICT) if args.empty?
|
|
151
|
-
# region = process_region(*args)
|
|
152
|
-
# strict_regions << region
|
|
153
|
-
# self
|
|
154
|
-
# end
|
|
155
|
-
#
|
|
156
|
-
# def exact(*args)
|
|
157
|
-
# match_level(Applitools::MatchLevel::EXACT, *args)
|
|
158
|
-
# end
|
|
159
|
-
#
|
|
160
|
-
# def accessibility(*args)
|
|
161
|
-
# options = Applitools::Utils.extract_options! args
|
|
162
|
-
# unless options[:type]
|
|
163
|
-
# raise Applitools::EyesError,
|
|
164
|
-
# 'You should call Target.accessibility(region, type: type). The region_type option is required'
|
|
165
|
-
# end
|
|
166
|
-
# unless Applitools::AccessibilityRegionType.enum_values.include?(options[:type])
|
|
167
|
-
# raise Applitools::EyesIllegalArgument,
|
|
168
|
-
# "The region type should be one of [#{Applitools::AccessibilityRegionType.enum_values.join(', ')}]"
|
|
169
|
-
# end
|
|
170
|
-
#
|
|
171
|
-
# accessibility_regions << case args.first
|
|
172
|
-
# when ::Selenium::WebDriver::Element
|
|
173
|
-
# element = args.first
|
|
174
|
-
# Applitools::AccessibilityRegion.new(
|
|
175
|
-
# element,
|
|
176
|
-
# options[:type]
|
|
177
|
-
# )
|
|
178
|
-
# when Applitools::Region
|
|
179
|
-
# result = Applitools::AccessibilityRegion.new(
|
|
180
|
-
# args.first, options[:type]
|
|
181
|
-
# )
|
|
182
|
-
# if Applitools::Appium::Utils.ios?(Applitools::Appium::Driver::AppiumLib)
|
|
183
|
-
# def result.converted?
|
|
184
|
-
# true
|
|
185
|
-
# end
|
|
186
|
-
# end
|
|
187
|
-
# result
|
|
188
|
-
# when String
|
|
189
|
-
# proc do |driver|
|
|
190
|
-
# element = driver.find_element(name_or_id: args.first)
|
|
191
|
-
# Applitools::AccessibilityRegion.new(
|
|
192
|
-
# element,
|
|
193
|
-
# options[:type]
|
|
194
|
-
# )
|
|
195
|
-
# end
|
|
196
|
-
# else
|
|
197
|
-
# proc do |driver|
|
|
198
|
-
# elements = driver.find_elements(*args)
|
|
199
|
-
# elements.map do |e|
|
|
200
|
-
# Applitools::AccessibilityRegion.new(
|
|
201
|
-
# e,
|
|
202
|
-
# options[:type]
|
|
203
|
-
# )
|
|
204
|
-
# end
|
|
205
|
-
# end
|
|
206
|
-
# end
|
|
207
|
-
# self
|
|
208
|
-
# end
|
|
209
|
-
#
|
|
210
|
-
# def finalize
|
|
211
|
-
# self
|
|
212
|
-
# end
|
|
213
|
-
#
|
|
214
|
-
# private
|
|
215
|
-
#
|
|
216
|
-
# def process_region(*args)
|
|
217
|
-
# r = args.first
|
|
218
|
-
# case r
|
|
219
|
-
# when ::Selenium::WebDriver::Element
|
|
220
|
-
# proc do |driver|
|
|
221
|
-
# Applitools::Region.from_location_size(r.location, r.size)
|
|
222
|
-
# end
|
|
223
|
-
# when Applitools::Region
|
|
224
|
-
# if Applitools::Appium::Utils.ios?(Applitools::Appium::Driver::AppiumLib)
|
|
225
|
-
# def r.converted?
|
|
226
|
-
# true
|
|
227
|
-
# end
|
|
228
|
-
# end
|
|
229
|
-
# r
|
|
230
|
-
# else
|
|
231
|
-
# proc do |driver|
|
|
232
|
-
# element = driver.find_element(*args)
|
|
233
|
-
# Applitools::Region.from_location_size(element.location, element.size)
|
|
234
|
-
# end
|
|
235
|
-
# end
|
|
236
|
-
# end
|
|
237
|
-
#
|
|
238
36
|
end
|
|
239
37
|
end
|
|
240
38
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: eyes_appium
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 6.7.
|
|
4
|
+
version: 6.7.11
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Applitools Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-12-
|
|
11
|
+
date: 2025-12-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: eyes_selenium
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - '='
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 6.12.
|
|
19
|
+
version: 6.12.11
|
|
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: 6.12.
|
|
26
|
+
version: 6.12.11
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: appium_lib
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -47,7 +47,7 @@ dependencies:
|
|
|
47
47
|
version: '3'
|
|
48
48
|
- - "<"
|
|
49
49
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: '
|
|
50
|
+
version: '5'
|
|
51
51
|
type: :runtime
|
|
52
52
|
prerelease: false
|
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -57,7 +57,7 @@ dependencies:
|
|
|
57
57
|
version: '3'
|
|
58
58
|
- - "<"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '
|
|
60
|
+
version: '5'
|
|
61
61
|
description: Appium support for Applitools Ruby SDK
|
|
62
62
|
email:
|
|
63
63
|
- team@applitools.com
|