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