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.
- 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
|