appium_lib_core 4.1.0 → 5.1.0

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