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