appium_lib_core 4.1.0 → 5.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +129 -275
- data/README.md +12 -7
- data/Rakefile +4 -0
- data/appium_lib_core.gemspec +5 -8
- data/bin/console +0 -4
- data/lib/appium_lib_core/android/device/auth_finger_print.rb +2 -1
- data/lib/appium_lib_core/android/device.rb +4 -4
- data/lib/appium_lib_core/common/base/bridge.rb +291 -90
- data/lib/appium_lib_core/common/base/capabilities.rb +10 -3
- data/lib/appium_lib_core/common/base/device_ime.rb +49 -0
- data/lib/appium_lib_core/common/base/driver.rb +223 -184
- data/lib/appium_lib_core/common/base/driver_settings.rb +51 -0
- data/lib/appium_lib_core/common/base/has_location.rb +80 -0
- data/lib/appium_lib_core/common/base/has_network_connection.rb +56 -0
- data/lib/appium_lib_core/common/base/http_default.rb +1 -3
- data/lib/appium_lib_core/common/base/remote_status.rb +31 -0
- data/lib/appium_lib_core/common/base/rotable.rb +54 -0
- data/lib/appium_lib_core/common/base/screenshot.rb +6 -6
- data/lib/appium_lib_core/common/base/search_context.rb +19 -4
- data/lib/appium_lib_core/common/base.rb +1 -3
- data/lib/appium_lib_core/common/command.rb +255 -4
- data/lib/appium_lib_core/common/device/app_management.rb +2 -14
- data/lib/appium_lib_core/common/device/image_comparison.rb +12 -4
- data/lib/appium_lib_core/common/device/keyevent.rb +4 -4
- data/lib/appium_lib_core/common/{command/mjsonwp.rb → device/orientation.rb} +14 -11
- data/lib/appium_lib_core/common/device/touch_actions.rb +2 -0
- data/lib/appium_lib_core/common/device/value.rb +6 -6
- data/lib/appium_lib_core/common/error.rb +4 -1
- data/lib/appium_lib_core/common/log.rb +4 -1
- data/lib/appium_lib_core/common/touch_action/multi_touch.rb +19 -0
- data/lib/appium_lib_core/common/touch_action/touch_actions.rb +16 -2
- data/lib/appium_lib_core/common/wait.rb +38 -6
- data/lib/appium_lib_core/device.rb +1 -5
- data/lib/appium_lib_core/driver.rb +42 -50
- data/lib/appium_lib_core/{patch.rb → element.rb} +66 -9
- data/lib/appium_lib_core/ios/uiautomation/patch.rb +1 -1
- data/lib/appium_lib_core/{common/base/command.rb → mac2/bridge.rb} +9 -8
- data/lib/appium_lib_core/mac2/device/screen.rb +48 -0
- data/lib/appium_lib_core/mac2/device.rb +92 -0
- data/lib/appium_lib_core/mac2.rb +17 -0
- data/lib/appium_lib_core/version.rb +2 -2
- data/lib/appium_lib_core.rb +2 -5
- metadata +25 -84
- data/.github/ISSUE_TEMPLATE/issue-report.md +0 -29
- data/.github/contributing.md +0 -26
- data/.github/issue_template.md +0 -20
- data/.github/workflows/unittest.yml +0 -68
- data/.gitignore +0 -18
- data/.rubocop.yml +0 -58
- data/azure-pipelines.yml +0 -15
- data/ci-jobs/functional/android_setup.yml +0 -3
- data/ci-jobs/functional/ios_setup.yml +0 -7
- data/ci-jobs/functional/publish_test_result.yml +0 -18
- data/ci-jobs/functional/run_appium.yml +0 -25
- data/ci-jobs/functional/start-emulator.sh +0 -26
- data/ci-jobs/functional_test.yml +0 -298
- data/docs/mobile_command.md +0 -34
- data/lib/appium_lib_core/common/base/bridge/mjsonwp.rb +0 -81
- data/lib/appium_lib_core/common/base/bridge/w3c.rb +0 -252
- data/lib/appium_lib_core/common/command/common.rb +0 -110
- data/lib/appium_lib_core/common/command/w3c.rb +0 -56
- data/release_notes.md +0 -816
- 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
|
-
## [
|
13
|
+
## [5.2.0] - 2022-06-19
|
15
14
|
|
16
15
|
### Enhancements
|
17
|
-
|
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.
|
98
|
+
## [4.7.1] - 2021-09-26
|
24
99
|
|
25
|
-
|
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
|
-
|
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
|
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
|