appium_lib_core 4.1.0 → 5.0.3

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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/codeql-analysis.yml +70 -0
  4. data/.github/workflows/unittest.yml +8 -9
  5. data/.rubocop.yml +95 -1
  6. data/CHANGELOG.md +102 -275
  7. data/README.md +11 -6
  8. data/Rakefile +4 -0
  9. data/appium_lib_core.gemspec +4 -7
  10. data/bin/console +0 -4
  11. data/ci-jobs/functional/run_appium.yml +3 -3
  12. data/ci-jobs/functional_test.yml +3 -3
  13. data/docs/mobile_command.md +2 -2
  14. data/lib/appium_lib_core/android/device/auth_finger_print.rb +2 -1
  15. data/lib/appium_lib_core/android/device.rb +4 -4
  16. data/lib/appium_lib_core/common/base/bridge.rb +297 -90
  17. data/lib/appium_lib_core/common/base/capabilities.rb +10 -3
  18. data/lib/appium_lib_core/common/base/device_ime.rb +49 -0
  19. data/lib/appium_lib_core/common/base/driver.rb +198 -184
  20. data/lib/appium_lib_core/common/base/driver_settings.rb +51 -0
  21. data/lib/appium_lib_core/common/base/has_location.rb +80 -0
  22. data/lib/appium_lib_core/common/base/has_network_connection.rb +56 -0
  23. data/lib/appium_lib_core/common/base/http_default.rb +1 -3
  24. data/lib/appium_lib_core/common/base/remote_status.rb +31 -0
  25. data/lib/appium_lib_core/common/base/rotable.rb +54 -0
  26. data/lib/appium_lib_core/common/base/screenshot.rb +6 -6
  27. data/lib/appium_lib_core/common/base/search_context.rb +19 -4
  28. data/lib/appium_lib_core/common/base.rb +1 -3
  29. data/lib/appium_lib_core/common/command.rb +257 -4
  30. data/lib/appium_lib_core/common/device/app_management.rb +2 -14
  31. data/lib/appium_lib_core/common/device/image_comparison.rb +12 -4
  32. data/lib/appium_lib_core/common/device/keyevent.rb +4 -4
  33. data/lib/appium_lib_core/common/{command/mjsonwp.rb → device/orientation.rb} +14 -11
  34. data/lib/appium_lib_core/common/device/touch_actions.rb +2 -0
  35. data/lib/appium_lib_core/common/device/value.rb +6 -6
  36. data/lib/appium_lib_core/common/error.rb +4 -1
  37. data/lib/appium_lib_core/common/log.rb +4 -1
  38. data/lib/appium_lib_core/common/touch_action/multi_touch.rb +19 -0
  39. data/lib/appium_lib_core/common/touch_action/touch_actions.rb +16 -2
  40. data/lib/appium_lib_core/common/wait.rb +38 -6
  41. data/lib/appium_lib_core/device.rb +1 -5
  42. data/lib/appium_lib_core/driver.rb +30 -46
  43. data/lib/appium_lib_core/{patch.rb → element.rb} +66 -9
  44. data/lib/appium_lib_core/ios/uiautomation/patch.rb +1 -1
  45. data/lib/appium_lib_core/{common/base/command.rb → mac2/bridge.rb} +9 -8
  46. data/lib/appium_lib_core/mac2/device/screen.rb +48 -0
  47. data/lib/appium_lib_core/mac2/device.rb +92 -0
  48. data/lib/appium_lib_core/mac2.rb +17 -0
  49. data/lib/appium_lib_core/version.rb +2 -2
  50. data/lib/appium_lib_core.rb +2 -5
  51. data/release_notes.md +140 -0
  52. data/script/commands.rb +3 -37
  53. metadata +27 -68
  54. data/lib/appium_lib_core/common/base/bridge/mjsonwp.rb +0 -81
  55. data/lib/appium_lib_core/common/base/bridge/w3c.rb +0 -252
  56. data/lib/appium_lib_core/common/command/common.rb +0 -110
  57. data/lib/appium_lib_core/common/command/w3c.rb +0 -56
data/CHANGELOG.md CHANGED
@@ -5,69 +5,148 @@ Read `release_notes.md` for commit level details.
5
5
  ## [Unreleased]
6
6
 
7
7
  ### Enhancements
8
- - Ruby 3.0 support
9
8
 
10
9
  ### Bug fixes
11
10
 
12
11
  ### Deprecations
13
12
 
14
- ## [4.1.0] - 2020-12-25
13
+ ## [5.0.3] - 2021-12-13
15
14
 
16
15
  ### Enhancements
17
- - Ruby 3.0 support
16
+ - Can add more arguments in `install_app`
17
+ - e.g. Add `timeoutMs` for XCUITest driver as `@driver.install_app("/path/to/test.ipa", timeoutMs: 20000)`
18
+
19
+ ### Bug fixes
20
+ - (internal) Allow to access to `bridge` attribute in `driver` instance for appium_flutter_finder
21
+
22
+ ## [5.0.2] - 2021-12-01
18
23
 
