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