appium_lib_core 4.1.0 → 5.3.0

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