eyes_selenium 5.0.0 → 6.0.0

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: 8441f0a1de233ae7ad4354b2eb6d1a9b6657145d8f6e556c50482edcd96371d3
4
- data.tar.gz: 2cb0048ca6f1dadf69250bc2e730cdfacadb73123dd32fc42e31ae4aadd22de4
3
+ metadata.gz: 8161b914f0a09f5113bb9d66b3fff6d57912b8a756397f4dd7d565930fdc7fcf
4
+ data.tar.gz: df96a827d160a738094f68cafbd59ea25c4ea1503b255c356feec7ae55d54352
5
5
  SHA512:
6
- metadata.gz: 44c58f47ba81960692c784299984a956c3e9af4aacae7c25690dcaf89efca2a14a734def1dcfba530b63e2ab51b90bdedb231481da439fed15983fa2520c59c3
7
- data.tar.gz: b1ddee32a88320f387ecfa3493b4cc185599fcdc27f19ebf4d1b9781de8201175ea680a0b514ad26ea56edd0d2eea66667cb45a3d805a90c97649e9a083acee5
6
+ metadata.gz: 50339cbe23dd7f3877d7ea506f5665f8e978e9ce62e5f9d920f63862226e9b52bc8fa280b0491e7c3cf3488f03bdd45cc568f75cf5d002d80602aaf25549e75b
7
+ data.tar.gz: b337432844a773a561f519f92ad85609446a25ac21388b6514bf57c4963c48799506c48b4073570811eba574772cc9ccf1ae09a12597593e7813d800760fe9a4
data/CHANGELOG.md ADDED
@@ -0,0 +1,504 @@
1
+ # Changelog
2
+
3
+ ## [6.0.0] (2023-12-13)
4
+
5
+ ### Dependencies
6
+
7
+ ### Breaking Changes:
8
+ * #### Features
9
+ * Update version of Universal SDK Core to v4
10
+
11
+ * #### Added
12
+ * new api eyes.get_results to get results
13
+
14
+ * #### Removed
15
+ * eyes.checks now returns nil (added new eyes.get_results to get a results)
16
+
17
+ ### Features
18
+ * added notification about outdated sdk version
19
+ * log driver environment info to splank
20
+ * show aborted tests in Eyes dashboard
21
+ * allowed running multiple classic test with different devices for applitoolsified native apps
22
+ * add more logs for tunnel worker
23
+ * added warning when driver used with capabilities that may conflict with applitools lib workflow
24
+ ### Bug Fixes
25
+ * fix custom sequence_name in BatchInfo
26
+ * suppport coded regions with layoutBreakpoints reload
27
+ * update dom-snapshot to support xml pages and parens inside css URLs
28
+ * upgrade dom-capture to get font-family in DOM
29
+ * change expiration time of the tunnel
30
+ * async cache should wait for upload
31
+ * async cache race condition
32
+ * allow css scrolling when taking screenshot of the webview
33
+ * generate safe selectors as close as possible to taking dom snapshot
34
+ * added retries on ufg requests that respond with 503 status code
35
+ * fix incorrect stitchMode mapping in checkSettings
36
+ * handled duplicated style properties in inline style tags
37
+ * fixed issue that caused dom snapshots to be taken for different viewport sizes when layout breakpoints were explicitly turned off
38
+ * remove some connection timeout in case of a long running tasks
39
+ * return result when error in the ufg
40
+ * send devtool commands in chromium
41
+ * preserve css declarations order in dom-snapshot
42
+ * do not block concurrency when server response is 503
43
+ ### Code Refactoring
44
+ * reorganized code between gems
45
+
46
+ ## [5.0.0] - 2023-07-11
47
+ ### Breaking Changes:
48
+ - get_all_test_results return TestResultSummary with additional info
49
+ - TestResults Array now in get_all_test_results.results or can be accessed old-style with get_all_test_results[0]
50
+ - eyes.close always return first result, even when have failed check
51
+ - eyes.abort on closed/aborted eye now return nil
52
+ ### Added
53
+ - Add support for reloading the page when using layout_breakpoints
54
+ - add errors to TestResults
55
+ ### Updated
56
+ - Update version of Universal SDK Core to 3.6.0
57
+ ### Features
58
+ - ability to skip deserialize dom snapshot
59
+ - prevent animated gif images from playing in ufg
60
+ - support custom property per renderer
61
+ ### Bug fixes
62
+ - fixed issue that caused creation of unnecessary tunnels
63
+ - start tunnels with proper regional server
64
+ ## [4.6.3] - 2023-07-04
65
+ ### Updated
66
+ - Update version of Universal SDK Core to 3.4.0
67
+ ### Added
68
+ - Add api for mobile (set_nmg_capabilities, set_mobile_capabilities, use_system_screenshot)
69
+ ### Features
70
+ - Drop support of legacy vhs extraction
71
+ - Add an API to send logEvents
72
+ - Add support for reloading the page when using layoutBreakpoints
73
+ - Fixed issue with failed find element responses in EC
74
+ - Fixed issue when on certain browser versions test didn't target a previously created baseline
75
+ - added a new mode for taking native app screenshots
76
+ ### Bug fixes
77
+ - Increase timeout for rendering results polling
78
+ - Fixed issue when logs are not show up
79
+ - Add isProcess property when calling makeCoreServer
80
+ - Fixed issue with Safari mobile screenshots
81
+ - Fixed issue with default settings in extractText
82
+ - Fixed issue with viewport information extraction when switched to webview
83
+ - apply default scrolling mode
84
+ ## [4.6.2] - 2023-05-10
85
+ ### Added
86
+ - Add remove_duplicate_tests option & set_remove_duplicate_tests method to eyes runner
87
+ ### Updated
88
+ - Update version of Universal SDK Core to 2.5.8
89
+ ### Features
90
+ - Added functional session feature
91
+ - Add a timeout and max concurrency for fetching resources
92
+ ### Bug fixes
93
+ - Fixed issue in dom snapshot that prevented urls that start with a whitespace to be mapped
94
+ - Improved appium prefixed capabilities parsing
95
+ - Fix issue when locate return wrong type of the region, with left and top properties instead of x and y
96
+ - Fixed issue with when webview were wasn't recognized as web compatible world
97
+ - Fixed the issue with session metadata extraction
98
+ - Fixed functional test feature issues in ec client
99
+ - Fixed typo in ec custom property
100
+ - Fixed issue with hanging requests
101
+ - Fixed platform name formatting
102
+ - Prevented driver metadata extraction during check in ufg eyes
103
+ - Fixed dynamic import issue in universal binaries
104
+ - Fixed detection of emulated mobile drivers
105
+ - Remove 'Execution Cloud' custom property
106
+ ## [4.6.1] - 2023-04-12
107
+ ### Changed
108
+ - Packaging server core inside eyes_universal
109
+ ### Updated
110
+ - Update version of Universal SDK Core to 2.4.8
111
+ ### Features
112
+ - Added removeDuplicateTests property to the GetManagerResultsSettings
113
+ - Changed makeManager api to accept settings
114
+ - Improved extraction of nml element
115
+ - Update broker url using last response instead of using driver
116
+ ### Bug fixes
117
+ - Fixed screenshot framing
118
+ - Fixed issue with css fetching for dom capture
119
+ - Fixed issue with emulation driver detection
120
+ - Fixed relative url resolution in css files
121
+ - Added timeout to css fetching during preparing dom capture
122
+ - Improve performance in DOM snapshot
123
+ - Fixed retry interval during poll requests to eyes back-end
124
+ - Fixed issue with concurrency of the renders in ufg mode
125
+ - Fixed issue with concurrency of the renders in ufg mode
126
+ - Fixed ufg concurrency regression
127
+ - Replaced broker url cache with nml element cache
128
+ - Fixed selector transformation for scroll root elements for ufg
129
+ - Upgrade tunnel version
130
+ ## [4.6.0] - 2023-03-06
131
+ ### Changed
132
+ - change server package to @applitools/core
133
+ ### Updated
134
+ - Improve logging in core server
135
+ - Passing density metric for PPI support in the sdk
136
+ ### Added
137
+ - Integrate universal protocol to run core via transport
138
+ - Added Resize stitch mode value
139
+ - Add NML support for Android
140
+ - Add makeECClient api
141
+ ### Bug fixes
142
+ - upgrade dom-snapshot with a fix to CSP
143
+ - Fixed issue when .visualgrid was not added to agent id
144
+ - Fixed issue with aborting ufg tests
145
+ ## [4.5.5] - 2023-01-06
146
+ ### Updated
147
+ - Update version of Universal SDK to 3.2.2
148
+ ## [4.5.4] - 2023-01-04
149
+ ### Updated
150
+ - Update version of Universal SDK to 3.2.1
151
+ - Update arm64-darwin server recognition
152
+ ### Features
153
+ - Filter styles and resources with non-screen media queries
154
+ ### Bug fixes
155
+ - Fixed issue with parsing capabilities for iOS with native app
156
+ ## [4.5.3] - 2022-12-30
157
+ ### Fixed
158
+ - skip yanked gem versions
159
+ ## [4.5.2] - 2022-12-30
160
+ ### Updated
161
+ - Update version of Universal SDK to 3.2.0
162
+ ### Added
163
+ - Add dont_close_batches flag to eyes [Trello 3093](https://trello.com/c/3E0ilb0A)
164
+ ### Features
165
+ - Add server support for arm
166
+ - Additional internal event logs
167
+ ### Bug fixes
168
+ - Fixed OCR functionality with latest eyes server
169
+ - Fixed issue when helper lib inputs were not cleaned up before calling new command
170
+ - Fixed issue with element scroll position not being restored after screenshot is taken on native platforms
171
+ - Handed error during polling in long requests to eyes server
172
+ - Handle fake shadowRoot with UFG
173
+ ## [4.5.1] - 2022-11-28
174
+ ### Fixed
175
+ - releasing as stable all eyes
176
+ ## [4.0.0.alpha-eyes-images] - 2022-11-28
177
+ ### Added
178
+ - eyes_images updated to universal server sdk(v3)
179
+ ### Deprecated (eyes_images)
180
+ - eyes_images inputs Applitools::Screenshot and ChunkyPNG::Image now are image_path and image (examples in spec/images/eyes_images_functional_spec.rb)
181
+ ### Added (eyes_images)
182
+ - eyes_images: Applitools::MatchLevel::IGNORE_COLORS
183
+ ## [4.5.0.alpha] - 2022-11-23
184
+ - Update version of Universal SDK to v3 (sdk: 3.0.2)
185
+ ## [4.4.1] - 2022-10-03
186
+ ### Added
187
+ - Added iPhone 14 and iPhone 14 Pro Max devices [Trello 73](https://trello.com/c/M1YiwtHb)
188
+ ## [4.4.0] - 2022-09-16
189
+ ### Updated
190
+ - Update version of Universal SDK to 2.12.3
191
+ ### Added
192
+ - Created testing client for eyes-universal
193
+ ### Fixed
194
+ - Using lazyLoad.waitingTime as a delay between stitches by default
195
+ - Using proxy while polling for the result of the nml command
196
+ ## [4.3.0] - 2022-09-16
197
+ ### Updated
198
+ - Update version of Universal SDK to 2.12.0
199
+ ### Added
200
+ - Add proxy support when using NML for NMG
201
+ - Add NML NMG support for iOS
202
+ - Added support for lazy loading views in android native apps
203
+ - tests for alpine
204
+ ### Fixed
205
+ - Sending correct commands with android helper lib
206
+ - Fixed issue that prevented NMG from working when NML was enabled
207
+ ## [4.2.0] - 2022-09-05
208
+ ### Removed
209
+ - removed device name Galaxy S8, S8 Plus, Note 8
210
+ ## [4.1.4] - 2022-09-02
211
+ ### Updated
212
+ - Update version of Universal SDK to 2.10.8
213
+ ### Changed
214
+ - U-SDK server spawn once per process
215
+ - U-SDK server shutdown-mode changed
216
+ ## [4.1.4.alpha] - 2022-08-15
217
+ ### Updated
218
+ - Update version of Universal SDK to 2.10.5
219
+ ### Changed
220
+ - ci moved to github
221
+ ## [4.1.3] - 2022-08-04
222
+ ### Added
223
+ - add enum for edge-2 (EDGE_CHROMIUM_TWO_VERSIONS_BACK)
224
+ - Android 12 device name [Trello 54](https://trello.com/c/SZAPDKSI)
225
+ ### Updated
226
+ - Update version of Universal SDK to 2.10.3
227
+ ## [4.1.2] - 2022-07-07
228
+ ### Added
229
+ - add padding support for regions [Trello 2929](https://trello.com/c/kHbnEdC7), [Trello 42](https://trello.com/c/PYKqJLbg)
230
+ - add custom region id support for regions [Trello 47](https://trello.com/c/pv51sCYA)
231
+ ### Updated
232
+ - Update version of Universal SDK to 2.9.5
233
+ ### Fixed
234
+ - fix freeze in communication with universal server
235
+ - fix floating region bounds option(as 4 numbers) parsing
236
+ ## [4.1.1] - 2022-06-16
237
+ ### Added
238
+ - add support lazy loading as part of the check-api [Trello](https://trello.com/c/BIHFMhVk)
239
+ ### Updated
240
+ - Update version of Universal SDK to 2.8.0
241
+ ## [4.1.0] - 2022-06-16
242
+ ### Removed
243
+ - alpha flag from version number
244
+ ## [4.1.0.alpha] - 2022-06-13
245
+ ### Updated
246
+ - Update version of Universal SDK to 2.7.2
247
+ ## Removed
248
+ - removed eventmachine from eyes_core
249
+ ## [4.0.5.4] - 2022-06-10
250
+ ### Updated
251
+ - Update version of Universal SDK to 2.7.1
252
+ ### Fixed
253
+ - Fix default boolean field transition to server(like full page screenshot)
254
+ ## [4.0.5.3] - 2022-06-02
255
+ ### Updated
256
+ - Update version of Universal SDK to 2.5.19
257
+ ### Fixed
258
+ - fix ruby-3.1 installation collision
259
+ ## [4.0.5.2] - 2022-05-24
260
+ ### Updated
261
+ - Update version of Universal SDK to 2.5.17
262
+ ### Fixed
263
+ - Fix closing batches with closeManager
264
+ ## Removed
265
+ - removed nokogiri frozen version
266
+ - remove old&unused js(now processed by universal server)
267
+ ## [4.0.5.1] - 2022-05-18
268
+ ### Fixed
269
+ - Fix wrong gem yank
270
+ ## [4.0.5] - 2022-05-18
271
+ ### Updated
272
+ - Update version of Universal SDK to 2.5.11
273
+ ### Fixed
274
+ - Fix for default notify_on_completion value(moved to universal server)
275
+ ## [4.0.4] - 2022-05-13
276
+ ### Fixed
277
+ - Fix for mingw
278
+ ## [4.0.3] - 2022-05-13
279
+ ### Updated
280
+ - Update version of Universal SDK to 2.5.7
281
+ ### Added
282
+ - added api: wait_before_capture, page_id
283
+ - api for native ufg: add_mobile_device, add_mobile_devices
284
+ - new ios devices
285
+ - AndroidDeviceName and AndroidDeviceInfo
286
+ ### Fixed
287
+ - Fix installing universal server issues on windows
288
+ - fix getting connection info for universal server on ci
289
+ ## Removed
290
+ - png processing lib dependecies
291
+ ## [4.0.2] - 2022-02-08
292
+ ### Updated
293
+ - Update version of Universal SDK to 1.0.9
294
+ ### Fixed
295
+ - Fix installing issues with latest ruby version and installing on windows
296
+ ## [4.0.1] - 2022-02-08 - unreleased
297
+ ### Updated
298
+ - Update version of Universal SDK to 1.0.7
299
+ ## [4.0.0] - 2022-01-24
300
+ ### Changed
301
+ - Library is now based on Universal SDK
302
+ ## [3.18.4] - 2021-08-31
303
+ ### Fixed
304
+ - Fix Appium runner option [Trello 2697](https://trello.com/c/F6dLF1VF)
305
+ - Fix parsing css transition [Trello 2647](https://trello.com/c/CIzoKPNY)
306
+ - Fix require warning: No such file or directory @ dir_chdir - lib/applitools/selenium/scripts/node_modules [Trello 2148](https://trello.com/c/j5sAPSBa)
307
+ ## [3.18.3] - 2021-06-24
308
+ ### Added
309
+ - Support cross origin iframes in UFG [Trello 2259](https://trello.com/c/iJKPvd75), [Trello 2584](https://trello.com/c/QyLzmnGl)
310
+ ## [3.18.2] - 2021-05-05
311
+ ### Added
312
+ - Support variation_group_id and agentRunId [Trello 2527](https://trello.com/c/6SyxJXVZ)
313
+ ## [3.18.1] - 2021-04-28
314
+ ### Added
315
+ - Allow defining custom properties at the batch level [Trello 2445](https://trello.com/c/IKTydXLv)
316
+ ## [3.18.0] - 2021-04-20
317
+ ### Fixed
318
+ - Fix Selenium and Appium libraries conflict [Trello 2500](https://trello.com/c/UOwzI2s8)
319
+ ## Deprecated
320
+ - Ruby 1.9 support for Appium lib (Requirement 2.2+)
321
+ ## [3.17.23] - 2021-01-22
322
+ ### Fixed
323
+ - Fix viewport rect of a native app at some android devices [Trello 2079](https://trello.com/c/sQJLgtUL)
324
+ ### Updated
325
+ - Update Ruby Coverege Tests to v2
326
+ ## [3.17.22] - 2021-01-12
327
+ ### Added
328
+ - Supporting check full element with ufg [Trello 2145](https://trello.com/c/8tPAnz66)
329
+ ### Updated
330
+ - Supporting iPhone 12 in `IosDeviceName` class. [Trello 2269](https://trello.com/c/yWFy2pRE)
331
+ ### Fixed
332
+ - Restart on calling eyes.open with started driver [Trello 2162](https://trello.com/c/1SCQUUnW), [Trello 2233](https://trello.com/c/yPY3jhjW)
333
+ ## [3.17.21] - 2020-08-20
334
+ ### added
335
+ - UFG: the ability to set :visual_grid_options for the UFG SDK (Both globally and through the fluent interface) [Trello_2089](https://trello.com/c/d4zggQes/2089-ufg-sdks-visualgridoptionspolyfilladoptedstylesheets)
336
+ ## [3.17.20] - 2020-08-20
337
+ ### fixed
338
+ - Skip resources list: the errorStatusCode is passed to the server for UFG resources (if present) [Trello_2101](https://trello.com/c/vw3Ag8eO/2101-sdk-doesnt-pass-errorstatuscode-for-ufg-resources-if-an-error-occurred)
339
+ ## [3.17.19] - 2020-08-18
340
+ ### Updated
341
+ - Skip resources list for UFG is implemented [Trello_1974](https://trello.com/c/44xq8dze/1974-dom-snapshot-should-accept-a-skip-list-for-fetched-resources)
342
+ ## [3.17.18] - 2020-08-01
343
+ ### Fixed
344
+ - appium region screenshot issue [Trello_1996](https://trello.com/c/bmD4fCbs/1996-appium-native-ruby-error-with-png-signature-for-targetregion)
345
+ ## [3.17.17] - 2020-07-29
346
+ ### Fixed
347
+ - The availability to set :notify_on_completion manually for Applitools::BatchInfo. [Trello_2012](https://trello.com/c/OdYXtkFI/2012-batch-sequence-and-batch-notifications-are-not-working-in-the-ruby-selenium-sdk)
348
+ ### Updated
349
+ - Screenshot retry mechanism is now more efficient. [Trello 1866](https://trello.com/c/KyxkI6Bu)
350
+ ## [3.17.16] - 2020-07-16
351
+ ### Fixed
352
+ - The test name is not updated in case of double open->check->close call. [Trello 2011](https://trello.com/c/7UN1AbYU/2011-ruby-ufg-tests-creates-tests-out-of-order-when-classic-eyesopen-is-used)
353
+ ## [3.17.15] - 2020-07-16
354
+ ### Added
355
+ - Added `VisualViewport` for UFG client. [Trello 1957](https://trello.com/c/jWvdBwex/1957-add-visual-viewport-support-in-the-ui-for-mobile-devices)
356
+ ## [3.17.14] - 2020-07-9
357
+ ### Updated
358
+ - Added missing `StitchingService` URI field in `RenderRequest`. [Trello 1988](https://trello.com/c/Yr6EsUlL)
359
+ ## [3.17.13] - 2020-07-03
360
+ ## Fixed
361
+ - eyes_appium: Coded Floating Regions Incorrectly Placed [Trello_1960](https://trello.com/c/j6nJh1LS/1960-ruby-native-app-coded-floating-regions-incorrectly-placed)
362
+ - eyes_images: Simple eyes_images test is broken [Trello_1949](https://trello.com/c/dHQbz96i/1949-eyesimages-seem-to-be-broken)
363
+ ## [3.17.12] - 2020-07-02
364
+ ## Fixed
365
+ - :match_timeout property is moved to configuration object [Trello_1935](https://trello.com/c/2Z070Qgs/1935-ruby-selenium-matchtimeout-not-available-in-the-configuration-object)
366
+ ## [3.17.11] - 2020-06-25
367
+ ## Fixed
368
+ - IosDeviceOrientation is replaced by Orientation [Trello_1944](https://trello.com/c/EzyG7525/1944-ufg-safari-on-ios-orientations-changes)
369
+ ## [Eyes.sdk.ruby 3.17.10] - 2020-06-20
370
+ ## Fixed
371
+ - a configuration shared between Eyes instances in Rspec [Trello_1938](https://trello.com/c/qOQkbDO7/1938-a-configuration-shared-between-eyes-instances-in-rspec)
372
+ ## [Eyes.sdk.ruby 3.17.9] - 2020-06-19
373
+ ## Fixed
374
+ - Call :clone on a NilClass for ruby 2.3 [Trello_1855](https://trello.com/c/LCBhnTMd/1885-selenium-ruby-cant-clone-nilclass)
375
+ ## [Eyes.sdk.ruby 3.17.7] - 2020-06-18
376
+ ## Added
377
+ - eyes.ignore_displacements= and eyes.ignore_displacements methods [Trello_841](https://trello.com/c/uwrYb1Vj/841-add-a-general-method-for-ignoredisplacements?menu=filter&filter=visual%20loca,due:notdue)
378
+ ## Fixed
379
+ - Encoded regions for 'selector' mode [Trello_1915](https://trello.com/c/BQIrbCfC/1915-ruby-ultrafast-grid-incorrect-placement-of-coded-regions-for-targetregion)
380
+ ## [Eyes.sdk.ruby 3.17.6] - 2020-06-16
381
+ ## Fixed
382
+ - config.add_device_emulation(name, orientation) is fixed [Trello_1914](https://trello.com/c/l7WRvhSP/1914-ruby-ultrafast-grid-adddeviceemulation-throws-error-after-upgrading-to-3175?menu=filter&filter=due:notdue)
383
+ ## Added
384
+ - Appium driver support is ectended (Applitools::Appium::Eyes.new(driver: Appium::Driver.new)) [Trello_1913](https://trello.com/c/wQTgRNrN/1913-appium-ruby-regression-unknown-driver-appiumdriver0x00007fbaf9903448-applitoolseyeserror?menu=filter&filter=due:notdue)
385
+ ## [Eyes.sdk.ruby 3.17.5] - 2020-06-15
386
+ ## Added
387
+ - The ability to set :baseline_env_name for DesktopBrowserInfo, IosDeviceInfo and ChromeEmulationInfo
388
+ ## Fixed
389
+ - IosScreenOrientation instead of the IosScreenshotOrientation
390
+ ## [Eyes.sdk.ruby 3.17.4] - 2020-06-11
391
+ ## Fixed
392
+ - restricted to set emulation_info && ios_device_info for DesktopBrowserInfo
393
+ ## [Eyes.sdk.ruby 3.17.3] - 2020-06-06
394
+ ## Deprecated
395
+ - BrowserTypes module is deprecated in a favor of BrowserType
396
+ - Orientations module is deprecated in a favor of Orientation
397
+ ## Fixed
398
+ - IosDeviceOrientation instead of IosDeviceOrientations(plural)
399
+ ## Deprecated
400
+ ## [Eyes.sdk.ruby 3.17.2] - 2020-06-06
401
+ ## Added
402
+ - safari on ios device emulation for UFG [Trello_1872](https://trello.com/c/bykk2rzB/1872-ufg-safari-on-ios-simulators-support)
403
+ ## [Eyes.sdk.ruby 3.17.1] - 2020-05-26
404
+ ## Fixed
405
+ - eyes.properties for VG [Trello_1804](https://trello.com/c/Jt2BYz0e/1804-ruby-selenium-addproperty-method-not-recognized-when-running-with-visualgridrunner)
406
+ - SessionStartInfo parameters were not passed to Json correctly
407
+ ## [Eyes.sdk.ruby 3.17.0] - 2020-05-18
408
+ ## Added
409
+ - eyes.accessibility_validation(Applitools::AccessibilitySettings.new(Applitools::AccessibilityLevel::AA, Applitools::AccessibilityVersion::WCAG_2_0)) - [Trello_1767](https://trello.com/c/gq69woeK/1767-all-sdks-accessibility-accessiblity-guidelines-version-support-and-additional-verifications?menu=filter&filter=due:notdue)
410
+ ## Removed
411
+ - eyes.accessibility_level
412
+ ## [Eyes.sdk.ruby 3.16.16] - 2020-04-28
413
+ ## Added
414
+ - Regions support for eyes_appium (Target#ignore, Target#floating, Target#accessibility, Target#layout, etc.)
415
+ ## [Eyes.sdk.ruby 3.16.15] - 2020-04-24
416
+ ## Deprecated
417
+ - BrowserTypes::EDGE is deprecated. Please change it to either "EDGE_LEGACY" for the legacy version or to "EDGE_CHROMIUM" for the new Chromium-based version. [Trello 1757](https://trello.com/c/LUe43aee/1757-all-ultrafast-sdks-edge-chromium-support)
418
+ ## [Eyes.sdk.ruby 3.16.14] - 2020-04-10
419
+ ## Added
420
+ - new_session? flag is taken from start_session server response with fallback to the status code [Trello_1715](https://trello.com/c/DcVzWbeR/1715-all-sdks-updated-long-running-task-mode-for-startsession)
421
+ ## [Eyes.sdk.ruby 3.16.13] - 2020-04-06
422
+ ## Fixed
423
+ - eyes#hide_scrollbars is true by default [Trello 1592](https://trello.com/c/MXixwLnj/1592-upload-dom-directly-to-azure)
424
+ - eyes#ignore_caret has been included tothe configuration object [Trello)_1706](https://trello.com/c/16JqYlYb/1706-ignorecaret-globally-is-missing-ruby)
425
+ - Irrelevant URLs are excluded from SVG resource parsing results [Trello 1691](https://trello.com/c/EAIpEh8s/1691-ruby-vg-parsing-of-irrelevant-urls-from-css-and-svg-resources)
426
+ ## Added
427
+ - x-applitools-eyes-client header for all API requests [Trello_1697](https://trello.com/c/CzhUxOqE/1697-all-sdks-should-report-their-version-in-all-requests-to-the-eyes-server)
428
+ ## [Eyes.sdk.ruby 3.16.12] - 2020-03-30
429
+ ## Fixed
430
+ - eyes#send_dom didn't work [Trello 1659](https://trello.com/c/9CfD0fhn/1659-disable-dom-capturing-is-not-working-on-the-test-level-ruby)
431
+ ## [Eyes.sdk.ruby 3.16.11] - 2020-03-27
432
+ ## Fixed
433
+ - dom_capture threw an exception on a particular page [Trello 1658](https://trello.com/c/x0uYFwx0/1658-test-is-being-aborted-when-trying-to-capture-dom-ruby)
434
+ ## [Eyes.sdk.ruby 3.16.10] - 2020-03-24
435
+ ## Added
436
+ - The ability to use different Faraday adapters instead the default one [Trello 1683](https://trello.com/c/6IASHoBB/1683-add-http2-support-to-the-communication-library)
437
+ - The ability to set up timeout for HTTP request
438
+ - The ability to set up timeout for an Applitools::Future
439
+ ## [Eyes.sdk.ruby 3.16.9] - 2020-03-17
440
+ ## Fixed
441
+ - Agent ID for eyes_appium set to eyes.appium.ruby/version
442
+ ## [Eyes.sdk.ruby 3.16.8] - 2020-03-13
443
+ ## Fixed
444
+ - SDK fetch resources: the request header 'Accept-Language' is used along with 'User-Agent'
445
+ - Timeout for Thread.join is increased up to Faraday's connection timeout
446
+ - Error handling for resources that failed to fetch
447
+ ## Added
448
+ - Log messages for resource fetching now include the URL and status code
449
+ ## [Eyes.sdk.ruby 3.16.7] - 2020-03-06
450
+ ### Added
451
+ - dom_snapshot is uploaded directly to Azure storage
452
+ ### Fixed
453
+ - dom_snapshot script updated to 7.1.3
454
+ - send_dom is true by default for EyesSelenium
455
+ ## [Eyes.sdk.ruby 3.16.6] - 2020-03-05
456
+ ### Fixed
457
+ - eyes#check might be called as #check(tag, target) as well as #check(target)
458
+ - Selenium Eyes: ignore regions in the current target caused an exception
459
+ ## [Eyes.sdk.ruby 3.16.5] - 2020-03-02
460
+ ### Fixed
461
+ - double slash issue for custom server URL
462
+ ## [Eyes.sdk.ruby 3.16.2] - 2020-02-06
463
+ ### Fixed
464
+ - DefaultMatchSettings being overridden incorrectly by ImageMatchSettings
465
+ ## [Eyes.sdk.ruby 3.16.1] - 2020-01-29
466
+ ### Fixed
467
+ - eyes_appium crashed trying to get viewport_size
468
+ ### Added
469
+ - long_requests are used for start session
470
+ ## [Eyes.sdk.ruby 3.16.0] - 2020-01-24
471
+ ### Added
472
+ - Screenshot uploading direct to cloud store
473
+ ## [Eyes.sdk.ruby 3.15.48] - 2020-01-20
474
+ ### Added
475
+ - New browser types for the VisualGrid (CHROME, CHROME_ONE_VERSION_BACK, CHROME_TWO_VERSIONS_BACK, FIREFOX, FIREFOX_ONE_VERSION_BACK, FIREFOX_TWO_VERSIONS_BACK, SAFARI, SAFARI_ONE_VERSION_BACK, SAFARI_TWO_VERSIONS_BACK, IE_10, IE_11, EDGE)
476
+ ## [Eyes.sdk.ruby 3.15.47] - 2020-01-08
477
+ ### Fixed
478
+ - eyes_images throws "undefined method `each' for nil:NilClass (NoMethodError)"
479
+ ## [Eyes.sdk.ruby 3.15.43] - 2019-12-20
480
+ ### Removed
481
+ - delta compression for screenshots
482
+ ## [Eyes.sdk.ruby 3.15.43] - 2019-12-19
483
+ ### Added
484
+ - eyes.abort_async method implementation
485
+ ### Fixed
486
+ - save_new_tests is true by default
487
+ - tests are aborted instead of being closed on render fail
488
+ ## [Eyes.sdk.ruby 3.15.43] - 2019-12-12
489
+ ### Added
490
+ - Return empty test if the render fails
491
+ - eyes.abort method
492
+ ## [Eyes.sdk.ruby 3.15.42] - 2019-12-10
493
+ ### Fixed
494
+ - CSS paring & fetching font urls
495
+ - VisualGridEyes#config renamed to #configuration
496
+ - VisualGridEyes.configuration returns a clone of a configuration object
497
+ ## [Eyes.sdk.ruby 3.15.41] - 2019-11-06
498
+ ### Fixed
499
+ - Various VG related bugs
500
+ ## [Eyes.sdk.ruby 3.15.39] - 2019-11-06
501
+ ### Added
502
+ - This CHANGELOG file.
503
+ ### Fixed
504
+ - Chrome 78 css stitching bug
data/Rakefile ADDED
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rake/clean'
4
+ require 'securerandom'
5
+
6
+ require 'bundler/gem_helper'
7
+ # Monkey patch the Bundler release class to change tags for eyes_images
8
+ module Bundler
9
+ class GemHelper
10
+
11
+ def version_tag
12
+ ruby_tag = "@applitools/ruby"
13
+ "#{ruby_tag}/#{gemspec.name}@#{version}"
14
+ end
15
+
16
+ end
17
+ end
18
+
19
+ Bundler::GemHelper.install_tasks
20
+
21
+ namespace 'github' do
22
+ task :set_batch_info do
23
+ batch_id = SecureRandom.uuid
24
+ # next if ENV['APPLITOOLS_BATCH_ID'] && !ENV['APPLITOOLS_BATCH_ID'].empty?
25
+ ENV['APPLITOOLS_DONT_CLOSE_BATCHES'] = 'true'
26
+ ENV['APPLITOOLS_BATCH_ID'] = batch_id unless ENV['APPLITOOLS_BATCH_ID'] && !ENV['APPLITOOLS_BATCH_ID'].empty?
27
+ ENV['APPLITOOLS_BATCH_NAME'] = "Eyes Ruby SDK(#{RUBY_VERSION} | #{RUBY_PLATFORM})"
28
+ end
29
+
30
+ task :check do
31
+ puts "Batch ID: #{ENV['APPLITOOLS_BATCH_ID']}"
32
+ puts "Batch NAME: #{ENV['APPLITOOLS_BATCH_NAME']}"
33
+ end
34
+
35
+ # require 'rspec/core/rake_task'
36
+ # namespace :unit_tests do
37
+ # RSpec::Core::RakeTask.new(:core) do |t|
38
+ # t.pattern = 'spec/core'
39
+ # end
40
+ #
41
+ # RSpec::Core::RakeTask.new(:visual_grid) do |t|
42
+ # t.pattern = 'spec/visual_grid'
43
+ # end
44
+ #
45
+ # RSpec::Core::RakeTask.new(:selenium) do |t|
46
+ # t.pattern = 'spec/selenium'
47
+ # end
48
+ #
49
+ # RSpec::Core::RakeTask.new(:regression) do |t|
50
+ # t.pattern = 'spec/regression'
51
+ # end
52
+ #
53
+ # RSpec::Core::RakeTask.new(:bugfix) do |t|
54
+ # t.pattern = 'spec/bugfix'
55
+ # end
56
+ #
57
+ # RSpec::Core::RakeTask.new(:calabash) do |t|
58
+ # t.pattern = 'spec/calabash'
59
+ # end
60
+ #
61
+ # RSpec::Core::RakeTask.new(:images) do |t|
62
+ # t.pattern = 'spec/images'
63
+ # end
64
+ #
65
+ # task :github => [:regression, :bugfix, :core, :selenium, :visual_grid, :calabash, :images]
66
+ # end
67
+ #
68
+ # task :unit_tests => [:set_batch_info, :check, 'unit_tests:github']
69
+ #
70
+ # task :vg_tests => [:set_batch_info, :check] do
71
+ # sh('bundle exec parallel_rspec -n 1 -- --tag visual_grid -- spec/integration/*_spec.rb')
72
+ # end
73
+
74
+ # task :travis_selenium => ['webdrivers:chromedriver:update', :set_batch_info, :check] do
75
+ # sh('bundle exec parallel_rspec -n 4 -- --tag selenium -- spec/integration/*_spec.rb')
76
+ # end
77
+ #
78
+ # task :travis_vg => ['webdrivers:chromedriver:update', :set_batch_info, :check] do
79
+ # sh('bundle exec parallel_rspec -n 1 -- --tag visual_grid -- spec/integration/*_spec.rb')
80
+ # end
81
+
82
+ # task :vg_tests => ['webdrivers:chromedriver:update', :set_batch_info, :check] do
83
+ # sh('bundle exec parallel_rspec -n 1 -- --tag visual_grid -- spec/integration/*_spec.rb')
84
+ # end
85
+
86
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
6
+ require 'applitools/eyes_selenium/version'
7
+
8
+ Gem::Specification.new do |spec|
9
+ spec.name = 'eyes_selenium'
10
+ spec.version = Applitools::EyesSelenium::VERSION
11
+ spec.authors = ['Applitools Team']
12
+ spec.email = ['team@applitools.com']
13
+ spec.description = 'Provides SDK for writing Applitools Selenium-based tests'
14
+ spec.summary = 'Applitools Ruby Selenium SDK'
15
+ spec.homepage = 'https://www.applitools.com'
16
+ spec.license = 'Applitools'
17
+
18
+ spec.files = `git ls-files lib/applitools/selenium`.split($RS) + [
19
+ 'lib/eyes_selenium.rb',
20
+ 'lib/applitools/eyes_selenium/version.rb',
21
+ 'CHANGELOG.md',
22
+ 'eyes_selenium.gemspec',
23
+ 'Rakefile',
24
+ ]
25
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
26
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
27
+ spec.require_paths = %w(lib)
28
+ spec.add_dependency 'eyes_core', "= #{Applitools::EyesSelenium::VERSION}"
29
+ spec.add_dependency 'selenium-webdriver', '>= 3'
30
+ spec.add_dependency 'css_parser'
31
+ spec.add_dependency 'crass'
32
+ spec.add_dependency 'state_machine'
33
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: false
2
+
3
+ module Applitools
4
+ module EyesSelenium
5
+ VERSION = '6.0.0'.freeze
6
+ # UNIVERSAL_CORE_VERSION = '3.6.4'.freeze
7
+ end
8
+ end
@@ -23,6 +23,7 @@ module BrowserType
23
23
  SAFARI = :'safari'
24
24
  SAFARI_ONE_VERSION_BACK = :'safari-one-version-back'
25
25
  SAFARI_TWO_VERSIONS_BACK = :'safari-two-versions-back'
26
+ SAFARI_EARLY_ACCESS = :'safari-earlyaccess'
26
27
  IOS_SAFARI = :safari
27
28
 
28
29
  EDGE_CHROMIUM = :'edgechromium'
@@ -61,6 +62,7 @@ module BrowserType
61
62
  SAFARI,
62
63
  SAFARI_ONE_VERSION_BACK,
63
64
  SAFARI_TWO_VERSIONS_BACK,
65
+ SAFARI_EARLY_ACCESS,
64
66
  IE_11,
65
67
  EDGE_LEGACY,
66
68
  IE_10,
@@ -131,6 +131,13 @@ module Applitools::Selenium
131
131
  self.utils = Applitools::Utils::EyesSeleniumUtils
132
132
  end
133
133
 
134
+ def self.environment_sdk
135
+ {
136
+ name: :eyes_selenium,
137
+ currentVersion: Applitools::EyesSelenium::VERSION
138
+ }
139
+ end
140
+
134
141
  def ensure_config
135
142
  self.config = Applitools::Selenium::Configuration.new
136
143
  end
@@ -329,7 +329,11 @@ module Applitools
329
329
  end
330
330
 
331
331
  def layout_breakpoints(value = true)
332
- options[:layout_breakpoints] = value.is_a?(Array) ? value : value
332
+ if value.is_a?(Hash) && (value.has_key?(:breakpoints) || value.has_key?('breakpoints'))
333
+ options[:layout_breakpoints] = value
334
+ else
335
+ options[:layout_breakpoints] = { breakpoints: value }
336
+ end
333
337
  self
334
338
  end
335
339
 
@@ -53,6 +53,13 @@ module Applitools
53
53
  self.utils = Applitools::Utils::EyesSeleniumUtils
54
54
  end
55
55
 
56
+ def self.environment_sdk
57
+ {
58
+ name: :eyes_selenium,
59
+ currentVersion: Applitools::EyesSelenium::VERSION
60
+ }
61
+ end
62
+
56
63
  def ensure_config
57
64
  self.config = Applitools::Selenium::Configuration.new
58
65
  self.send_dom = true
@@ -325,15 +332,18 @@ module Applitools
325
332
  logger.info "close(#{throw_exception})"
326
333
  logger.info 'Ending server session...'
327
334
 
335
+ raise Applitools::EyesNotOpenException.new 'Eyes not open' unless open?
328
336
  universal_results = universal_eyes.close # Array even for one test
329
- universal_results = universal_eyes.eyes_get_results # Array even for one test
330
- # require 'pry'
331
- # binding.pry
332
- raise Applitools::EyesError.new("Request failed: #{universal_results[:message]}") if server_error?(universal_results)
333
- results = universal_results.map {|result| Applitools::TestResults.new(result) }
334
- # results = results.first if results.size == 1
335
- # session_results_url = results.url
336
- all_results = results.compact
337
+ self.opened = false
338
+ all_results = get_results(throw_exception)
339
+ # universal_results = universal_eyes.eyes_get_results # Array even for one test
340
+ # # require 'pry'
341
+ # # binding.pry
342
+ # raise Applitools::EyesError.new("Request failed: #{universal_results[:message]}") if server_error?(universal_results)
343
+ # results = universal_results.map {|result| Applitools::TestResults.new(result) }
344
+ # # results = results.first if results.size == 1
345
+ # # session_results_url = results.url
346
+ # all_results = results.compact
337
347
 
338
348
 
339
349
  # return false if test_list.empty?
@@ -351,7 +361,30 @@ module Applitools
351
361
  # end
352
362
  #
353
363
  # all_results = test_list.map(&:test_result).compact
354
- failed_results = all_results.select { |r| !r.as_expected? }
364
+ # failed_results = all_results.select { |r| !r.as_expected? }
365
+ #
366
+ # if throw_exception
367
+ # all_results.each do |r|
368
+ # raise Applitools::NewTestError.new new_test_error_message(r), r if r.new?
369
+ # raise Applitools::DiffsFoundError.new diffs_found_error_message(r), r if r.unresolved? && !r.new?
370
+ # raise Applitools::TestFailedError.new test_failed_error_message(r), r if r.failed?
371
+ # end
372
+ # end
373
+
374
+ # failed_results.empty? ? all_results.first : failed_results.first
375
+ all_results.first
376
+ end
377
+
378
+ def get_results(throw_exception = true)
379
+ logger.info "get_results(#{throw_exception})"
380
+ logger.info 'Getting results...'
381
+
382
+ universal_results = universal_eyes.eyes_get_results # Array even for one test
383
+ # require 'pry'
384
+ # binding.pry
385
+ raise Applitools::EyesError.new("Request failed: #{universal_results[:message]}") if server_error?(universal_results)
386
+ results = universal_results.map {|result| Applitools::TestResults.new(result) }
387
+ all_results = results.compact
355
388
 
356
389
  if throw_exception
357
390
  all_results.each do |r|
@@ -360,9 +393,7 @@ module Applitools
360
393
  raise Applitools::TestFailedError.new test_failed_error_message(r), r if r.failed?
361
394
  end
362
395
  end
363
-
364
- # failed_results.empty? ? all_results.first : failed_results.first
365
- all_results.first
396
+ all_results
366
397
  end
367
398
 
368
399
  def abort_async
data/lib/eyes_selenium.rb CHANGED
@@ -12,8 +12,11 @@ module Applitools
12
12
  module Selenium
13
13
  extend Applitools::RequireUtils
14
14
  class UnsupportedCoordinateType < EyesError; end
15
- def self.load_dir
16
- File.dirname(File.expand_path(__FILE__))
15
+ def self.require_dir(dir)
16
+ load_dir = File.dirname(File.expand_path(__FILE__))
17
+ Dir[File.join(load_dir, 'applitools', dir, '*.rb')].sort.each do |f|
18
+ require f
19
+ end
17
20
  end
18
21
  end
19
22
  end
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: 5.0.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Applitools Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-11 00:00:00.000000000 Z
11
+ date: 2023-12-13 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: 5.0.0
19
+ version: 6.0.0
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: 5.0.0
26
+ version: 6.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: selenium-webdriver
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -87,6 +87,10 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
+ - CHANGELOG.md
91
+ - Rakefile
92
+ - eyes_selenium.gemspec
93
+ - lib/applitools/eyes_selenium/version.rb
90
94
  - lib/applitools/selenium/border_aware_element_content_location_provider.rb
91
95
  - lib/applitools/selenium/browser.rb
92
96
  - lib/applitools/selenium/browser_types.rb
@@ -127,7 +131,6 @@ files:
127
131
  - lib/applitools/selenium/scripts/.gitignore
128
132
  - lib/applitools/selenium/scripts/get_element_xpath.rb
129
133
  - lib/applitools/selenium/scripts/package.json
130
- - lib/applitools/selenium/scripts/templates.rb
131
134
  - lib/applitools/selenium/scroll_position_provider.rb
132
135
  - lib/applitools/selenium/selenium_eyes.rb
133
136
  - lib/applitools/selenium/stitch_modes.rb
@@ -161,7 +164,6 @@ files:
161
164
  - lib/applitools/selenium/visual_grid/visual_grid_eyes.rb
162
165
  - lib/applitools/selenium/visual_grid/visual_grid_runner.rb
163
166
  - lib/applitools/selenium/visual_grid/web_element_region.rb
164
- - lib/applitools/version.rb
165
167
  - lib/eyes_selenium.rb
166
168
  homepage: https://www.applitools.com
167
169
  licenses:
@@ -182,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
184
  - !ruby/object:Gem::Version
183
185
  version: '0'
184
186
  requirements: []
185
- rubygems_version: 3.3.14
187
+ rubygems_version: 3.0.3.1
186
188
  signing_key:
187
189
  specification_version: 4
188
190
  summary: Applitools Ruby Selenium SDK
@@ -1,34 +0,0 @@
1
- module Applitools
2
- module Selenium
3
- module ScriptTemplates
4
- extend self
5
- def get_script_by_file_name(fname)
6
- script = nil
7
- return script unless Dir.exist?(Applitools::JS_PATH)
8
- begin
9
- Dir.chdir(Applitools::JS_PATH) do
10
- script = File.open(File.join('@applitools', 'dom-snapshot', 'dist', "#{fname}.js"), 'r').read
11
- end
12
- rescue StandardError => e
13
- puts e.class
14
- puts e.message
15
- script = ''
16
- end
17
- script
18
- end
19
-
20
- # JS_FILES_PATH = File.join(Applitools::JS_PATH, '@applitools', 'dom-snapshot', 'dist')
21
- # PROCESS_PAGE_AND_POLL_RB = <<"SCRIPT"
22
- # module Applitools
23
- # module Selenium
24
- # module Scripts
25
- # PROCESS_PAGE_AND_POLL = <<'END'
26
- # #{get_script_by_file_name('processPageAndSerializePoll')}
27
- # END
28
- # end
29
- # end
30
- # end
31
- # SCRIPT
32
- end
33
- end
34
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: false
2
-
3
- module Applitools
4
- VERSION = '5.0.0'.freeze
5
- IMAGES_VERSION = '5.0.0'.freeze
6
- UNIVERSAL_VERSION = '3.6.0'.freeze
7
- UNIVERSAL_CORE_VERSION = '3.6.0'.freeze
8
- end