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