appium_lib_core 4.1.0 → 5.0.3
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 +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
|