appium_lib_core 5.1.0 → 5.1.1
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 +6 -0
- data/README.md +1 -1
- data/appium_lib_core.gemspec +2 -2
- data/lib/appium_lib_core/common/base/bridge.rb +0 -6
- data/lib/appium_lib_core/common/command.rb +0 -2
- data/lib/appium_lib_core/version.rb +2 -2
- metadata +5 -23
- data/.github/ISSUE_TEMPLATE/issue-report.md +0 -29
- data/.github/contributing.md +0 -26
- data/.github/dependabot.yml +0 -8
- data/.github/issue_template.md +0 -20
- data/.github/workflows/codeql-analysis.yml +0 -70
- data/.github/workflows/unittest.yml +0 -67
- data/.gitignore +0 -18
- data/.rubocop.yml +0 -152
- 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/release_notes.md +0 -964
- data/script/commands.rb +0 -166
data/ci-jobs/functional_test.yml
DELETED
@@ -1,298 +0,0 @@
|
|
1
|
-
# jobs for functional test
|
2
|
-
parameters:
|
3
|
-
vmImage: 'macOS-10.15'
|
4
|
-
vmImageForIOS: 'macOS-10.15'
|
5
|
-
xcodeForIOS: 12.2
|
6
|
-
xcodeForTVOS: 12.2
|
7
|
-
androidSDK: 29 # API Level 30 emulators are more unstable than 29
|
8
|
-
appiumVersion: 'beta'
|
9
|
-
ignoreVersionSkip: true
|
10
|
-
CI: true
|
11
|
-
|
12
|
-
|
13
|
-
jobs:
|
14
|
-
# Run unit tests on different Node versions
|
15
|
-
- job: func_test_ios_base
|
16
|
-
pool:
|
17
|
-
vmImage: ${{ parameters.vmImageForIOS }}
|
18
|
-
variables:
|
19
|
-
CI: ${{ parameters.ci }}
|
20
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
21
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
22
|
-
steps:
|
23
|
-
- template: ./functional/ios_setup.yml
|
24
|
-
parameters:
|
25
|
-
xcodeVersion: ${{ parameters.xcodeForIOS }}
|
26
|
-
- template: ./functional/run_appium.yml
|
27
|
-
- script: bundle exec rake test:func:ios TESTS=test/functional/ios/driver_test.rb,test/functional/ios/patch_test.rb
|
28
|
-
displayName: Run tests func_test_ios_base
|
29
|
-
- template: ./functional/publish_test_result.yml
|
30
|
-
|
31
|
-
- job: func_test_ios_webdriver1
|
32
|
-
pool:
|
33
|
-
vmImage: ${{ parameters.vmImageForIOS }}
|
34
|
-
variables:
|
35
|
-
CI: ${{ parameters.ci }}
|
36
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
37
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
38
|
-
steps:
|
39
|
-
- template: ./functional/ios_setup.yml
|
40
|
-
parameters:
|
41
|
-
xcodeVersion: ${{ parameters.xcodeForIOS }}
|
42
|
-
- template: ./functional/run_appium.yml
|
43
|
-
- script: bundle exec rake test:func:ios TESTS=test/functional/ios/webdriver/create_session_test.rb,test/functional/ios/webdriver/w3c_actions_test.rb
|
44
|
-
displayName: Run tests func_test_ios_webdriver1
|
45
|
-
- template: ./functional/publish_test_result.yml
|
46
|
-
|
47
|
-
- job: func_test_ios_webdriver2
|
48
|
-
pool:
|
49
|
-
vmImage: ${{ parameters.vmImageForIOS }}
|
50
|
-
variables:
|
51
|
-
CI: ${{ parameters.ci }}
|
52
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
53
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
54
|
-
steps:
|
55
|
-
- template: ./functional/ios_setup.yml
|
56
|
-
parameters:
|
57
|
-
xcodeVersion: ${{ parameters.xcodeForIOS }}
|
58
|
-
- template: ./functional/run_appium.yml
|
59
|
-
- script: bundle exec rake test:func:ios TESTS=test/functional/ios/webdriver/device_test.rb
|
60
|
-
displayName: Run tests func_test_ios_webdriver2
|
61
|
-
- template: ./functional/publish_test_result.yml
|
62
|
-
|
63
|
-
- job: func_test_ios_ios1
|
64
|
-
pool:
|
65
|
-
vmImage: ${{ parameters.vmImageForIOS }}
|
66
|
-
variables:
|
67
|
-
CI: ${{ parameters.ci }}
|
68
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
69
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
70
|
-
steps:
|
71
|
-
- template: ./functional/ios_setup.yml
|
72
|
-
parameters:
|
73
|
-
xcodeVersion: ${{ parameters.xcodeForIOS }}
|
74
|
-
- template: ./functional/run_appium.yml
|
75
|
-
- script: bundle exec rake test:func:ios TESTS=test/functional/ios/ios/device_test.rb
|
76
|
-
displayName: Run tests func_test_ios_ios1
|
77
|
-
- template: ./functional/publish_test_result.yml
|
78
|
-
|
79
|
-
- job: func_test_ios_ios2
|
80
|
-
pool:
|
81
|
-
vmImage: ${{ parameters.vmImageForIOS }}
|
82
|
-
variables:
|
83
|
-
CI: ${{ parameters.ci }}
|
84
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
85
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
86
|
-
steps:
|
87
|
-
- template: ./functional/ios_setup.yml
|
88
|
-
parameters:
|
89
|
-
xcodeVersion: ${{ parameters.xcodeForIOS }}
|
90
|
-
- template: ./functional/run_appium.yml
|
91
|
-
- script: bundle exec rake test:func:ios TESTS=test/functional/ios/ios/device_wda_attachment_test.rb,test/functional/ios/ios/search_context_test.rb
|
92
|
-
displayName: Run tests func_test_ios_ios2
|
93
|
-
- template: ./functional/publish_test_result.yml
|
94
|
-
|
95
|
-
- job: func_test_ios_ios3
|
96
|
-
pool:
|
97
|
-
vmImage: ${{ parameters.vmImageForIOS }}
|
98
|
-
variables:
|
99
|
-
CI: ${{ parameters.ci }}
|
100
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
101
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
102
|
-
steps:
|
103
|
-
- template: ./functional/ios_setup.yml
|
104
|
-
parameters:
|
105
|
-
xcodeVersion: ${{ parameters.xcodeForIOS }}
|
106
|
-
- script: brew install ffmpeg && brew tap wix/brew && brew install applesimutils
|
107
|
-
displayName: Install ffmpeg and applesimutils
|
108
|
-
- template: ./functional/run_appium.yml
|
109
|
-
- script: bundle exec rake test:func:ios TESTS=test/functional/ios/ios/mjpeg_server_test.rb,test/functional/ios/ios/mobile_commands_test.rb
|
110
|
-
displayName: Run tests func_test_ios_ios3
|
111
|
-
- template: ./functional/publish_test_result.yml
|
112
|
-
|
113
|
-
- job: func_test_ios_tvos
|
114
|
-
pool:
|
115
|
-
vmImage: ${{ parameters.vmImage }}
|
116
|
-
variables:
|
117
|
-
CI: ${{ parameters.ci }}
|
118
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
119
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
120
|
-
steps:
|
121
|
-
- template: ./functional/ios_setup.yml
|
122
|
-
parameters:
|
123
|
-
xcodeVersion: ${{ parameters.xcodeForTVOS }}
|
124
|
-
- template: ./functional/run_appium.yml
|
125
|
-
- script: bundle exec rake test:func:ios TESTS=test/functional/ios/tv_driver_test.rb
|
126
|
-
displayName: Run tests func_test_ios_tvos
|
127
|
-
- template: ./functional/publish_test_result.yml
|
128
|
-
|
129
|
-
# Skip since opencv4nodejs fails to install on the macOS instance
|
130
|
-
# - job: func_test_ios_opencv
|
131
|
-
# pool:
|
132
|
-
# vmImage: ${{ parameters.vmImageForIOS }}
|
133
|
-
# variables:
|
134
|
-
# CI: ${{ parameters.ci }}
|
135
|
-
# IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
136
|
-
# APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
137
|
-
# steps:
|
138
|
-
# - template: ./functional/ios_setup.yml
|
139
|
-
# parameters:
|
140
|
-
# xcodeVersion: ${{ parameters.xcodeForIOS }}
|
141
|
-
# - template: ./functional/run_appium.yml
|
142
|
-
# - script: npm install -g opencv4nodejs@5.1.0
|
143
|
-
# displayName: Install opencv4nodejs@5.1.0
|
144
|
-
# - script: bundle exec rake test:func:ios test/functional/ios/ios/image_comparison_test.rb
|
145
|
-
# displayName: Run tests
|
146
|
-
# - template: ./functional/publish_test_result.yml
|
147
|
-
|
148
|
-
|
149
|
-
- job: func_test_android_base
|
150
|
-
pool:
|
151
|
-
vmImage: ${{ parameters.vmImage }}
|
152
|
-
variables:
|
153
|
-
CI: ${{ parameters.ci }}
|
154
|
-
ANDROID_SDK_VERSION: ${{ parameters.androidSDK }}
|
155
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
156
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
157
|
-
strategy:
|
158
|
-
matrix:
|
159
|
-
uiautomator2:
|
160
|
-
AUTOMATION_NAME_DROID: 'uiautomator2'
|
161
|
-
espresso:
|
162
|
-
AUTOMATION_NAME_DROID: 'espresso'
|
163
|
-
steps:
|
164
|
-
- template: ./functional/android_setup.yml
|
165
|
-
- template: ./functional/run_appium.yml
|
166
|
-
- script: bundle exec rake test:func:android TESTS=test/functional/android/driver_test.rb,test/functional/android/patch_test.rb
|
167
|
-
displayName: Run tests func_test_android_base
|
168
|
-
- template: ./functional/publish_test_result.yml
|
169
|
-
|
170
|
-
- job: func_test_android_webdriver
|
171
|
-
pool:
|
172
|
-
vmImage: ${{ parameters.vmImage }}
|
173
|
-
variables:
|
174
|
-
CI: ${{ parameters.ci }}
|
175
|
-
ANDROID_SDK_VERSION: ${{ parameters.androidSDK }}
|
176
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
177
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
178
|
-
strategy:
|
179
|
-
matrix:
|
180
|
-
uiautomator2:
|
181
|
-
AUTOMATION_NAME_DROID: 'uiautomator2'
|
182
|
-
espresso:
|
183
|
-
AUTOMATION_NAME_DROID: 'espresso'
|
184
|
-
steps:
|
185
|
-
- template: ./functional/android_setup.yml
|
186
|
-
- template: ./functional/run_appium.yml
|
187
|
-
- script: bundle exec rake test:func:android TESTS=test/functional/android/webdriver/create_session_test.rb,test/functional/android/webdriver/device_test.rb,test/functional/android/webdriver/w3c_actions_test.rb
|
188
|
-
displayName: Run tests func_test_android_webdriver
|
189
|
-
- template: ./functional/publish_test_result.yml
|
190
|
-
|
191
|
-
- job: func_test_android_android1
|
192
|
-
pool:
|
193
|
-
vmImage: ${{ parameters.vmImage }}
|
194
|
-
variables:
|
195
|
-
CI: ${{ parameters.ci }}
|
196
|
-
ANDROID_SDK_VERSION: ${{ parameters.androidSDK }}
|
197
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
198
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
199
|
-
strategy:
|
200
|
-
matrix:
|
201
|
-
uiautomator2:
|
202
|
-
AUTOMATION_NAME_DROID: 'uiautomator2'
|
203
|
-
espresso:
|
204
|
-
AUTOMATION_NAME_DROID: 'espresso'
|
205
|
-
steps:
|
206
|
-
- template: ./functional/android_setup.yml
|
207
|
-
- template: ./functional/run_appium.yml
|
208
|
-
- script: bundle exec rake test:func:android TESTS=test/functional/android/android/device_test.rb
|
209
|
-
displayName: Run tests func_test_android_android1
|
210
|
-
- template: ./functional/publish_test_result.yml
|
211
|
-
|
212
|
-
- job: func_test_android_android2
|
213
|
-
pool:
|
214
|
-
vmImage: ${{ parameters.vmImage }}
|
215
|
-
variables:
|
216
|
-
CI: ${{ parameters.ci }}
|
217
|
-
ANDROID_SDK_VERSION: ${{ parameters.androidSDK }}
|
218
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
219
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
220
|
-
strategy:
|
221
|
-
matrix:
|
222
|
-
uiautomator2:
|
223
|
-
AUTOMATION_NAME_DROID: 'uiautomator2'
|
224
|
-
espresso:
|
225
|
-
AUTOMATION_NAME_DROID: 'espresso'
|
226
|
-
steps:
|
227
|
-
- template: ./functional/android_setup.yml
|
228
|
-
- template: ./functional/run_appium.yml
|
229
|
-
- script: bundle exec rake test:func:android TESTS=test/functional/android/android/search_context_test.rb,test/functional/android/android/mjpeg_server_test.rb
|
230
|
-
displayName: Run tests func_test_android_android2
|
231
|
-
- template: ./functional/publish_test_result.yml
|
232
|
-
|
233
|
-
- job: func_test_android_android3
|
234
|
-
pool:
|
235
|
-
vmImage: ${{ parameters.vmImage }}
|
236
|
-
variables:
|
237
|
-
CI: ${{ parameters.ci }}
|
238
|
-
ANDROID_SDK_VERSION: ${{ parameters.androidSDK }}
|
239
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
240
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
241
|
-
strategy:
|
242
|
-
matrix:
|
243
|
-
uiautomator2:
|
244
|
-
AUTOMATION_NAME_DROID: 'uiautomator2'
|
245
|
-
espresso:
|
246
|
-
AUTOMATION_NAME_DROID: 'espresso'
|
247
|
-
steps:
|
248
|
-
- template: ./functional/android_setup.yml
|
249
|
-
- template: ./functional/run_appium.yml
|
250
|
-
- script: bundle exec rake test:func:android TESTS=test/functional/android/android/device_data_test.rb
|
251
|
-
displayName: Run tests func_test_android_android3
|
252
|
-
- template: ./functional/publish_test_result.yml
|
253
|
-
|
254
|
-
- job: func_test_android_mobile_command_espresso
|
255
|
-
pool:
|
256
|
-
vmImage: ${{ parameters.vmImage }}
|
257
|
-
variables:
|
258
|
-
CI: ${{ parameters.ci }}
|
259
|
-
ANDROID_SDK_VERSION: ${{ parameters.androidSDK }}
|
260
|
-
AUTOMATION_NAME_DROID: espresso
|
261
|
-
IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
262
|
-
APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
263
|
-
strategy:
|
264
|
-
matrix:
|
265
|
-
uiautomator2:
|
266
|
-
AUTOMATION_NAME_DROID: 'uiautomator2'
|
267
|
-
espresso:
|
268
|
-
AUTOMATION_NAME_DROID: 'espresso'
|
269
|
-
steps:
|
270
|
-
- template: ./functional/android_setup.yml
|
271
|
-
- template: ./functional/run_appium.yml
|
272
|
-
- script: bundle exec rake test:func:android TESTS=test/functional/android/android/mobile_commands_test.rb
|
273
|
-
displayName: Run tests func_test_android_mobile_command_espresso
|
274
|
-
- template: ./functional/publish_test_result.yml
|
275
|
-
|
276
|
-
# Skip since opencv4nodejs fails to install on the macOS instance
|
277
|
-
# - job: func_test_android_opencv
|
278
|
-
# pool:
|
279
|
-
# vmImage: ${{ parameters.vmImage }}
|
280
|
-
# variables:
|
281
|
-
# CI: ${{ parameters.ci }}
|
282
|
-
# ANDROID_SDK_VERSION: ${{ parameters.androidSDK }}
|
283
|
-
# IGNORE_VERSION_SKIP: ${{ parameters.ignoreVersionSkip }}
|
284
|
-
# APPIUM_VERSION: ${{ parameters.appiumVersion }}
|
285
|
-
# strategy:
|
286
|
-
# matrix:
|
287
|
-
# uiautomator2:
|
288
|
-
# AUTOMATION_NAME_DROID: 'uiautomator2'
|
289
|
-
# espresso:
|
290
|
-
# AUTOMATION_NAME_DROID: 'espresso'
|
291
|
-
# steps:
|
292
|
-
# - template: ./functional/android_setup.yml
|
293
|
-
# - template: ./functional/run_appium.yml
|
294
|
-
# - script: npm install -g opencv4nodejs@5.1.0
|
295
|
-
# displayName: Install opencv4nodejs@5.1.0
|
296
|
-
# - script: bundle exec rake test:func:android TESTS=test/functional/android/android/image_comparison_test.rb
|
297
|
-
# displayName: Run tests func_test_android_opencv
|
298
|
-
# - template: ./functional/publish_test_result.yml
|
data/docs/mobile_command.md
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
# Mobile Command
|
2
|
-
|
3
|
-
Appium has `mobile:` command.
|
4
|
-
We can invoke them via `execute_script` command with `mobile:` arguments.
|
5
|
-
|
6
|
-
- root:
|
7
|
-
- https://github.com/appium/appium/blob/master/commands-yml/commands/mobile-command.yml
|
8
|
-
- Android:
|
9
|
-
- https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android
|
10
|
-
- iOS:
|
11
|
-
- https://github.com/appium/appium/tree/master/docs/en/writing-running-appium/ios
|
12
|
-
|
13
|
-
|
14
|
-
```ruby
|
15
|
-
# Android shell : https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/android-shell.md
|
16
|
-
args = { command: 'echo', args: 'list' }
|
17
|
-
@driver.execute_script 'mobile: shell', args # Run `adb shell echo 'list'`
|
18
|
-
|
19
|
-
# iOS performance : https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/ios/ios-xctest-performance.md
|
20
|
-
args = { timeout: 60 * 1000, profileName: 'Activity Monitor' }
|
21
|
-
@driver.execute_script 'mobile: startPerfRecord', args
|
22
|
-
|
23
|
-
@driver.execute_script 'mobile: stopPerfRecord', { profileName: 'Activity Monitor' }
|
24
|
-
```
|
25
|
-
|
26
|
-
Mobile commands return their error messages. As a selenium client, it usually handles as unknown error.
|
27
|
-
To handle it, we would recommend you to handle the error based on the error message.
|
28
|
-
|
29
|
-
```ruby
|
30
|
-
error = assert_raises ::Selenium::WebDriver::Error::UnknownError do
|
31
|
-
@driver.execute_script 'mobile: scrollToPage', { element: el.id, scrollToPage: -100 }
|
32
|
-
end
|
33
|
-
assert error.message.include? 'be a non-negative integer'
|
34
|
-
```
|