19
24
  ### Bug fixes
25
+ - (internal) Fix firstMatch format in a new session creation
26
+
27
+ ## [5.0.1] - 2021-11-23
28
+
29
+ ### Enhancements
30
+ - Relaxed version restriction of selenium-webdriver
31
+
32
+ ## [5.0.0] - 2021-11-05
33
+
34
+ ### Enhancements
35
+
36
+ - Update base selenium webdriver version to `v4`
37
+ - Base Selenium Ruby binding is now v4
38
+ - Support only W3C WebDriver spec (and a few Appium specific commands)
39
+ - Support Ruby 2.6+
40
+ - Add `driver#wait`, `driver#wait_until`, `driver#wait_true`, `driver#wait_until_true` syntaxes
41
+ - Can give `driver` instance as its block variable
42
+ - `element.id` returns the element id instead of `element.ref`.
43
+ - `element.ref` now returns an array.
44
+ - Removed `desired_capabilities` as capabilities for `Appium::Core#for`. Please use `capabilities` key name instead.
45
+ - e.g. `Appium::Core.for capabilities: {...}` instead of `Appium::Core.for desired_capabilities: {...}`
46
+ - Removed methods that had _Deprecated_ mark
47
+ - Removed `driver#screenshot`. Please use `driver#save_screenshot` instead
48
+ - Removed `driver#send_keys` to send keys to an active element. Please use `driver.action.send_keys('happy testing').perform` instead
49
+ - Removed `forceMjsonwp` to send only MJSONWP capabilities since Selenium cleint v4 no longer supports MJSONWP
50
+ - No longer set default `timeouts` as `0`
51
+ - ruby_lib_core calls `/timeouts` endpoint only when `appium_lib: { wait: 5 }` is provided explicitly
52
+ - Raises `::Appium::Core::Error::ArgumentError` instead of `ArgumentError` for this library specific argument errors
53
+ - Removed Selendroid related methods
20
54
 
21
55
  ### Deprecations
