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