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