56
+ - `Appium::Core::TouchAction` and `Appium::Core::MultiTouch` are deprecated
57
+ - Please use W3C actions instead http://appium.io/docs/en/commands/interactions/actions/
58
+ - More working examples:
59
+ - [test/functional/android/webdriver/w3c_actions_test.rb](test/functional/android/webdriver/w3c_actions_test.rb)
60
+ - [test/functional/ios/webdriver/w3c_actions_test.rb](test/functional/ios/webdriver/w3c_actions_test.rb)
61
+ - [test/functional/common_w3c_actions.rb](test/functional/common_w3c_actions.rb)
62
+ - https://www.selenium.dev/documentation/support_packages/mouse_and_keyboard_actions_in_detail/
63
+ - https://www.youtube.com/watch?v=oAJ7jwMNFVU
64
+ - https://appiumpro.com/editions/30-ios-specific-touch-action-methods
65
+ - https://appiumpro.com/editions/29-automating-complex-gestures-with-the-w3c-actions-api
66
+ - `launch_app`, `close_app` and `reset`. Please read [issues#15807](https://github.com/appium/appium/issues/15807) for more details.
67
+ - `activate_app` or a new session request can be alternatives of `launch_app`
68
+ - `terminate_app` or close the session request can be alternatives of `close_app`
69
+ - Close current session and creating a new session, or `terminate_app` and `launch_app` can be alternatives of `reset`
22
70
 
23
- ## [4.0.0] - 2020-12-19
71
+ ## [4.7.1] - 2021-09-26
24
72
 
25
- Supported Ruby version is 2.4+
73
+ ### Enhancements
74
+ - Allow to override an existing method by `Appium::Core::Base::Driver#add_command` since Appium drivers/plugins allow to override them
75
+
76
+ ## [4.7.0] - 2021-07-17
26
77
 
27
78
  ### Enhancements
79
+ - Add `satellites` option in `Appium::Core::Base::Driver#set_location`
28
80
 
29
- ### Bug fixes
81
+ ## [4.6.0] - 2021-06-03
82
+
83
+ ### Enhancements
84
+ - Add `Appium::Core::Base::Driver#add_command` to allow you to add your own command
85
+
86
+ ## [4.5.0] - 2021-03-14
87
+
88
+ ### Enhancements
89
+ - Add `speed` argument for `Appium::Core::Base::Driver#set_location` since Appium 1.21.0
90
+ - Add `multiple` and `match_neighbour_threshold` arguments for `Appium::Core::Base::Driver#find_image_occurrence`
91
+
92
+ ## [4.4.1(4.4.0)] - 2021-02-15(2021-02-13)
93
+
94
+ ### Enhancements
95
+ - Returns `{}` any errors in `Core#appium_server_version` to prevent errors in some cases
96
+
97
+ ## [4.3.1(4.3.0)] - 2021-02-07(2021-02-05)
98
+
99
+ ### Enhancements
100
+ - Add `start_recording_screen` for Mac2 driver
101
+
102
+ ## [4.2.1] - 2021-01-10
103
+
104
+ ### Enhancements
105
+ - Refactor routable
106
+
107
+ ## [4.2.0] - 2021-01-02
108
+
109
+ ### Enhancements
110
+ - Add `Element#screenshot`, `Element#screenshot_as` and `Element#save_screenshot` in Element module
111
+ - `Element#screenshot_as` and `Element#save_screenshot` are same as `Driver#element_screenshot_as` and `Driver#save_element_screenshot`
112
+ - `Element#screenshot` is same as `Element#screenshot_as(:base64)`
113
+
114
+ ## [4.1.1] - 2020-12-25
115
+
116
+ ### Enhancements
117
+ - Ruby 3.0 support
118
+ - Arguments in `@driver.execute_cdp`
119
+ - It should be like `@driver.execute_cdp 'Page.captureScreenshot', quality: 50, format: 'jpeg'` as keyword arguments
120
+ instead of `@driver.execute_cdp 'Page.captureScreenshot', { quality: 50, format: 'jpeg' }` in Ruby 3
121
+
122
+ ## [4.0.0] - 2020-12-19
123
+
124
+ Supported Ruby version is 2.4+
30
125
 
31
126
  ### Deprecations
32
127
  - No longer work with `forceMjsonwp` capability to force the session MJSONWP
33
128
 
34
129
  ## [3.11.1] - 2020-11-20
35
130
 
36
- ### Enhancements
37
-
38
131
  ### Bug fixes
39
132
  - Fix `install_app` to be able to set no args for options
40
133
 
41
- ### Deprecations
42
-
43
134
  ## [3.11.0] - 2020-08-01
44
135
 
45
136
  ### Enhancements
46
137
  - Security update [GHSA-2v5c-755p-p4gv](https://github.com/advisories/GHSA-2v5c-755p-p4gv)
47
138
  - Affects only _::Appium::Core::WebSocket_
48
139
 
49
- ### Bug fixes
50
-
51
- ### Deprecations
52
-
53
140
  ## [3.10.1] - 2020-06-29
54
141
 
55
- ### Enhancements
56
-
57
142
  ### Bug fixes
58
143
  - Fix duplication warning of `execute_cdp`
59
144
 
60
- ### Deprecations
61
-
62
145
  ## [3.10.0] - 2020-06-09
63
146
 
64
147
  ### Enhancements
65
148
  - Remove deprecated `Selenium::WebDriver::Error::TimeOutError`
66
149
 
67
- ### Bug fixes
68
-
69
- ### Deprecations
70
-
71
150
  ## [3.9.0] - 2020-05-31
72
151
 
73
152
  ### Enhancements
@@ -86,10 +165,6 @@ Supported Ruby version is 2.4+
86
165
  @driver = Appium::Core.for(opts).start_driver
87
166
  ```
88
167
 
89
- ### Bug fixes
90
-
91
- ### Deprecations
92
-
93
168
  ## [3.8.0] - 2020-05-17
94
169
 
95
170
  ### Enhancements
@@ -99,8 +174,6 @@ Supported Ruby version is 2.4+
99
174
  ### Bug fixes
100
175
  - Fix `x-idempotency-key` header to add it only in new session request (https://github.com/appium/ruby_lib_core/issues/262)
101
176
 
102
- ### Deprecations
103
-
104
177
  ## [3.7.0] - 2020-04-18
105
178
 
106
179
  ### Enhancements
@@ -109,76 +182,44 @@ Supported Ruby version is 2.4+
109
182
  - Add chrome devtools endpoint which is available chrome module in Selenium Ruby binding
110
183
  - https://github.com/appium/appium-base-driver/pull/405
111
184
 
112
- ### Bug fixes
113
-
114
- ### Deprecations
115
-
116
185
  ## [3.6.1, 3.6.0] - 2020-03-15
117
186
 
118
187
  ### Enhancements
119
188
  - Add screen record feature for Windows driver (https://github.com/appium/appium-windows-driver/pull/66)
120
189
  - `#start_recording_screen`, `#stop_recording_screen`
121
190
 
122
- ### Bug fixes
123
-
124
- ### Deprecations
125
-
126
191
  ## [3.5.0] - 2020-01-11
127
192
 
128
193
  ### Enhancements
129
194
  - Add `:viewmatcher` selector like `@driver.find_elements :view_matcher, { name: 'withText', args: %w(Accessibility), class: 'androidx.test.espresso.matcher.ViewMatchers' }`
130
195
 
131
- ### Bug fixes
132
-
133
- ### Deprecations
134
-
135
196
  ## [3.4.2] - 2019-12-29
136
197
 
137
198
  ### Enhancements
138
199
  - Add `attr_reader :bridge` for flutter driver not to use `send`
139
200
  - https://github.com/truongsinh/appium-flutter-driver/pull/35
140
201
 
141
- ### Bug fixes
142
-
143
- ### Deprecations
144
-
145
202
  ## [3.4.0, 3.4.1] - 2019-12-26, 2019-12-27
146
203
 
147
204
  ### Enhancements
148
205
  - Fix Ruby 2.7 warnings
149
206
 
150
- ### Bug fixes
151
-
152
- ### Deprecations
153
-
154
207
  ## [3.3.0] - 2019-11-08
155
208
 
156
209
  ### Enhancements
157
210
  - Add `Logs#event` to post a custom log by `@driver.logs.event vendor: 'appium', event: 'funEvent'`
158
211
  - Add `Logs#events` to get events by `@driver.logs.events`. It is equal to `@driver.session_capabilities['events']`
159
212
 
160
- ### Bug fixes
161
-
162
- ### Deprecations
163
-
164
213
  ## [3.2.3] - 2019-09-30
165
214
 
166
215
  ### Enhancements
167
216
  - Add `system_bars` as an alias to `get_system_bars`
168
217
 
169
- ### Bug fixes
170
-
171
- ### Deprecations
172
-
173
218
  ## [3.2.2] - 2019-08-04
174
219
 
175
- ### Enhancements
176
-
177
220
  ### Bug fixes
178
221
  - Fixed parameters of `remove_app`
179
222
 
180
- ### Deprecations
181
-
182
223
  ## [3.2.1] - 2019-07-19
183
224
 
184
225
  ### Enhancements
@@ -200,39 +241,23 @@ Supported Ruby version is 2.4+
200
241
  - Add `execute_driver` to run a batch script
201
242
  - It requires Appium version which has `execute_driver` support
202
243
 
203
- ### Bug fixes
204
-
205
- ### Deprecations
206
-
207
244
  ## [3.1.3] - 2019-06-18
208
245
 
209
246
  ### Enhancements
210
247
  - Add arguments for `start_activity`
211
248
  - `intentAction`, `intentCategory`, `intentFlags`, `dontStopAppOnReset`
212
249
 
213
- ### Bug fixes
214
-
215
- ### Deprecations
216
-
217
250
  ## [3.1.2] - 2019-05-10
218
251
 
219
252
  ### Enhancements
220
253
  - Add `sessions` command to get all available sessions on the Appium server
221
254
  - [internal] Tweak error messages in emulator module
222
255
 
223
- ### Bug fixes
224
-
225
- ### Deprecations
226
-
227
256
  ## [3.1.1] - 2019-04-26
228
257
 
229
258
  ### Enhancements
230
259
  - [internal] Catch `Selenium::WebDriver::Error::TimeoutError` which will be used instead of `Selenium::WebDriver::Error::TimeOutError`
231
260
 
232
- ### Bug fixes
233
-
234
- ### Deprecations
235
-
236
261
  ## [3.1.0] - 2019-03-31
237
262
 
238
263
  ### Enhancements
@@ -240,28 +265,16 @@ Supported Ruby version is 2.4+
240
265
  - `platformName: :tvos, automationName: :xcuitest` can work for iOS tvOS
241
266
  - It requires Appium 1.13
242
267
 
243
- ### Bug fixes
244
-
245
- ### Deprecations
246
-
247
268
  ## [3.0.4] - 2019-03-24
248
269
 
249
270
  ### Enhancements
250
271
  - Add `pixelFormat` argument in screen record for iOS
251
272
 
252
- ### Bug fixes
253
-
254
- ### Deprecations
255
-
256
273
  ## [3.0.3] - 2019-03-11
257
274
 
258
275
  ### Enhancements
259
276
  - [internal] Bump Rubocop target Ruby version to Ruby 2.3
260
277
 
261
- ### Bug fixes
262
-
263
- ### Deprecations
264
-
265
278
  ## [3.0.2] - 2019-03-07
266
279
 
267
280
  ### Enhancements
@@ -271,17 +284,11 @@ Supported Ruby version is 2.4+
271
284
  - [internal] Fixed typo in `Emulator#gsm_signal` [#196](https://github.com/appium/ruby_lib_core/pull/196)
272
285
  - Thanks [khanhdodang](https://github.com/khanhdodang)
273
286
 
274
- ### Deprecations
275
-
276
287
  ## [3.0.1] - 2019-02-25
277
288
 
278
289
  ### Enhancements
279
290
  - Add `:data_matcher` find_element/s attribute [appium-espresso-driver#386](https://github.com/appium/appium-espresso-driver/pull/386)
280
291
 
281
- ### Bug fixes
282
-
283
- ### Deprecations
284
-
285
292
  ## [3.0.0] - 2019-02-06
286
293
 
287
294
  This release has a breaking change about an implicit wait.
@@ -307,8 +314,6 @@ The behaviour follows the default spec in WebDriver.
307
314
  ### Bug fixes
308
315
  - Fix potential override of `AppManagement#background_app` [#188](https://github.com/appium/ruby_lib_core/pull/188)
309
316
 
310
- ### Deprecations
311
-
312
317
  ## [2.3.4] - 2019-01-31
313
318
  ### Enhancements
314
319
  - Add 3D touch option for `TouchAction#press` [appium/WebDriverAgent#79](https://github.com/appium/WebDriverAgent/pull/79)
@@ -317,16 +322,10 @@ The behaviour follows the default spec in WebDriver.
317
322
  ### Bug fixes
318
323
  - Stop sending blank value in `start_activity`
319
324
 
320
- ### Deprecations
321
-
322
325
  ## [2.3.3] - 2019-01-22
323
- ### Enhancements
324
-
325
326
  ### Bug fixes
326
327
  - Add `*args, &block` in method missing in `Selenium::WebDriver::Element` [#184](https://github.com/appium/ruby_lib_core/pull/184)
327
328
 
328
- ### Deprecations
329
-
330
329
  ## [2.3.2] - 2019-01-20
331
330
  ### Enhancements
332
331
  - Add alias for some method calls
@@ -337,18 +336,12 @@ The behaviour follows the default spec in WebDriver.
337
336
  ### Bug fixes
338
337
  - `ServerError` inherits `CoreError` in order to handle it as an exception
339
338
 
340
- ### Deprecations
341
-
342
339
  ## [2.3.1] - 2019-01-13
343
340
  ### Enhancements
344
341
  - `set_network_connection` accepts keys as same as `network_connection_type` in addition to numbers
345
342
  - `{ :airplane_mode: 1, wifi: 2, data: 4, all: 6, none: 0 }`
346
343
  - Read [documentation](https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device#set_network_connection-instance_method) more
347
344
 
348
- ### Bug fixes
349
-
350
- ### Deprecations
351
-
352
345
  ## [2.3.0] - 2019-01-07
353
346
  ### Enhancements
354
347
  - Use `Base64.strict_encode64` when this client sends `Base64` encoded data to server
@@ -356,33 +349,19 @@ The behaviour follows the default spec in WebDriver.
356
349
  - Continues to decode base 64 data following `decode64` to accept RFC 2045 format
357
350
  - Add `query_app_state` as an alias of `app_state` to get application status
358
351
 
359
- ### Bug fixes
360
-
361
- ### Deprecations
362
-
363
352
  ## [2.2.2] - 2018-12-22
364
353
  ### Enhancements
365
354
  - Append `appium` in header: `appium/ruby_lib_core/2.2.1 (selenium/3.141.0 (ruby macosx))`
366
355
 
367
- ### Bug fixes
368
-
369
- ### Deprecations
370
-
371
356
  ## [2.2.1] - 2018-12-08
372
- ### Enhancements
373
-
374
357
  ### Bug fixes
375
358
  - Reduce warnings for method definitions
376
359
 
377
- ### Deprecations
378
-
379
360
  ## [2.2.0] - 2018-12-01
380
361
  ### Enhancements
381
362
  - Add `::Appium::Core::Base.platform` to call `::Selenium::WebDriver::Platform`
382
363
  - Can identify platform using `::Appium::Core::Base.platform.windows?` for example
383
364
 
384
- ### Bug fixes
385
-
386
365
  ### Deprecations
387
366
  - `:offset_x` and `:offset_y` in `TouchAction#swipe` is deprecated in favor of `:end_x` and `:end_y`
388
367
 
@@ -401,10 +380,6 @@ The behaviour follows the default spec in WebDriver.
401
380
  - Update `start_recording_screen` for iOS, Appium 1.10.0
402
381
  - Add `:video_scale` and update `:video_type`
403
382
 
404
- ### Bug fixes
405
-
406
- ### Deprecations
407
-
408
383
  ## [2.1.0] - 2018-11-14
409
384
  ### Enhancements
410
385
  - Support below style _1_, has _url_ parameter, in addition to style _2_
@@ -417,27 +392,15 @@ The behaviour follows the default spec in WebDriver.
417
392
  ```
418
393
  - Add `:video_fps` param for screen recording in iOS(XCUITest) to sync with Appium 1.10.0
419
394
 
420
- ### Bug fixes
421
-
422
- ### Deprecations
423
-
424
395
  ## [2.0.6] - 2018-11-08
425
396
  ### Enhancements
426
397
  - Allow selenium update following Pi versioning like 3.141.0
427
398
  - [internal] Update dev libraries
428
399
 
429
- ### Bug fixes
430
-
431
- ### Deprecations
432
-
433
400
  ## [2.0.5] - 2018-10-30
434
401
  ### Enhancements
435
402
  - [internal] No longer send `strategy: :tapOutside` as default value in Android
436
403
 
437
- ### Bug fixes
438
-
439
- ### Deprecations
440
-
441
404
  ## [2.0.4] - 2018-10-19
442
405
  ### Enhancements
443
406
  - Add custom locator in the future work: [element-finding-plugins](https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/element-finding-plugins.md)
@@ -447,27 +410,15 @@ The behaviour follows the default spec in WebDriver.
447
410
 
448
411
  ```
449
412
 
450
- ### Bug fixes
451
-
452
- ### Deprecations
453
-
454
413
  ## [2.0.3] - 2018-10-11
455
414
  ### Enhancements
456
415
  - Set `'selenium-webdriver', '~> 3.14.1'`
457
416
 
458
- ### Bug fixes
459
-
460
- ### Deprecations
461
-
462
417
  ## [2.0.2] - 2018-10-02
463
418
  ### Enhancements
464
419
  - Add finger print feature for Android emulators [#13](https://github.com/appium/ruby_lib_core/issues/13)
465
420
  - Add `keyboard_shown?` and `context=` as aliases of `is_keyboard_shown` and `set_contex`
466
421
 
467
- ### Bug fixes
468
-
469
- ### Deprecations
470
-
471
422
  ## [2.0.1] - 2018-09-01
472
423
  ### Enhancements
473
424
  - Add `Appium::Core::Base::Driver#perform_actions` to send multiple actions. See `test_multiple_actions` as an example.
@@ -475,8 +426,6 @@ The behaviour follows the default spec in WebDriver.
475
426
  ### Bug fixes
476
427
  - Fix desired capability for W3C protocol under selenium grid environment [#137](https://github.com/appium/ruby_lib_core/issues/137)
477
428
 
478
- ### Deprecations
479
-
480
429
  ## [2.0.0] - 2018-08-25
481
430
 
482
431
  This release has a breaking change for creating core. Thus, I've bumped the major version.
@@ -484,20 +433,14 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
484
433
  ### Enhancements
485
434
  - use `autoload` to load Android/iOS modules
486
435
 
487
- ### Bug fixes
488
-
489
436
  ### Deprecations
490
437
  - `@core = Appium::Core.for(self, opts)` is deprecated in favor of `@core = Appium::Core.for(opts)`
491
438
  - Call `extend Appium::Core::Device` if you'd like to extend methods defined in `Appium::Core`
492
439
  - Read [#816](https://github.com/appium/ruby_lib/pull/816) as an example
493
440
 
494
441
  ## [1.9.2] - 2018-08-23
495
- ### Enhancements
496
-
497
442
  ### Bug fixes
498
- - fix unexpedted method missing against `:to_hash` in Element
499
-
500
- ### Deprecations
443
+ - fix unexpected method missing against `:to_hash` in Element
501
444
 
502
445
  ## [1.9.1] - 2018-08-20
503
446
  ### Enhancements
@@ -507,8 +450,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
507
450
  ### Bug fixes
508
451
  - [internal] Fix raising error in `set_implicit_wait_by_default` [#130](https://github.com/appium/ruby_lib_core/issues/130)
509
452
 
510
- ### Deprecations
511
-
512
453
  ## [1.9.0] - 2018-08-05
513
454
  ### Enhancements
514
455
  - Update documentation about `start_recording_screen`
@@ -516,8 +457,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
516
457
  - Support `find_element/s :image, partial_image` [#119](https://github.com/appium/ruby_lib_core/pull/119)
517
458
  - Requires `selenium-webdriver 3.14+` because of W3C actions [#115](https://github.com/appium/ruby_lib_core/pull/115)
518
459
 
519
- ### Bug fixes
520
-
521
460
  ### Deprecations
522
461
  - [Internal] Deprecate experimental `ImageElement` in favor of `Element`
523
462
 
@@ -527,10 +466,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
527
466
  - Use method missing to get attributes like `e.resource_id` instead of `e.attribute 'resource-id'` [#116](https://github.com/appium/ruby_lib_core/pull/116)
528
467
  - Set `'~> 3.5', '< 3.14'`
529
468
 
530
- ### Bug fixes
531
-
532
- ### Deprecations
533
-
534
469
  ## [1.8.3] - 2018-07-20
535
470
  ### Enhancements
536
471
  - Relax the logic of `:app` capability
@@ -538,11 +473,7 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
538
473
  ### Bug fixes
539
474
  - Fix `within_context`
540
475
 
541
- ### Deprecations
542
-
543
476
  ## [1.8.2] - 2018-07-17
544
- ### Enhancements
545
-
546
477
  ### Bug fixes
547
478
  - Available packages over HTTP [#106](https://github.com/appium/ruby_lib_core/issues/106)
548
479
 
@@ -550,23 +481,15 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
550
481
  - Remove warning of camelCase capability for W3C format
551
482
 
552
483
  ## [1.8.1] - 2018-07-13
553
- ### Enhancements
554
-
555
484
  ### Bug fixes
556
485
  - Fix including search context in `::Selenium::WebDriver::Elemenet`
557
486
  - `include ::Appium::Core::Base::SearchContext` instead of `::Selenium::WebDriver::SearchContext`
558
487
 
559
- ### Deprecations
560
-
561
488
  ## [1.8.0] - 2018-07-07
562
489
  ### Enhancements
563
490
  - Add Tizen case
564
491
  - [Internal] reduce method definition by `add_endpoint_method`
565
492
 
566
- ### Bug fixes
567
-
568
- ### Deprecations
569
-
570
493
  ## [1.7.2] - 2018-06-23
571
494
  ### Enhancements
572
495
  - Add `find_element_by_image` and `find_elements_by_image` to handle `ImageElement`
@@ -575,10 +498,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
575
498
  - Experimental feature
576
499
  - [Internal] Define screenshot methods in appium_lib_core instead of Selenium's one
577
500
 
578
- ### Bug fixes
579
-
580
- ### Deprecations
581
-
582
501
  ## [1.7.1] - 2018-06-15
583
502
  ### Enhancements
584
503
  - Add a `format` argument for `device_time` [#94](https://github.com/appium/ruby_lib_core/pull/94)
@@ -586,8 +505,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
586
505
  ### Bug fixes
587
506
  - Return empty array `[]` for find_elements
588
507
 
589
- ### Deprecations
590
-
591
508
  ## [1.7.0] - 2018-05-28
592
509
  ### Enhancements
593
510
  - Has one **Breaking Change**
@@ -600,10 +517,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
600
517
  - [Internal] Change directory and file structure
601
518
  - [Internal] Set default content-type
602
519
 
603
- ### Bug fixes
604
-
605
- ### Deprecations
606
-
607
520
  ## [1.6.0] - 2018-05-08
608
521
  ### Enhancements
609
522
  - **Breaking Change**
@@ -615,36 +528,22 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
615
528
  - add `battery_info` to get battery information
616
529
  - add `is_keyboard_shown` for iOS ( see also https://github.com/appium/appium-xcuitest-driver/pull/664/files )
617
530
 
618
- ### Bug fixes
619
-
620
- ### Deprecations
621
-
622
531
  ## [1.5.1] - 2018-04-25
623
- ### Enhancements
624
-
625
532
  ### Bug fixes
626
533
  - Revert timeout logic in `1.4.1`
627
534
 
628
- ### Deprecations
629
-
630
535
  ## [1.5.0] - 2018-04-25
631
536
  ### Enhancements
632
537
  - [internal] Remove hot fix for XCUITest action
633
538
 
634
- ### Bug fixes
635
-
636
539
  ### Deprecations
637
540
  - Changed the name of arguments
638
541
  - `swipe(start_x:, start_y:, end_x:, end_y:)` instead of `swipe(start_x:, start_y:, offset_x:, offset_y:)`
639
542
 
640
543
  ## [1.4.2] - 2018-04-22
641
- ### Enhancements
642
-
643
544
  ### Bug fixes
644
545
  - Revert `delegate_from_appium_driver` for `ruby_lib` compatibility
645
546
 
646
- ### Deprecations
647
-
648
547
  ## [1.4.1] - 2018-04-22
649
548
  ### Enhancements
650
549
  - add base image comparison
@@ -653,54 +552,30 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
653
552
  - Raise `::Appium::Core::Wait::TimeoutError` instead of `::Selenium::WebDriver::Error::TimeOutError`
654
553
  - [internal] Separate mjsonwp commands module and w3c commands module from one command module
655
554
 
656
- ### Bug fixes
657
-
658
- ### Deprecations
659
-
660
555
  ## [1.4.0] - 2018-04-15
661
556
  ### Enhancements
662
557
  - Add a support for WebSocket client based on Faye::WebSocket::Client [#74](https://github.com/appium/ruby_lib_core/pull/74)
663
558
 
664
- ### Bug fixes
665
-
666
- ### Deprecations
667
-
668
559
  ## [1.3.8] - 2018-04-12
669
560
  ### Enhancements
670
561
  - Make no-argument commands friendly for IDE
671
562
 
672
- ### Bug fixes
673
-
674
- ### Deprecations
675
-
676
563
  ## [1.3.7] - 2018-04-02
677
564
  ### Enhancements
678
565
  - Only for `ruby_lib_core` internal process
679
566
  - Remove `touch` action by default and following `selenium-webdriver` in W3C action.
680
567
  - Since XCUITest and UA2 drivers force handling the pointer as `touch`.
681
568
 
682
- ### Bug fixes
683
-
684
- ### Deprecations
685
-
686
569
  ## [1.3.6] - 2018-04-01
687
570
  ### Enhancements
688
571
  - Be able to change `kind` in W3C touch action.
689
572
  - Read: https://github.com/appium/ruby_lib_core/blob/master/lib/appium_lib_core/common/base/bridge/w3c.rb#L29
690
573
 
691
- ### Bug fixes
692
-
693
- ### Deprecations
694
-
695
574
  ## [1.3.5] - 2018-03-30
696
575
  ### Enhancements
697
576
  - Add a `bug_report` option in `start_recording_screen`, Android
698
577
  - Add clipboard apis [#69](https://github.com/appium/ruby_lib_core/pull/69)
699
578
 
700
- ### Bug fixes
701
-
702
- ### Deprecations
703
-
704
579
  ## [1.3.4] - 2018-03-21
705
580
  ### Enhancements
706
581
  - Add `save_viewport_screenshot` which get screenshot except for status bar.
@@ -710,16 +585,10 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
710
585
  ### Bug fixes
711
586
  - Fix _create_session attempt to throw non-existent error type Appium::Core::Error::WebDriverError_ [#66](https://github.com/appium/ruby_lib_core/issues/66)
712
587
 
713
- ### Deprecations
714
-
715
588
  ## [1.3.3] - 2018-03-03
716
589
  ### Enhancements
717
590
  - add `session_capabilities`: https://appium.io/docs/en/commands/session/get/
718
591
 
719
- ### Bug fixes
720
-
721
- ### Deprecations
722
-
723
592
  ## [1.3.2] - 2018-02-18
724
593
  ### Enhancements
725
594
  - Add Android emulator commands
@@ -727,10 +596,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
727
596
  - Add toggles
728
597
  - `toggle_location_services`, `toggle_wifi`, `toggle_data`
729
598
 
730
- ### Bug fixes
731
-
732
- ### Deprecations
733
-
734
599
  ## [1.3.1] - 2018-02-14
735
600
  ### Enhancements
736
601
  - add some app management commands [#58](https://github.com/appium/ruby_lib_core/pull/58)
@@ -752,10 +617,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
752
617
  .perform
753
618
  ```
754
619
 
755
- ### Bug fixes
756
-
757
- ### Deprecations
758
-
759
620
  ## [1.3.0] - 2018-01-28
760
621
  ### Enhancements
761
622
  - `start_recording_screen`/`stop_recording_screen` support iOS from `Appium 1.8.0` [#48](https://github.com/appium/ruby_lib_core/issues/48)
@@ -763,10 +624,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
763
624
  - `start_recording_screen`
764
625
  - The argument, `file_path`, was removed.
765
626
 
766
- ### Bug fixes
767
-
768
- ### Deprecations
769
-
770
627
  ## [1.2.7] - 2018-01-25
771
628
  ### Enhancements
772
629
  - Print warning messages to use camelCase if capability key names are snake_case
@@ -775,8 +632,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
775
632
  ### Bug fixes
776
633
  - Make `@driver.automation_name` downcase [#50](https://github.com/appium/ruby_lib_core/issues/50)
777
634
 
778
- ### Deprecations
779
-
780
635
  ## [1.2.6] - 2018-01-21
781
636
  ### Enhancements
782
637
  - Add `window_rect`
@@ -784,17 +639,11 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
784
639
  ### Bug fixes
785
640
  - Make `@driver.automation_name` symbol when someone define the `automationName` with the server argument. [#50](https://github.com/appium/ruby_lib_core/issues/50)
786
641
 
787
- ### Deprecations
788
-
789
642
  ## [1.2.5] - 2018-01-13
790
643
  ### Enhancements
791
644
  - Enhance W3C support
792
645
  - Timeout related methods
793
646
 
794
- ### Bug fixes
795
-
796
- ### Deprecations
797
-
798
647
  ## [1.2.4] - 2018-01-03
799
648
  ### Enhancements
800
649
  - Refactor `create_session` in `Appium::Core::Base::Bridge`
@@ -806,34 +655,18 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
806
655
  - Read `lib/appium_lib_core/common/base/w3c_bridge.rb` for more details
807
656
  - Can get logs like `driver.logs.available_types` and `driver.logs.get`
808
657
 
809
- ### Bug fixes
810
-
811
- ### Deprecations
812
-
813
658
  ## [1.2.3] - 2017-12-27
814
- ### Enhancements
815
-
816
659
  ### Bug fixes
817
660
  - Fix some w3c methods to work with Appium part 2 [#38](https://github.com/appium/ruby_lib_core/pull/38)
818
661
 
819
- ### Deprecations
820
-
821
662
  ## [1.2.2] - 2017-12-25
822
- ### Enhancements
823
-
824
663
  ### Bug fixes
825
664
  - Fix some w3c methods to work with Appium [#37](https://github.com/appium/ruby_lib_core/pull/37)
826
665
 
827
- ### Deprecations
828
-
829
666
  ## [1.2.1] - 2017-12-23
830
667
  ### Enhancements
831
668
  - override default duration to make some action fast [#36](https://github.com/appium/ruby_lib_core/pull/36)
832
669
 
833
- ### Bug fixes
834
-
835
- ### Deprecations
836
-
837
670
  ## [1.2.0] - 2017-12-23
838
671
  ### Enhancements
839
672
  - Append `appium:` prefix for capabilities automatically due to W3C format.
@@ -842,10 +675,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
842
675
  - IME related
843
676
  - Touch actions based on W3C spec
844
677
 
845
- ### Bug fixes
846
-
847
- ### Deprecations
848
-
849
678
  ## [1.1.0] - 2017-12-16
850
679
  ### Enhancements
851
680
  - Add guidelines in `.github`
@@ -854,8 +683,6 @@ This release has a breaking change for creating core. Thus, I've bumped the majo
854
683
  ### Bug fixes
855
684
  - fix creating sessions [#31](https://github.com/appium/ruby_lib_core/pull/31) for W3C creating sessions
856
685
 
857
- ### Deprecations
858
-
859
686
  ## [1.0.0] - 2017-11-12
860
687
 
861
688
  Initial release