appium_lib_core 4.1.0 → 5.5.2

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