appium_lib_core 4.1.0 → 7.3.2

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