appium_lib_core 4.1.0 → 7.4.0

Sign up to get free protection for your applications and to get access to all the features.
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