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