appium_lib_core 4.1.0 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +176 -273
- data/README.md +22 -11
- data/Rakefile +4 -0
- data/appium_lib_core.gemspec +5 -8
- data/bin/console +0 -4
- data/lib/appium_lib_core/android/device/auth_finger_print.rb +2 -1
- data/lib/appium_lib_core/android/device.rb +4 -4
- data/lib/appium_lib_core/common/base/bridge.rb +291 -92
- data/lib/appium_lib_core/common/base/capabilities.rb +8 -9
- data/lib/appium_lib_core/common/base/device_ime.rb +49 -0
- data/lib/appium_lib_core/common/base/driver.rb +225 -187
- 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 +20 -5
- data/lib/appium_lib_core/common/base.rb +1 -3
- data/lib/appium_lib_core/common/command.rb +255 -4
- data/lib/appium_lib_core/common/device/app_management.rb +2 -14
- data/lib/appium_lib_core/common/device/image_comparison.rb +12 -4
- data/lib/appium_lib_core/common/device/keyevent.rb +4 -4
- data/lib/appium_lib_core/common/{command/mjsonwp.rb → device/orientation.rb} +14 -11
- data/lib/appium_lib_core/common/device/touch_actions.rb +2 -0
- data/lib/appium_lib_core/common/device/value.rb +6 -6
- data/lib/appium_lib_core/common/error.rb +4 -5
- 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 +68 -82
- 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 +20 -10
- metadata +29 -82
- data/.github/ISSUE_TEMPLATE/issue-report.md +0 -29
- data/.github/contributing.md +0 -26
- data/.github/issue_template.md +0 -20
- data/.github/workflows/unittest.yml +0 -68
- data/.gitignore +0 -18
- data/.rubocop.yml +0 -58
- data/azure-pipelines.yml +0 -15
- data/ci-jobs/functional/android_setup.yml +0 -3
- data/ci-jobs/functional/ios_setup.yml +0 -7
- data/ci-jobs/functional/publish_test_result.yml +0 -18
- data/ci-jobs/functional/run_appium.yml +0 -25
- data/ci-jobs/functional/start-emulator.sh +0 -26
- data/ci-jobs/functional_test.yml +0 -298
- data/docs/mobile_command.md +0 -34
- data/lib/appium_lib_core/common/base/bridge/mjsonwp.rb +0 -81
- data/lib/appium_lib_core/common/base/bridge/w3c.rb +0 -252
- data/lib/appium_lib_core/common/command/common.rb +0 -110
- data/lib/appium_lib_core/common/command/w3c.rb +0 -56
- data/release_notes.md +0 -816
- data/script/commands.rb +0 -200
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
module Appium
|
16
16
|
module Core
|
17
|
-
VERSION = '
|
18
|
-
DATE = '
|
17
|
+
VERSION = '5.6.0' unless defined? ::Appium::Core::VERSION
|
18
|
+
DATE = '2022-11-08' unless defined? ::Appium::Core::DATE
|
19
19
|
end
|
20
20
|
end
|
data/lib/appium_lib_core.rb
CHANGED
@@ -17,23 +17,29 @@ require 'selenium-webdriver'
|
|
17
17
|
require_relative 'appium_lib_core/version'
|
18
18
|
require_relative 'appium_lib_core/common'
|
19
19
|
require_relative 'appium_lib_core/driver'
|
20
|
-
|
21
20
|
require_relative 'appium_lib_core/device'
|
22
|
-
|
23
|
-
# Call patch after requiring other files
|
24
|
-
require_relative 'appium_lib_core/patch'
|
21
|
+
require_relative 'appium_lib_core/element'
|
25
22
|
|
26
23
|
module Appium
|
27
|
-
#
|
24
|
+
# @private
|
25
|
+
#
|
26
|
+
# convert the top level keys to symbols.
|
28
27
|
#
|
29
|
-
# based on deep_symbolize_keys & deep_transform_keys from rails
|
30
|
-
# https://github.com/rails/docrails/blob/a3b1105ada3da64acfa3843b164b14b734456a50/activesupport/lib/active_support/core_ext/hash/keys.rb#L84
|
31
28
|
# @param [Hash] hash Hash value to make symbolise
|
32
|
-
def self.symbolize_keys(hash)
|
33
|
-
|
29
|
+
def self.symbolize_keys(hash, nested: false, enable_deprecation_msg: true)
|
30
|
+
# FIXME: As https://github.com/appium/ruby_lib/issues/945, we must remove this implicit string to symbol.
|
31
|
+
# But appium_lib_core's some capability handling expect to be symbol, so we should test to remove
|
32
|
+
# the mehotds which expect the symbol first.
|
33
|
+
raise ::Appium::Core::Error::ArgumentError, 'symbolize_keys requires a hash' unless hash.is_a? Hash
|
34
34
|
|
35
35
|
hash.each_with_object({}) do |pair, acc|
|
36
36
|
key = begin
|
37
|
+
if enable_deprecation_msg && !(pair[0].is_a? Symbol)
|
38
|
+
::Appium::Logger.warn("[Deprecation] The key '#{pair[0]}' must be a symbol while currently it " \
|
39
|
+
"is #{pair[0].class.name}. Please define the key as a Symbol. " \
|
40
|
+
'Converting it to Symbol for now.')
|
41
|
+
end
|
42
|
+
|
37
43
|
pair[0].to_sym
|
38
44
|
rescue StandardError => e
|
39
45
|
::Appium::Logger.warn(e.message)
|
@@ -41,7 +47,11 @@ module Appium
|
|
41
47
|
end
|
42
48
|
|
43
49
|
value = pair[1]
|
44
|
-
acc[key] =
|
50
|
+
acc[key] = if nested
|
51
|
+
value.is_a?(Hash) ? symbolize_keys(value, nested: false, enable_deprecation_msg: false) : value
|
52
|
+
else
|
53
|
+
value
|
54
|
+
end
|
45
55
|
end
|
46
56
|
end
|
47
57
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appium_lib_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuaki MATSUO
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -16,20 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
- - "
|
19
|
+
version: '4.2'
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: '4.7'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
30
|
-
- - "
|
29
|
+
version: '4.2'
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: '4.7'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: faye-websocket
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,20 +44,6 @@ dependencies:
|
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 0.11.0
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: bundler
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '1.14'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '1.14'
|
61
47
|
- !ruby/object:Gem::Dependency
|
62
48
|
name: rake
|
63
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,28 +106,28 @@ dependencies:
|
|
120
106
|
requirements:
|
121
107
|
- - "~>"
|
122
108
|
- !ruby/object:Gem::Version
|
123
|
-
version: 3.
|
109
|
+
version: 3.18.1
|
124
110
|
type: :development
|
125
111
|
prerelease: false
|
126
112
|
version_requirements: !ruby/object:Gem::Requirement
|
127
113
|
requirements:
|
128
114
|
- - "~>"
|
129
115
|
- !ruby/object:Gem::Version
|
130
|
-
version: 3.
|
116
|
+
version: 3.18.1
|
131
117
|
- !ruby/object:Gem::Dependency
|
132
118
|
name: rubocop
|
133
119
|
requirement: !ruby/object:Gem::Requirement
|
134
120
|
requirements:
|
135
121
|
- - '='
|
136
122
|
- !ruby/object:Gem::Version
|
137
|
-
version: 1.
|
123
|
+
version: 1.38.0
|
138
124
|
type: :development
|
139
125
|
prerelease: false
|
140
126
|
version_requirements: !ruby/object:Gem::Requirement
|
141
127
|
requirements:
|
142
128
|
- - '='
|
143
129
|
- !ruby/object:Gem::Version
|
144
|
-
version: 1.
|
130
|
+
version: 1.38.0
|
145
131
|
- !ruby/object:Gem::Dependency
|
146
132
|
name: appium_thor
|
147
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,34 +142,6 @@ dependencies:
|
|
156
142
|
- - "~>"
|
157
143
|
- !ruby/object:Gem::Version
|
158
144
|
version: '1.0'
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: pry
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - ">="
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '0'
|
166
|
-
type: :development
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
requirements:
|
170
|
-
- - ">="
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: '0'
|
173
|
-
- !ruby/object:Gem::Dependency
|
174
|
-
name: pry-byebug
|
175
|
-
requirement: !ruby/object:Gem::Requirement
|
176
|
-
requirements:
|
177
|
-
- - ">="
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: '0'
|
180
|
-
type: :development
|
181
|
-
prerelease: false
|
182
|
-
version_requirements: !ruby/object:Gem::Requirement
|
183
|
-
requirements:
|
184
|
-
- - ">="
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version: '0'
|
187
145
|
- !ruby/object:Gem::Dependency
|
188
146
|
name: parallel_tests
|
189
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -219,12 +177,6 @@ executables: []
|
|
219
177
|
extensions: []
|
220
178
|
extra_rdoc_files: []
|
221
179
|
files:
|
222
|
-
- ".github/ISSUE_TEMPLATE/issue-report.md"
|
223
|
-
- ".github/contributing.md"
|
224
|
-
- ".github/issue_template.md"
|
225
|
-
- ".github/workflows/unittest.yml"
|
226
|
-
- ".gitignore"
|
227
|
-
- ".rubocop.yml"
|
228
180
|
- CHANGELOG.md
|
229
181
|
- Gemfile
|
230
182
|
- LICENSE.txt
|
@@ -232,16 +184,8 @@ files:
|
|
232
184
|
- Rakefile
|
233
185
|
- Thorfile
|
234
186
|
- appium_lib_core.gemspec
|
235
|
-
- azure-pipelines.yml
|
236
187
|
- bin/console
|
237
188
|
- bin/setup
|
238
|
-
- ci-jobs/functional/android_setup.yml
|
239
|
-
- ci-jobs/functional/ios_setup.yml
|
240
|
-
- ci-jobs/functional/publish_test_result.yml
|
241
|
-
- ci-jobs/functional/run_appium.yml
|
242
|
-
- ci-jobs/functional/start-emulator.sh
|
243
|
-
- ci-jobs/functional_test.yml
|
244
|
-
- docs/mobile_command.md
|
245
189
|
- lib/appium_lib_core.rb
|
246
190
|
- lib/appium_lib_core/android.rb
|
247
191
|
- lib/appium_lib_core/android/device.rb
|
@@ -261,19 +205,19 @@ files:
|
|
261
205
|
- lib/appium_lib_core/common.rb
|
262
206
|
- lib/appium_lib_core/common/base.rb
|
263
207
|
- lib/appium_lib_core/common/base/bridge.rb
|
264
|
-
- lib/appium_lib_core/common/base/bridge/mjsonwp.rb
|
265
|
-
- lib/appium_lib_core/common/base/bridge/w3c.rb
|
266
208
|
- lib/appium_lib_core/common/base/capabilities.rb
|
267
|
-
- lib/appium_lib_core/common/base/
|
209
|
+
- lib/appium_lib_core/common/base/device_ime.rb
|
268
210
|
- lib/appium_lib_core/common/base/driver.rb
|
211
|
+
- lib/appium_lib_core/common/base/driver_settings.rb
|
212
|
+
- lib/appium_lib_core/common/base/has_location.rb
|
213
|
+
- lib/appium_lib_core/common/base/has_network_connection.rb
|
269
214
|
- lib/appium_lib_core/common/base/http_default.rb
|
270
215
|
- lib/appium_lib_core/common/base/platform.rb
|
216
|
+
- lib/appium_lib_core/common/base/remote_status.rb
|
217
|
+
- lib/appium_lib_core/common/base/rotable.rb
|
271
218
|
- lib/appium_lib_core/common/base/screenshot.rb
|
272
219
|
- lib/appium_lib_core/common/base/search_context.rb
|
273
220
|
- lib/appium_lib_core/common/command.rb
|
274
|
-
- lib/appium_lib_core/common/command/common.rb
|
275
|
-
- lib/appium_lib_core/common/command/mjsonwp.rb
|
276
|
-
- lib/appium_lib_core/common/command/w3c.rb
|
277
221
|
- lib/appium_lib_core/common/device/app_management.rb
|
278
222
|
- lib/appium_lib_core/common/device/app_state.rb
|
279
223
|
- lib/appium_lib_core/common/device/battery_status.rb
|
@@ -287,6 +231,7 @@ files:
|
|
287
231
|
- lib/appium_lib_core/common/device/ime_actions.rb
|
288
232
|
- lib/appium_lib_core/common/device/keyboard.rb
|
289
233
|
- lib/appium_lib_core/common/device/keyevent.rb
|
234
|
+
- lib/appium_lib_core/common/device/orientation.rb
|
290
235
|
- lib/appium_lib_core/common/device/screen_record.rb
|
291
236
|
- lib/appium_lib_core/common/device/setting.rb
|
292
237
|
- lib/appium_lib_core/common/device/touch_actions.rb
|
@@ -301,6 +246,7 @@ files:
|
|
301
246
|
- lib/appium_lib_core/common/ws/websocket.rb
|
302
247
|
- lib/appium_lib_core/device.rb
|
303
248
|
- lib/appium_lib_core/driver.rb
|
249
|
+
- lib/appium_lib_core/element.rb
|
304
250
|
- lib/appium_lib_core/ios.rb
|
305
251
|
- lib/appium_lib_core/ios/device.rb
|
306
252
|
- lib/appium_lib_core/ios/device/clipboard.rb
|
@@ -313,19 +259,20 @@ files:
|
|
313
259
|
- lib/appium_lib_core/ios/xcuitest/device/performance.rb
|
314
260
|
- lib/appium_lib_core/ios/xcuitest/device/screen.rb
|
315
261
|
- lib/appium_lib_core/ios_xcuitest.rb
|
316
|
-
- lib/appium_lib_core/
|
262
|
+
- lib/appium_lib_core/mac2.rb
|
263
|
+
- lib/appium_lib_core/mac2/bridge.rb
|
264
|
+
- lib/appium_lib_core/mac2/device.rb
|
265
|
+
- lib/appium_lib_core/mac2/device/screen.rb
|
317
266
|
- lib/appium_lib_core/version.rb
|
318
267
|
- lib/appium_lib_core/windows.rb
|
319
268
|
- lib/appium_lib_core/windows/bridge.rb
|
320
269
|
- lib/appium_lib_core/windows/device.rb
|
321
270
|
- lib/appium_lib_core/windows/device/screen.rb
|
322
|
-
- release_notes.md
|
323
|
-
- script/commands.rb
|
324
271
|
homepage: https://github.com/appium/ruby_lib_core/
|
325
272
|
licenses:
|
326
273
|
- Apache-2.0
|
327
274
|
metadata: {}
|
328
|
-
post_install_message:
|
275
|
+
post_install_message:
|
329
276
|
rdoc_options: []
|
330
277
|
require_paths:
|
331
278
|
- lib
|
@@ -333,15 +280,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
333
280
|
requirements:
|
334
281
|
- - ">="
|
335
282
|
- !ruby/object:Gem::Version
|
336
|
-
version: '2.
|
283
|
+
version: '2.7'
|
337
284
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
338
285
|
requirements:
|
339
286
|
- - ">="
|
340
287
|
- !ruby/object:Gem::Version
|
341
288
|
version: '0'
|
342
289
|
requirements: []
|
343
|
-
rubygems_version: 3.
|
344
|
-
signing_key:
|
290
|
+
rubygems_version: 3.3.3
|
291
|
+
signing_key:
|
345
292
|
specification_version: 4
|
346
293
|
summary: Minimal Ruby library for Appium.
|
347
294
|
test_files: []
|
@@ -1,29 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: issue report
|
3
|
-
about: Create a report to help us improve
|
4
|
-
title: ''
|
5
|
-
labels: ''
|
6
|
-
assignees: ''
|
7
|
-
|
8
|
-
---
|
9
|
-
|
10
|
-
## This is a
|
11
|
-
* [ ] Bug report
|
12
|
-
* [ ] Question
|
13
|
-
* [ ] Feature Request
|
14
|
-
|
15
|
-
## Summary
|
16
|
-
|
17
|
-
## Environment
|
18
|
-
* `ruby_lib_core` version:
|
19
|
-
* Mobile platform/version/device under test:
|
20
|
-
|
21
|
-
## Actual behaviour and steps to reproduce
|
22
|
-
|
23
|
-
## Expected behaviour
|
24
|
-
|
25
|
-
## Link to Appium/Ruby logs
|
26
|
-
|
27
|
-
Create a [GIST](https://gist.github.com) which is a paste of your _full_ Appium logs, and link them here.
|
28
|
-
|
29
|
-
## Any additional comments
|
data/.github/contributing.md
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# Contributing
|
2
|
-
|
3
|
-
For features or bug fixes, please submit a pull request. Ideally there would be a test as well. The remainder of this doc details how to run the tests.
|
4
|
-
|
5
|
-
## Tests
|
6
|
-
### Unit Tests
|
7
|
-
- `rake test:unit` run on Travis automatically
|
8
|
-
|
9
|
-
### Functional Tests
|
10
|
-
- iOS
|
11
|
-
- `rake test:func:ios`
|
12
|
-
- Android
|
13
|
-
- `rake test:func:android`
|
14
|
-
|
15
|
-
## Merge
|
16
|
-
- Squash and merge when we merge PRs to the master
|
17
|
-
|
18
|
-
## Publishing on rubygems
|
19
|
-
|
20
|
-
0. Ensure you have `~/.gem/credentials` If not run [the following command](http://guides.rubygems.org/make-your-own-gem/) (replace username with your rubygems user)
|
21
|
-
> $ curl -u username https://rubygems.org/api/v1/api_key.yaml >
|
22
|
-
~/.gem/credentials; chmod 0600 ~/.gem/credentials
|
23
|
-
|
24
|
-
1. Bump the version number `thor bump`
|
25
|
-
2. Generate release note, build and publish gem with `thor release`
|
26
|
-
3. Update `changelog.md`
|
data/.github/issue_template.md
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
## This is a
|
2
|
-
* [ ] Bug report
|
3
|
-
* [ ] Question
|
4
|
-
* [ ] Feature Request
|
5
|
-
|
6
|
-
## Summary
|
7
|
-
|
8
|
-
## Environment
|
9
|
-
* `ruby_lib_core` version:
|
10
|
-
* Mobile platform/version/device under test:
|
11
|
-
|
12
|
-
## Actual behaviour and steps to reproduce
|
13
|
-
|
14
|
-
## Expected behaviour
|
15
|
-
|
16
|
-
## Link to Appium/Ruby logs
|
17
|
-
|
18
|
-
Create a [GIST](https://gist.github.com) which is a paste of your _full_ Appium logs, and link them here.
|
19
|
-
|
20
|
-
## Any additional comments
|
@@ -1,68 +0,0 @@
|
|
1
|
-
name: Runs lint and unit tests
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
branches: [ master ]
|
6
|
-
pull_request:
|
7
|
-
branches: [ master ]
|
8
|
-
|
9
|
-
jobs:
|
10
|
-
test:
|
11
|
-
strategy:
|
12
|
-
fail-fast: false
|
13
|
-
matrix:
|
14
|
-
ruby: [2.4, 2.5, 2.6, 2.7, 3.0]
|
15
|
-
|
16
|
-
runs-on: ubuntu-latest
|
17
|
-
|
18
|
-
env:
|
19
|
-
UNIT_TEST: true
|
20
|
-
|
21
|
-
steps:
|
22
|
-
- uses: actions/checkout@v2
|
23
|
-
- name: Set up Ruby
|
24
|
-
uses: ruby/setup-ruby@v1
|
25
|
-
with:
|
26
|
-
ruby-version: ${{ matrix.ruby }}
|
27
|
-
- name: Install dependencies
|
28
|
-
run: bundle install
|
29
|
-
- name: Run tests
|
30
|
-
run: |
|
31
|
-
bundle exec rake rubocop
|
32
|
-
bundle exec parallel_test test/unit/ -n 4
|
33
|
-
AUTOMATION_NAME_DROID=espresso bundle exec parallel_test test/unit/android -n 4
|
34
|
-
AUTOMATION_NAME_DROID=appium AUTOMATION_NAME_IOS=appium bundle exec parallel_test test/unit -n 4
|
35
|
-
|
36
|
-
test-win:
|
37
|
-
strategy:
|
38
|
-
fail-fast: false
|
39
|
-
matrix:
|
40
|
-
# Does not add 2.7 on Windows so far since a command fails only on Windows
|
41
|
-
ruby: [2.4, 2.5, 2.6]
|
42
|
-
|
43
|
-
runs-on: windows-latest
|
44
|
-
|
45
|
-
env:
|
46
|
-
UNIT_TEST: true
|
47
|
-
|
48
|
-
steps:
|
49
|
-
- uses: actions/checkout@v2
|
50
|
-
- name: Set up Ruby
|
51
|
-
uses: ruby/setup-ruby@v1
|
52
|
-
with:
|
53
|
-
ruby-version: ${{ matrix.ruby }}
|
54
|
-
- name: Install dependencies
|
55
|
-
run: |
|
56
|
-
gem install ffi
|
57
|
-
bundle install
|
58
|
-
gem uninstall --force eventmachine && gem install eventmachine --platform ruby
|
59
|
-
- name: Run tests
|
60
|
-
run: |
|
61
|
-
parallel_test test/unit/ -n 4
|
62
|
-
|
63
|
-
setx AUTOMATION_NAME_DROID espresso
|
64
|
-
parallel_test test/unit/android -n 4
|
65
|
-
|
66
|
-
setx AUTOMATION_NAME_DROID appium
|
67
|
-
setx AUTOMATION_NAME_IOS appium
|
68
|
-
parallel_test test/unit -n 4
|
data/.gitignore
DELETED
data/.rubocop.yml
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
AllCops:
|
2
|
-
TargetRubyVersion: 2.4
|
3
|
-
Layout/LineLength:
|
4
|
-
Max: 128
|
5
|
-
Layout/RescueEnsureAlignment:
|
6
|
-
Enabled: false
|
7
|
-
Layout/EmptyLinesAroundAttributeAccessor:
|
8
|
-
Enabled: false
|
9
|
-
Layout/EmptyLineBetweenDefs:
|
10
|
-
Enabled: false
|
11
|
-
Layout/HashAlignment:
|
12
|
-
Enabled: false
|
13
|
-
Metrics/MethodLength:
|
14
|
-
Enabled: false
|
15
|
-
Metrics/ModuleLength:
|
16
|
-
Enabled: false
|
17
|
-
Metrics/ClassLength:
|
18
|
-
Enabled: false
|
19
|
-
Metrics/AbcSize:
|
20
|
-
Enabled: false
|
21
|
-
Metrics/CyclomaticComplexity:
|
22
|
-
Max: 14
|
23
|
-
Metrics/PerceivedComplexity:
|
24
|
-
Max: 14
|
25
|
-
Metrics/ParameterLists:
|
26
|
-
Enabled: false
|
27
|
-
Lint/NestedMethodDefinition:
|
28
|
-
Enabled: false
|
29
|
-
Style/ZeroLengthPredicate:
|
30
|
-
Enabled: false
|
31
|
-
Style/Documentation:
|
32
|
-
Enabled: false
|
33
|
-
Style/CommentedKeyword:
|
34
|
-
Enabled: false
|
35
|
-
Style/PercentLiteralDelimiters:
|
36
|
-
Enabled: false
|
37
|
-
Style/SymbolArray:
|
38
|
-
Enabled: false
|
39
|
-
Style/UnpackFirst:
|
40
|
-
Enabled: false
|
41
|
-
Naming/AccessorMethodName:
|
42
|
-
Enabled: false
|
43
|
-
Naming/MemoizedInstanceVariableName:
|
44
|
-
Enabled: true
|
45
|
-
Exclude:
|
46
|
-
- test/**/*
|
47
|
-
Naming/RescuedExceptionsVariableName:
|
48
|
-
Enabled: false
|
49
|
-
Style/CaseLikeIf:
|
50
|
-
Enabled: false
|
51
|
-
Style/RedundantRegexpEscape:
|
52
|
-
Enabled: false
|
53
|
-
Style/OptionalBooleanParameter:
|
54
|
-
Enabled: false
|
55
|
-
Style/ExplicitBlockArgument:
|
56
|
-
Enabled: false
|
57
|
-
Style/KeywordParametersOrder:
|
58
|
-
Enabled: false
|
data/azure-pipelines.yml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# Ruby
|
2
|
-
# Package your Ruby project.
|
3
|
-
# Add steps that install rails, analyze code, save build artifacts, deploy, and more:
|
4
|
-
# https://docs.microsoft.com/azure/devops/pipelines/languages/ruby
|
5
|
-
jobs:
|
6
|
-
- template: ./ci-jobs/functional_test.yml
|
7
|
-
|
8
|
-
# Runs tests nightly to make sure they works against appium@beta
|
9
|
-
schedules:
|
10
|
-
- cron: "0 0 * * *"
|
11
|
-
displayName: Daily Nightly build (UTC)
|
12
|
-
branches:
|
13
|
-
include:
|
14
|
-
- master
|
15
|
-
always: true
|
@@ -1,7 +0,0 @@
|
|
1
|
-
steps:
|
2
|
-
- script: sudo xcode-select -s /Applications/Xcode_${{ parameters.xcodeVersion }}.app/Contents/Developer
|
3
|
-
displayName: Xcode Select ${{ parameters.xcodeVersion }}
|
4
|
-
- script: xcrun simctl list
|
5
|
-
displayName: List Installed Simulators
|
6
|
-
- script: defaults write com.apple.iphonesimulator PasteboardAutomaticSync -bool false
|
7
|
-
displayName: Disable pasteboard automatic sync
|
@@ -1,18 +0,0 @@
|
|
1
|
-
steps:
|
2
|
-
- task: PublishTestResults@2
|
3
|
-
condition: always()
|
4
|
-
inputs:
|
5
|
-
testResultsFiles: 'test/reports/TEST-AppiumLibCoreTest*.xml'
|
6
|
-
testRunTitle: '$(Agent.JobName)'
|
7
|
-
- task: ArchiveFiles@2
|
8
|
-
condition: always()
|
9
|
-
inputs:
|
10
|
-
rootFolderOrFile: 'test/report'
|
11
|
-
archiveType: 'zip'
|
12
|
-
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
|
13
|
-
replaceExistingArchive: true
|
14
|
-
- task: PublishBuildArtifacts@1
|
15
|
-
condition: always()
|
16
|
-
inputs:
|
17
|
-
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
18
|
-
artifactName: '$(Agent.JobName)'
|
@@ -1,25 +0,0 @@
|
|
1
|
-
steps:
|
2
|
-
- task: NodeTool@0
|
3
|
-
inputs:
|
4
|
-
versionSpec: 10.x
|
5
|
-
displayName: Install Node 10.x
|
6
|
-
- script: npm install -g appium@${APPIUM_VERSION}
|
7
|
-
displayName: Install appium beta
|
8
|
-
- script: npm install -g mjpeg-consumer
|
9
|
-
displayName: Install MJPEG Consumer
|
10
|
-
- script: npm list --depth 2 -g || echo 'ok'
|
11
|
-
displayName: Installed node dependencies
|
12
|
-
- task: UseRubyVersion@0
|
13
|
-
inputs:
|
14
|
-
versionSpec: '2.7'
|
15
|
-
- script: |
|
16
|
-
mkdir -p test/report
|
17
|
-
nohup appium --relaxed-security --log-timestamp --log-no-colors > test/report/appium.out 2>&1 &
|
18
|
-
displayName: Run Appium in background
|
19
|
-
env:
|
20
|
-
JAVA_HOME: $(JAVA_HOME_11_X64)
|
21
|
-
PATH: $(JAVA_HOME_11_X64)/bin:$(PATH)
|
22
|
-
- script: |
|
23
|
-
gem install bundler;
|
24
|
-
bundle install --retry=3 --jobs=4 --path vendor/bundle;
|
25
|
-
displayName: Install Gems
|
@@ -1,26 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
# This script was copy-pasted from https://docs.microsoft.com/en-us/azure/devops/pipelines/languages/android?view=azure-devops#test-on-the-android-emulator
|
4
|
-
# with some changes
|
5
|
-
|
6
|
-
# Install AVD files
|
7
|
-
declare -r emulator="system-images;android-${ANDROID_SDK_VERSION};google_apis;x86"
|
8
|
-
echo "y" | ${ANDROID_HOME}/tools/bin/sdkmanager --install "$emulator"
|
9
|
-
|
10
|
-
# Show a list of emulators
|
11
|
-
${ANDROID_HOME}/tools/bin/avdmanager list
|
12
|
-
|
13
|
-
# Create emulator
|
14
|
-
echo "no" | ${ANDROID_HOME}/tools/bin/avdmanager create avd -d "Nexus 5X" -n testemulator -k "${emulator}" --force
|
15
|
-
|
16
|
-
echo ${ANDROID_HOME}/emulator/emulator -list-avds
|
17
|
-
|
18
|
-
echo "Starting emulator"
|
19
|
-
|
20
|
-
# Start emulator in background
|
21
|
-
nohup ${ANDROID_HOME}/emulator/emulator -avd testemulator -accel auto -no-boot-anim -gpu auto -no-snapshot > /dev/null 2>&1 &
|
22
|
-
${ANDROID_HOME}/platform-tools/adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed | tr -d '\r') ]]; do sleep 1; done; input keyevent 82'
|
23
|
-
|
24
|
-
${ANDROID_HOME}/platform-tools/adb devices
|
25
|
-
|
26
|
-
echo "Emulator started"
|