@wdio/protocols 8.0.15 → 8.2.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.
- package/build/commands/appium.d.ts +62 -62
- package/build/commands/appium.d.ts.map +1 -1
- package/build/commands/chromium.d.ts +28 -28
- package/build/commands/chromium.d.ts.map +1 -1
- package/build/commands/gecko.d.ts +5 -5
- package/build/commands/gecko.d.ts.map +1 -1
- package/build/commands/jsonwp.d.ts +95 -95
- package/build/commands/jsonwp.d.ts.map +1 -1
- package/build/commands/mjsonwp.d.ts +9 -9
- package/build/commands/mjsonwp.d.ts.map +1 -1
- package/build/commands/saucelabs.d.ts +10 -10
- package/build/commands/saucelabs.d.ts.map +1 -1
- package/build/commands/selenium.d.ts +6 -6
- package/build/commands/selenium.d.ts.map +1 -1
- package/build/commands/webdriver.d.ts +76 -76
- package/build/commands/webdriver.d.ts.map +1 -1
- package/build/commands/webdriverBidi.d.ts +2 -2
- package/build/commands/webdriverBidi.d.ts.map +1 -1
- package/build/index.d.ts +10 -40
- package/build/index.d.ts.map +1 -1
- package/build/index.js +9 -11
- package/build/protocols/appium.d.ts +1244 -0
- package/build/protocols/appium.d.ts.map +1 -0
- package/build/protocols/appium.js +1602 -0
- package/build/protocols/chromium.d.ts +384 -0
- package/build/protocols/chromium.d.ts.map +1 -0
- package/build/protocols/chromium.js +530 -0
- package/build/protocols/gecko.d.ts +76 -0
- package/build/protocols/gecko.d.ts.map +1 -0
- package/build/protocols/gecko.js +112 -0
- package/build/protocols/jsonwp.d.ts +1245 -0
- package/build/protocols/jsonwp.d.ts.map +1 -0
- package/build/protocols/jsonwp.js +1511 -0
- package/build/protocols/mjsonwp.d.ts +112 -0
- package/build/protocols/mjsonwp.d.ts.map +1 -0
- package/build/protocols/mjsonwp.js +126 -0
- package/build/protocols/saucelabs.d.ts +162 -0
- package/build/protocols/saucelabs.d.ts.map +1 -0
- package/build/protocols/saucelabs.js +297 -0
- package/build/protocols/selenium.d.ts +106 -0
- package/build/protocols/selenium.d.ts.map +1 -0
- package/build/protocols/selenium.js +132 -0
- package/build/protocols/webdriver.d.ts +1080 -0
- package/build/protocols/webdriver.d.ts.map +1 -0
- package/build/protocols/webdriver.js +1495 -0
- package/build/protocols/webdriverBidi.d.ts +35 -0
- package/build/protocols/webdriverBidi.d.ts.map +1 -0
- package/build/protocols/webdriverBidi.js +37 -0
- package/build/types.d.ts +8 -7
- package/build/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/protocols/appium.json +0 -1469
- package/protocols/chromium.json +0 -494
- package/protocols/gecko.json +0 -105
- package/protocols/jsonwp.json +0 -1366
- package/protocols/mjsonwp.json +0 -114
- package/protocols/saucelabs.json +0 -276
- package/protocols/selenium.json +0 -122
- package/protocols/webdriver.json +0 -1331
- package/protocols/webdriverBidi.json +0 -33
|
@@ -0,0 +1,1602 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
'/session/:sessionId/appium/device/shake': {
|
|
3
|
+
POST: {
|
|
4
|
+
command: 'shake',
|
|
5
|
+
description: 'Perform a shake action on the device.',
|
|
6
|
+
ref: 'http://appium.io/docs/en/commands/device/interactions/shake/',
|
|
7
|
+
parameters: [],
|
|
8
|
+
support: {
|
|
9
|
+
ios: {
|
|
10
|
+
XCUITest: '9.3+',
|
|
11
|
+
UIAutomation: '8.0 to 9.3',
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
'/session/:sessionId/appium/device/lock': {
|
|
17
|
+
POST: {
|
|
18
|
+
command: 'lock',
|
|
19
|
+
description: 'Lock the device.',
|
|
20
|
+
ref: 'http://appium.io/docs/en/commands/device/interactions/lock/',
|
|
21
|
+
parameters: [
|
|
22
|
+
{
|
|
23
|
+
name: 'seconds',
|
|
24
|
+
type: 'number',
|
|
25
|
+
description: 'how long to lock the screen (iOS only)',
|
|
26
|
+
required: false,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
support: {
|
|
30
|
+
ios: {
|
|
31
|
+
UIAutomation: '8.0 to 9.3',
|
|
32
|
+
},
|
|
33
|
+
android: {
|
|
34
|
+
UiAutomator: '4.2+',
|
|
35
|
+
},
|
|
36
|
+
windows: {
|
|
37
|
+
Windows: '10+',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
'/session/:sessionId/appium/device/unlock': {
|
|
43
|
+
POST: {
|
|
44
|
+
command: 'unlock',
|
|
45
|
+
description: 'Unlock the device.',
|
|
46
|
+
ref: 'http://appium.io/docs/en/commands/device/interactions/unlock/',
|
|
47
|
+
parameters: [],
|
|
48
|
+
support: {
|
|
49
|
+
android: {
|
|
50
|
+
UiAutomator: '4.2+',
|
|
51
|
+
},
|
|
52
|
+
windows: {
|
|
53
|
+
Windows: '10+',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
'/session/:sessionId/appium/device/is_locked': {
|
|
59
|
+
POST: {
|
|
60
|
+
command: 'isLocked',
|
|
61
|
+
description: 'Check whether the device is locked or not.',
|
|
62
|
+
ref: 'http://appium.io/docs/en/commands/device/interactions/is-locked/',
|
|
63
|
+
parameters: [],
|
|
64
|
+
returns: {
|
|
65
|
+
type: 'boolean',
|
|
66
|
+
name: 'isLocked',
|
|
67
|
+
description: 'True if the device is locked, false if not',
|
|
68
|
+
},
|
|
69
|
+
support: {
|
|
70
|
+
android: {
|
|
71
|
+
UiAutomator: '4.2+',
|
|
72
|
+
},
|
|
73
|
+
windows: {
|
|
74
|
+
Windows: '10+',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
'/session/:sessionId/appium/start_recording_screen': {
|
|
80
|
+
POST: {
|
|
81
|
+
command: 'startRecordingScreen',
|
|
82
|
+
description: 'Start recording the screen.',
|
|
83
|
+
ref: 'http://appium.io/docs/en/commands/device/recording-screen/start-recording-screen/',
|
|
84
|
+
parameters: [
|
|
85
|
+
{
|
|
86
|
+
name: 'options',
|
|
87
|
+
type: 'object',
|
|
88
|
+
description: 'command parameters that can contain keys like: remotePath, username, password, method, forceRestart, timeLimit, videoType, videoQuality, videoFps, bitRate, videoSize, bugReport (see more description in Appium docs)',
|
|
89
|
+
required: false,
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
support: {
|
|
93
|
+
ios: {
|
|
94
|
+
XCUITest: '9.3+',
|
|
95
|
+
},
|
|
96
|
+
android: {
|
|
97
|
+
UiAutomator: '4.2+',
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
'/session/:sessionId/appium/stop_recording_screen': {
|
|
103
|
+
POST: {
|
|
104
|
+
command: 'stopRecordingScreen',
|
|
105
|
+
description: 'Stop recording screen',
|
|
106
|
+
ref: 'http://appium.io/docs/en/commands/device/recording-screen/stop-recording-screen/',
|
|
107
|
+
parameters: [
|
|
108
|
+
{
|
|
109
|
+
name: 'remotePath',
|
|
110
|
+
type: 'string',
|
|
111
|
+
description: 'The path to the remote location, where the resulting video should be uploaded. The following protocols are supported http/https, ftp. This option only has an effect if there is screen recording process in progreess and forceRestart parameter is not set to true. Null or empty string value (the default setting) means the content of resulting file should be encoded as Base64.',
|
|
112
|
+
required: false,
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: 'username',
|
|
116
|
+
type: 'string',
|
|
117
|
+
description: 'The name of the user for the remote authentication.',
|
|
118
|
+
required: false,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: 'password',
|
|
122
|
+
type: 'string',
|
|
123
|
+
description: 'The password for the remote authentication.',
|
|
124
|
+
required: false,
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
name: 'method',
|
|
128
|
+
type: 'string',
|
|
129
|
+
description: "The http multipart upload method name. The 'PUT' one is used by default.",
|
|
130
|
+
required: false,
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
returns: {
|
|
134
|
+
type: 'string',
|
|
135
|
+
name: 'response',
|
|
136
|
+
description: 'Base64 encoded string. If remote_path is set, the response is empty string',
|
|
137
|
+
},
|
|
138
|
+
support: {
|
|
139
|
+
ios: {
|
|
140
|
+
XCUITest: '9.3+',
|
|
141
|
+
},
|
|
142
|
+
android: {
|
|
143
|
+
UiAutomator: '4.2+',
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
'/session/:sessionId/appium/performanceData/types': {
|
|
149
|
+
POST: {
|
|
150
|
+
command: 'getPerformanceDataTypes',
|
|
151
|
+
description: 'Returns the information types of the system state which is supported to read as like cpu, memory, network traffic, and battery.',
|
|
152
|
+
ref: 'http://appium.io/docs/en/commands/device/performance-data/performance-data-types/',
|
|
153
|
+
parameters: [],
|
|
154
|
+
returns: {
|
|
155
|
+
type: 'string[]',
|
|
156
|
+
name: 'performanceTypes',
|
|
157
|
+
description: 'The available performance data types (cpuinfo|batteryinfo|networkinfo|memoryinfo)',
|
|
158
|
+
},
|
|
159
|
+
support: {
|
|
160
|
+
android: {
|
|
161
|
+
UiAutomator: '4.2+',
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
'/session/:sessionId/appium/getPerformanceData': {
|
|
167
|
+
POST: {
|
|
168
|
+
command: 'getPerformanceData',
|
|
169
|
+
description: 'Returns the information of the system state which is supported to read as like cpu, memory, network traffic, and battery.',
|
|
170
|
+
ref: 'http://appium.io/docs/en/commands/device/performance-data/get-performance-data/',
|
|
171
|
+
parameters: [
|
|
172
|
+
{
|
|
173
|
+
name: 'packageName',
|
|
174
|
+
type: 'string',
|
|
175
|
+
description: 'the package name of the application',
|
|
176
|
+
required: true,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
name: 'dataType',
|
|
180
|
+
type: 'string',
|
|
181
|
+
description: 'the type of system state which wants to read. It should be one of the supported performance data types',
|
|
182
|
+
required: true,
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
name: 'dataReadTimeout',
|
|
186
|
+
type: 'number',
|
|
187
|
+
description: 'the number of attempts to read',
|
|
188
|
+
required: false,
|
|
189
|
+
},
|
|
190
|
+
],
|
|
191
|
+
returns: {
|
|
192
|
+
type: 'string[]',
|
|
193
|
+
name: 'performanceData',
|
|
194
|
+
description: 'The information type of the system state which is supported to read as like cpu, memory, network traffic, and battery',
|
|
195
|
+
},
|
|
196
|
+
support: {
|
|
197
|
+
android: {
|
|
198
|
+
UiAutomator: '4.2+',
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
'/session/:sessionId/appium/device/press_keycode': {
|
|
204
|
+
POST: {
|
|
205
|
+
command: 'pressKeyCode',
|
|
206
|
+
description: 'Press a particular key on the device.',
|
|
207
|
+
ref: 'http://appium.io/docs/en/commands/device/keys/press-keycode/',
|
|
208
|
+
parameters: [
|
|
209
|
+
{
|
|
210
|
+
name: 'keycode',
|
|
211
|
+
type: 'number',
|
|
212
|
+
description: 'keycode to press',
|
|
213
|
+
required: true,
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: 'metastate',
|
|
217
|
+
type: 'number',
|
|
218
|
+
description: 'meta state to press the keycode with',
|
|
219
|
+
required: false,
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
name: 'flags',
|
|
223
|
+
type: 'number',
|
|
224
|
+
description: 'flags for the keypress',
|
|
225
|
+
required: false,
|
|
226
|
+
},
|
|
227
|
+
],
|
|
228
|
+
support: {
|
|
229
|
+
android: {
|
|
230
|
+
UiAutomator: '4.2+',
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
'/session/:sessionId/appium/device/long_press_keycode': {
|
|
236
|
+
POST: {
|
|
237
|
+
command: 'longPressKeyCode',
|
|
238
|
+
description: 'Press and hold a particular key code on the device.',
|
|
239
|
+
ref: 'http://appium.io/docs/en/commands/device/keys/long-press-keycode/',
|
|
240
|
+
parameters: [
|
|
241
|
+
{
|
|
242
|
+
name: 'keycode',
|
|
243
|
+
type: 'number',
|
|
244
|
+
description: 'keycode to press on the device',
|
|
245
|
+
required: true,
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
name: 'metastate',
|
|
249
|
+
type: 'number',
|
|
250
|
+
description: 'metastate for the keypress',
|
|
251
|
+
required: false,
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
name: 'flags',
|
|
255
|
+
type: 'number',
|
|
256
|
+
description: 'flags for the keypress',
|
|
257
|
+
required: false,
|
|
258
|
+
},
|
|
259
|
+
],
|
|
260
|
+
support: {
|
|
261
|
+
android: {
|
|
262
|
+
UiAutomator: '4.2+',
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
'/session/:sessionId/appium/device/keyevent': {
|
|
268
|
+
POST: {
|
|
269
|
+
command: 'sendKeyEvent',
|
|
270
|
+
description: 'Send a key code to the device.',
|
|
271
|
+
ref: 'https://github.com/appium/appium-base-driver/blob/master/docs/mjsonwp/protocol-methods.md#appium-extension-endpoints',
|
|
272
|
+
parameters: [
|
|
273
|
+
{
|
|
274
|
+
name: 'keycode',
|
|
275
|
+
type: 'string',
|
|
276
|
+
description: 'keycode to press',
|
|
277
|
+
required: true,
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
name: 'metastate',
|
|
281
|
+
type: 'string',
|
|
282
|
+
description: 'meta state to press the keycode with',
|
|
283
|
+
required: false,
|
|
284
|
+
},
|
|
285
|
+
],
|
|
286
|
+
support: {},
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
'/session/:sessionId/appium/device/rotate': {
|
|
290
|
+
POST: {
|
|
291
|
+
command: 'rotateDevice',
|
|
292
|
+
description: 'Rotate the device in three dimensions.',
|
|
293
|
+
ref: 'http://appium.io/docs/en/commands/device/interactions/rotate/',
|
|
294
|
+
parameters: [
|
|
295
|
+
{
|
|
296
|
+
name: 'x',
|
|
297
|
+
type: 'number',
|
|
298
|
+
description: 'x offset to use for the center of the rotate gesture',
|
|
299
|
+
required: true,
|
|
300
|
+
default: 0,
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
name: 'y',
|
|
304
|
+
type: 'number',
|
|
305
|
+
description: 'y offset to use for the center of the rotate gesture',
|
|
306
|
+
required: true,
|
|
307
|
+
default: 0,
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
name: 'radius',
|
|
311
|
+
type: 'number',
|
|
312
|
+
description: 'the distance in points from the center to the edge of the circular path',
|
|
313
|
+
required: true,
|
|
314
|
+
default: 0,
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
name: 'rotation',
|
|
318
|
+
type: 'number',
|
|
319
|
+
description: 'the length of rotation in radians',
|
|
320
|
+
required: true,
|
|
321
|
+
default: 3.14159265359,
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
name: 'touchCount',
|
|
325
|
+
type: 'number',
|
|
326
|
+
description: 'the number of touches to use in the specified gesture',
|
|
327
|
+
required: true,
|
|
328
|
+
default: 2,
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
name: 'duration',
|
|
332
|
+
type: 'number',
|
|
333
|
+
description: 'the length of hold time for the specified gesture, in seconds',
|
|
334
|
+
required: true,
|
|
335
|
+
default: 1,
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
name: 'element',
|
|
339
|
+
type: 'string',
|
|
340
|
+
description: 'the id of an element returned in a previous call to execute the rotation on',
|
|
341
|
+
required: false,
|
|
342
|
+
},
|
|
343
|
+
],
|
|
344
|
+
support: {
|
|
345
|
+
ios: {
|
|
346
|
+
UIAutomation: '8.0 to 9.3',
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
},
|
|
351
|
+
'/session/:sessionId/appium/device/current_activity': {
|
|
352
|
+
GET: {
|
|
353
|
+
command: 'getCurrentActivity',
|
|
354
|
+
description: 'Get the name of the current Android activity.',
|
|
355
|
+
ref: 'http://appium.io/docs/en/commands/device/activity/current-activity/',
|
|
356
|
+
parameters: [],
|
|
357
|
+
returns: {
|
|
358
|
+
type: 'string',
|
|
359
|
+
name: 'activity',
|
|
360
|
+
description: 'Name of the current activity',
|
|
361
|
+
},
|
|
362
|
+
support: {
|
|
363
|
+
android: {
|
|
364
|
+
UiAutomator: '4.2+',
|
|
365
|
+
},
|
|
366
|
+
},
|
|
367
|
+
},
|
|
368
|
+
},
|
|
369
|
+
'/session/:sessionId/appium/device/current_package': {
|
|
370
|
+
GET: {
|
|
371
|
+
command: 'getCurrentPackage',
|
|
372
|
+
description: 'Get the name of the current Android package.',
|
|
373
|
+
ref: 'http://appium.io/docs/en/commands/device/activity/current-package/',
|
|
374
|
+
parameters: [],
|
|
375
|
+
returns: {
|
|
376
|
+
type: 'string',
|
|
377
|
+
name: 'package',
|
|
378
|
+
description: 'Name of the current package',
|
|
379
|
+
},
|
|
380
|
+
support: {
|
|
381
|
+
android: {
|
|
382
|
+
UiAutomator: '4.2+',
|
|
383
|
+
},
|
|
384
|
+
},
|
|
385
|
+
},
|
|
386
|
+
},
|
|
387
|
+
'/session/:sessionId/appium/device/install_app': {
|
|
388
|
+
POST: {
|
|
389
|
+
command: 'installApp',
|
|
390
|
+
description: 'Install the given app onto the device.',
|
|
391
|
+
ref: 'http://appium.io/docs/en/commands/device/app/install-app/',
|
|
392
|
+
parameters: [
|
|
393
|
+
{
|
|
394
|
+
name: 'appPath',
|
|
395
|
+
type: 'string',
|
|
396
|
+
description: 'path to application .apk file',
|
|
397
|
+
required: true,
|
|
398
|
+
},
|
|
399
|
+
],
|
|
400
|
+
support: {
|
|
401
|
+
ios: {
|
|
402
|
+
XCUITest: '9.3+',
|
|
403
|
+
UIAutomation: '8.0 to 9.3',
|
|
404
|
+
},
|
|
405
|
+
android: {
|
|
406
|
+
UiAutomator: '4.2+',
|
|
407
|
+
},
|
|
408
|
+
},
|
|
409
|
+
},
|
|
410
|
+
},
|
|
411
|
+
'/session/:sessionId/appium/device/activate_app': {
|
|
412
|
+
POST: {
|
|
413
|
+
command: 'activateApp',
|
|
414
|
+
description: 'Activate the given app onto the device',
|
|
415
|
+
ref: 'http://appium.io/docs/en/commands/device/app/activate-app/',
|
|
416
|
+
parameters: [
|
|
417
|
+
{
|
|
418
|
+
name: 'appId',
|
|
419
|
+
type: 'string',
|
|
420
|
+
description: 'App ID (package ID for Android, bundle ID for iOS)',
|
|
421
|
+
required: true,
|
|
422
|
+
},
|
|
423
|
+
],
|
|
424
|
+
support: {
|
|
425
|
+
ios: {
|
|
426
|
+
XCUITest: '9.3+',
|
|
427
|
+
},
|
|
428
|
+
android: {
|
|
429
|
+
UiAutomator: '4.2+',
|
|
430
|
+
},
|
|
431
|
+
},
|
|
432
|
+
},
|
|
433
|
+
},
|
|
434
|
+
'/session/:sessionId/appium/device/remove_app': {
|
|
435
|
+
POST: {
|
|
436
|
+
command: 'removeApp',
|
|
437
|
+
description: 'Remove an app from the device.',
|
|
438
|
+
ref: 'http://appium.io/docs/en/commands/device/app/remove-app/',
|
|
439
|
+
parameters: [
|
|
440
|
+
{
|
|
441
|
+
name: 'appId',
|
|
442
|
+
type: 'string',
|
|
443
|
+
description: 'App ID (package ID for Android, bundle ID for iOS)',
|
|
444
|
+
required: true,
|
|
445
|
+
},
|
|
446
|
+
],
|
|
447
|
+
support: {
|
|
448
|
+
ios: {
|
|
449
|
+
XCUITest: '9.3+',
|
|
450
|
+
UIAutomation: '8.0 to 9.3',
|
|
451
|
+
},
|
|
452
|
+
android: {
|
|
453
|
+
UiAutomator: '4.2+',
|
|
454
|
+
},
|
|
455
|
+
},
|
|
456
|
+
},
|
|
457
|
+
},
|
|
458
|
+
'/session/:sessionId/appium/device/terminate_app': {
|
|
459
|
+
POST: {
|
|
460
|
+
command: 'terminateApp',
|
|
461
|
+
description: 'Terminate the given app on the device',
|
|
462
|
+
ref: 'http://appium.io/docs/en/commands/device/app/terminate-app/',
|
|
463
|
+
parameters: [
|
|
464
|
+
{
|
|
465
|
+
name: 'appId',
|
|
466
|
+
type: 'string',
|
|
467
|
+
description: 'App ID (package ID for Android, bundle ID for iOS)',
|
|
468
|
+
required: true,
|
|
469
|
+
},
|
|
470
|
+
],
|
|
471
|
+
support: {
|
|
472
|
+
ios: {
|
|
473
|
+
XCUITest: '9.3+',
|
|
474
|
+
},
|
|
475
|
+
android: {
|
|
476
|
+
UiAutomator: '4.2+',
|
|
477
|
+
},
|
|
478
|
+
},
|
|
479
|
+
},
|
|
480
|
+
},
|
|
481
|
+
'/session/:sessionId/appium/device/app_installed': {
|
|
482
|
+
POST: {
|
|
483
|
+
command: 'isAppInstalled',
|
|
484
|
+
description: 'Check whether the specified app is installed on the device.',
|
|
485
|
+
ref: 'http://appium.io/docs/en/commands/device/app/is-app-installed/',
|
|
486
|
+
parameters: [
|
|
487
|
+
{
|
|
488
|
+
name: 'appId',
|
|
489
|
+
type: 'string',
|
|
490
|
+
description: 'App ID (package ID for Android, bundle ID for iOS)',
|
|
491
|
+
required: true,
|
|
492
|
+
},
|
|
493
|
+
],
|
|
494
|
+
returns: {
|
|
495
|
+
type: 'boolean',
|
|
496
|
+
name: 'isAppInstalled',
|
|
497
|
+
description: 'Return true if installed, false if not',
|
|
498
|
+
},
|
|
499
|
+
support: {
|
|
500
|
+
ios: {
|
|
501
|
+
XCUITest: '9.3+',
|
|
502
|
+
UIAutomation: '8.0 to 9.3',
|
|
503
|
+
},
|
|
504
|
+
android: {
|
|
505
|
+
UiAutomator: '4.2+',
|
|
506
|
+
},
|
|
507
|
+
},
|
|
508
|
+
},
|
|
509
|
+
},
|
|
510
|
+
'/session/:sessionId/appium/device/app_state': {
|
|
511
|
+
POST: {
|
|
512
|
+
command: 'queryAppState',
|
|
513
|
+
description: 'Get the given app status on the device',
|
|
514
|
+
ref: 'http://appium.io/docs/en/commands/device/app/app-state/',
|
|
515
|
+
parameters: [
|
|
516
|
+
{
|
|
517
|
+
name: 'appId',
|
|
518
|
+
type: 'string',
|
|
519
|
+
description: 'App ID (package ID for Android, bundle ID for iOS)',
|
|
520
|
+
required: true,
|
|
521
|
+
},
|
|
522
|
+
],
|
|
523
|
+
returns: {
|
|
524
|
+
type: 'number',
|
|
525
|
+
name: 'appStatus',
|
|
526
|
+
description: '0 is not installed. 1 is not running. 2 is running in background or suspended. 3 is running in background. 4 is running in foreground',
|
|
527
|
+
},
|
|
528
|
+
support: {
|
|
529
|
+
ios: {
|
|
530
|
+
XCUITest: '9.3+',
|
|
531
|
+
},
|
|
532
|
+
android: {
|
|
533
|
+
UiAutomator: '4.2+',
|
|
534
|
+
},
|
|
535
|
+
},
|
|
536
|
+
},
|
|
537
|
+
},
|
|
538
|
+
'/session/:sessionId/appium/device/hide_keyboard': {
|
|
539
|
+
POST: {
|
|
540
|
+
command: 'hideKeyboard',
|
|
541
|
+
description: 'Hide soft keyboard.',
|
|
542
|
+
ref: 'http://appium.io/docs/en/commands/device/keys/hide-keyboard/',
|
|
543
|
+
parameters: [
|
|
544
|
+
{
|
|
545
|
+
name: 'strategy',
|
|
546
|
+
type: 'string',
|
|
547
|
+
description: "hide keyboard strategy (UIAutomation only), available strategies - 'press', 'pressKey', 'swipeDown', 'tapOut', 'tapOutside', 'default'",
|
|
548
|
+
required: false,
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
name: 'key',
|
|
552
|
+
type: 'string',
|
|
553
|
+
description: "key value if strategy is 'pressKey'",
|
|
554
|
+
required: false,
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
name: 'keyCode',
|
|
558
|
+
type: 'string',
|
|
559
|
+
description: "key code if strategy is 'pressKey'",
|
|
560
|
+
required: false,
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
name: 'keyName',
|
|
564
|
+
type: 'string',
|
|
565
|
+
description: "key name if strategy is 'pressKey'",
|
|
566
|
+
required: false,
|
|
567
|
+
},
|
|
568
|
+
],
|
|
569
|
+
support: {
|
|
570
|
+
ios: {
|
|
571
|
+
XCUITest: '9.3+',
|
|
572
|
+
UIAutomation: '8.0 to 9.3',
|
|
573
|
+
},
|
|
574
|
+
android: {
|
|
575
|
+
UiAutomator: '4.2+',
|
|
576
|
+
},
|
|
577
|
+
windows: {
|
|
578
|
+
Windows: '10+',
|
|
579
|
+
},
|
|
580
|
+
},
|
|
581
|
+
},
|
|
582
|
+
},
|
|
583
|
+
'/session/:sessionId/appium/device/is_keyboard_shown': {
|
|
584
|
+
GET: {
|
|
585
|
+
command: 'isKeyboardShown',
|
|
586
|
+
description: 'Whether or not the soft keyboard is shown.',
|
|
587
|
+
ref: 'http://appium.io/docs/en/commands/device/keys/is-keyboard-shown/',
|
|
588
|
+
parameters: [],
|
|
589
|
+
returns: {
|
|
590
|
+
type: 'boolean',
|
|
591
|
+
name: 'isKeyboardShown',
|
|
592
|
+
description: 'True if the keyboard is shown',
|
|
593
|
+
},
|
|
594
|
+
support: {
|
|
595
|
+
ios: {
|
|
596
|
+
XCUITest: '9.3+',
|
|
597
|
+
UIAutomation: '8.0 to 9.3',
|
|
598
|
+
},
|
|
599
|
+
android: {
|
|
600
|
+
UiAutomator: '4.2+',
|
|
601
|
+
},
|
|
602
|
+
windows: {
|
|
603
|
+
Windows: '10+',
|
|
604
|
+
},
|
|
605
|
+
},
|
|
606
|
+
},
|
|
607
|
+
},
|
|
608
|
+
'/session/:sessionId/appium/device/push_file': {
|
|
609
|
+
POST: {
|
|
610
|
+
command: 'pushFile',
|
|
611
|
+
description: 'Place a file onto the device in a particular place.',
|
|
612
|
+
ref: 'http://appium.io/docs/en/commands/device/files/push-file/',
|
|
613
|
+
parameters: [
|
|
614
|
+
{
|
|
615
|
+
name: 'path',
|
|
616
|
+
type: 'string',
|
|
617
|
+
description: 'path to install the data to',
|
|
618
|
+
required: true,
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
name: 'data',
|
|
622
|
+
type: 'string',
|
|
623
|
+
description: 'contents of file in base64',
|
|
624
|
+
required: true,
|
|
625
|
+
},
|
|
626
|
+
],
|
|
627
|
+
support: {
|
|
628
|
+
ios: {
|
|
629
|
+
XCUITest: '9.3+',
|
|
630
|
+
UIAutomation: '8.0 to 9.3',
|
|
631
|
+
},
|
|
632
|
+
android: {
|
|
633
|
+
UiAutomator: '4.2+',
|
|
634
|
+
},
|
|
635
|
+
},
|
|
636
|
+
},
|
|
637
|
+
},
|
|
638
|
+
'/session/:sessionId/appium/device/pull_file': {
|
|
639
|
+
POST: {
|
|
640
|
+
command: 'pullFile',
|
|
641
|
+
description: "Retrieve a file from the device's file system.",
|
|
642
|
+
ref: 'http://appium.io/docs/en/commands/device/files/pull-file/',
|
|
643
|
+
parameters: [
|
|
644
|
+
{
|
|
645
|
+
name: 'path',
|
|
646
|
+
type: 'string',
|
|
647
|
+
description: 'path on the device to pull file from',
|
|
648
|
+
required: true,
|
|
649
|
+
},
|
|
650
|
+
],
|
|
651
|
+
support: {
|
|
652
|
+
ios: {
|
|
653
|
+
XCUITest: '9.3+',
|
|
654
|
+
UIAutomation: '8.0 to 9.3',
|
|
655
|
+
},
|
|
656
|
+
android: {
|
|
657
|
+
UiAutomator: '4.2+',
|
|
658
|
+
},
|
|
659
|
+
},
|
|
660
|
+
returns: {
|
|
661
|
+
type: 'string',
|
|
662
|
+
name: 'response',
|
|
663
|
+
description: 'Contents of file in base64',
|
|
664
|
+
},
|
|
665
|
+
},
|
|
666
|
+
},
|
|
667
|
+
'/session/:sessionId/appium/device/pull_folder': {
|
|
668
|
+
POST: {
|
|
669
|
+
command: 'pullFolder',
|
|
670
|
+
description: "Retrieve a folder from the device's file system.",
|
|
671
|
+
ref: 'http://appium.io/docs/en/commands/device/files/pull-folder/',
|
|
672
|
+
parameters: [
|
|
673
|
+
{
|
|
674
|
+
name: 'path',
|
|
675
|
+
type: 'string',
|
|
676
|
+
description: 'path to an entire folder on the device',
|
|
677
|
+
required: true,
|
|
678
|
+
},
|
|
679
|
+
],
|
|
680
|
+
support: {
|
|
681
|
+
ios: {
|
|
682
|
+
XCUITest: '9.3+',
|
|
683
|
+
UIAutomation: '8.0 to 9.3',
|
|
684
|
+
},
|
|
685
|
+
android: {
|
|
686
|
+
UiAutomator: '4.2+',
|
|
687
|
+
},
|
|
688
|
+
},
|
|
689
|
+
},
|
|
690
|
+
},
|
|
691
|
+
'/session/:sessionId/appium/device/toggle_airplane_mode': {
|
|
692
|
+
POST: {
|
|
693
|
+
command: 'toggleAirplaneMode',
|
|
694
|
+
description: 'Toggle airplane mode on device.',
|
|
695
|
+
ref: 'http://appium.io/docs/en/commands/device/network/toggle-airplane-mode/',
|
|
696
|
+
parameters: [],
|
|
697
|
+
support: {
|
|
698
|
+
android: {
|
|
699
|
+
UiAutomator: '4.2+',
|
|
700
|
+
},
|
|
701
|
+
},
|
|
702
|
+
},
|
|
703
|
+
},
|
|
704
|
+
'/session/:sessionId/appium/device/toggle_data': {
|
|
705
|
+
POST: {
|
|
706
|
+
command: 'toggleData',
|
|
707
|
+
description: 'Switch the state of data service.',
|
|
708
|
+
ref: 'http://appium.io/docs/en/commands/device/network/toggle-data/',
|
|
709
|
+
parameters: [],
|
|
710
|
+
support: {
|
|
711
|
+
android: {
|
|
712
|
+
UiAutomator: '4.2+',
|
|
713
|
+
},
|
|
714
|
+
},
|
|
715
|
+
},
|
|
716
|
+
},
|
|
717
|
+
'/session/:sessionId/appium/device/toggle_wifi': {
|
|
718
|
+
POST: {
|
|
719
|
+
command: 'toggleWiFi',
|
|
720
|
+
description: 'Switch the state of the wifi service.',
|
|
721
|
+
ref: 'http://appium.io/docs/en/commands/device/network/toggle-wifi/',
|
|
722
|
+
parameters: [],
|
|
723
|
+
support: {
|
|
724
|
+
android: {
|
|
725
|
+
UiAutomator: '4.2+',
|
|
726
|
+
},
|
|
727
|
+
},
|
|
728
|
+
},
|
|
729
|
+
},
|
|
730
|
+
'/session/:sessionId/appium/device/toggle_location_services': {
|
|
731
|
+
POST: {
|
|
732
|
+
command: 'toggleLocationServices',
|
|
733
|
+
description: 'Switch the state of the location service.',
|
|
734
|
+
ref: 'http://appium.io/docs/en/commands/device/network/toggle-location-services/',
|
|
735
|
+
parameters: [],
|
|
736
|
+
support: {
|
|
737
|
+
android: {
|
|
738
|
+
UiAutomator: '4.2+',
|
|
739
|
+
},
|
|
740
|
+
},
|
|
741
|
+
},
|
|
742
|
+
},
|
|
743
|
+
'/session/:sessionId/appium/device/network_speed': {
|
|
744
|
+
POST: {
|
|
745
|
+
command: 'toggleNetworkSpeed',
|
|
746
|
+
description: 'Set network speed (Emulator only)',
|
|
747
|
+
ref: 'http://appium.io/docs/en/commands/device/network/network-speed/',
|
|
748
|
+
parameters: [
|
|
749
|
+
{
|
|
750
|
+
name: 'netspeed',
|
|
751
|
+
type: 'string',
|
|
752
|
+
description: "Network type - 'full','gsm', 'edge', 'hscsd', 'gprs', 'umts', 'hsdpa', 'lte', 'evdo'",
|
|
753
|
+
required: true,
|
|
754
|
+
},
|
|
755
|
+
],
|
|
756
|
+
support: {
|
|
757
|
+
android: {
|
|
758
|
+
UiAutomator: '4.2+',
|
|
759
|
+
},
|
|
760
|
+
},
|
|
761
|
+
},
|
|
762
|
+
},
|
|
763
|
+
'/session/:sessionId/appium/device/open_notifications': {
|
|
764
|
+
POST: {
|
|
765
|
+
command: 'openNotifications',
|
|
766
|
+
description: 'Open Android notifications (Emulator only).',
|
|
767
|
+
ref: 'http://appium.io/docs/en/commands/device/system/open-notifications/',
|
|
768
|
+
parameters: [],
|
|
769
|
+
support: {
|
|
770
|
+
android: {
|
|
771
|
+
UiAutomator: '4.2+',
|
|
772
|
+
},
|
|
773
|
+
},
|
|
774
|
+
},
|
|
775
|
+
},
|
|
776
|
+
'/session/:sessionId/appium/device/start_activity': {
|
|
777
|
+
POST: {
|
|
778
|
+
command: 'startActivity',
|
|
779
|
+
description: 'Start an Android activity by providing package name and activity name.',
|
|
780
|
+
ref: 'http://appium.io/docs/en/commands/device/activity/start-activity/',
|
|
781
|
+
parameters: [
|
|
782
|
+
{
|
|
783
|
+
name: 'appPackage',
|
|
784
|
+
type: 'string',
|
|
785
|
+
description: 'name of app',
|
|
786
|
+
required: true,
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
name: 'appActivity',
|
|
790
|
+
type: 'string',
|
|
791
|
+
description: 'name of activity',
|
|
792
|
+
required: true,
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
name: 'appWaitPackage',
|
|
796
|
+
type: 'string',
|
|
797
|
+
description: 'name of app to wait for',
|
|
798
|
+
required: false,
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
name: 'appWaitActivity',
|
|
802
|
+
type: 'string',
|
|
803
|
+
description: 'name of activity to wait for',
|
|
804
|
+
required: false,
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
name: 'intentAction',
|
|
808
|
+
type: 'string',
|
|
809
|
+
description: 'intent action which will be used to start activity',
|
|
810
|
+
required: false,
|
|
811
|
+
default: 'android.intent.action.MAIN',
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
name: 'intentCategory',
|
|
815
|
+
type: 'string',
|
|
816
|
+
description: 'intent category which will be used to start activity',
|
|
817
|
+
required: false,
|
|
818
|
+
default: 'android.intent.category.LAUNCHER',
|
|
819
|
+
},
|
|
820
|
+
{
|
|
821
|
+
name: 'intentFlags',
|
|
822
|
+
type: 'string',
|
|
823
|
+
description: 'flags that will be used to start activity',
|
|
824
|
+
required: false,
|
|
825
|
+
default: '0x10200000',
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
name: 'optionalIntentArguments',
|
|
829
|
+
type: 'string',
|
|
830
|
+
description: 'additional intent arguments that will be used to start activity',
|
|
831
|
+
required: false,
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
name: 'dontStopAppOnReset',
|
|
835
|
+
type: 'string',
|
|
836
|
+
description: 'doesn’t stop the process of the app under test, before starting the app using adb',
|
|
837
|
+
required: false,
|
|
838
|
+
},
|
|
839
|
+
],
|
|
840
|
+
support: {
|
|
841
|
+
android: {
|
|
842
|
+
UiAutomator: '4.2+',
|
|
843
|
+
},
|
|
844
|
+
},
|
|
845
|
+
},
|
|
846
|
+
},
|
|
847
|
+
'/session/:sessionId/appium/device/system_bars': {
|
|
848
|
+
GET: {
|
|
849
|
+
command: 'getSystemBars',
|
|
850
|
+
description: 'Retrieve visibility and bounds information of the status and navigation bars.',
|
|
851
|
+
ref: 'http://appium.io/docs/en/commands/device/system/system-bars/',
|
|
852
|
+
parameters: [],
|
|
853
|
+
returns: {
|
|
854
|
+
type: 'object[]',
|
|
855
|
+
name: 'systemBars',
|
|
856
|
+
description: 'Information about visibility and bounds of status and navigation bar',
|
|
857
|
+
},
|
|
858
|
+
support: {
|
|
859
|
+
android: {
|
|
860
|
+
UiAutomator: '4.2+',
|
|
861
|
+
},
|
|
862
|
+
},
|
|
863
|
+
},
|
|
864
|
+
},
|
|
865
|
+
'/session/:sessionId/appium/device/system_time': {
|
|
866
|
+
GET: {
|
|
867
|
+
command: 'getDeviceTime',
|
|
868
|
+
description: 'Get the time on the device.',
|
|
869
|
+
ref: 'http://appium.io/docs/en/commands/device/system/system-time/',
|
|
870
|
+
parameters: [],
|
|
871
|
+
returns: {
|
|
872
|
+
type: 'string',
|
|
873
|
+
name: 'time',
|
|
874
|
+
description: 'Time on the device',
|
|
875
|
+
},
|
|
876
|
+
support: {
|
|
877
|
+
ios: {
|
|
878
|
+
XCUITest: '9.3+',
|
|
879
|
+
UIAutomation: '8.0 to 9.3',
|
|
880
|
+
},
|
|
881
|
+
android: {
|
|
882
|
+
UiAutomator: '4.2+',
|
|
883
|
+
},
|
|
884
|
+
},
|
|
885
|
+
},
|
|
886
|
+
},
|
|
887
|
+
'/session/:sessionId/appium/device/display_density': {
|
|
888
|
+
GET: {
|
|
889
|
+
command: 'getDisplayDensity',
|
|
890
|
+
description: 'Get display density from device.',
|
|
891
|
+
ref: 'https://github.com/appium/appium-base-driver/blob/master/docs/mjsonwp/protocol-methods.md#appium-extension-endpoints',
|
|
892
|
+
parameters: [],
|
|
893
|
+
returns: {
|
|
894
|
+
type: '*',
|
|
895
|
+
name: 'displayDensity',
|
|
896
|
+
},
|
|
897
|
+
support: {
|
|
898
|
+
android: {
|
|
899
|
+
UiAutomator: '4.2+',
|
|
900
|
+
},
|
|
901
|
+
},
|
|
902
|
+
},
|
|
903
|
+
},
|
|
904
|
+
'/session/:sessionId/appium/simulator/touch_id': {
|
|
905
|
+
POST: {
|
|
906
|
+
command: 'touchId',
|
|
907
|
+
description: 'Simulate a [touch id](https://support.apple.com/en-ca/ht201371) event (iOS Simulator only). To enable this feature, the `allowTouchIdEnroll` desired capability must be set to true and the Simulator must be [enrolled](https://support.apple.com/en-ca/ht201371). When you set allowTouchIdEnroll to true, it will set the Simulator to be enrolled by default. The enrollment state can be [toggled](http://appium.io/docs/en/commands/device/simulator/toggle-touch-id-enrollment/index.html). This call will only work if Appium process or its parent application (e.g. Terminal.app or Appium.app) has access to Mac OS accessibility in System Preferences > Security & Privacy > Privacy > Accessibility list.',
|
|
908
|
+
ref: 'http://appium.io/docs/en/commands/device/simulator/touch-id/',
|
|
909
|
+
parameters: [
|
|
910
|
+
{
|
|
911
|
+
name: 'match',
|
|
912
|
+
type: 'boolean',
|
|
913
|
+
description: 'are we simulating a successful touch (true) or a failed touch (false)',
|
|
914
|
+
required: true,
|
|
915
|
+
},
|
|
916
|
+
],
|
|
917
|
+
support: {
|
|
918
|
+
ios: {
|
|
919
|
+
XCUITest: '9.3+',
|
|
920
|
+
},
|
|
921
|
+
},
|
|
922
|
+
},
|
|
923
|
+
},
|
|
924
|
+
'/session/:sessionId/appium/simulator/toggle_touch_id_enrollment': {
|
|
925
|
+
POST: {
|
|
926
|
+
command: 'toggleEnrollTouchId',
|
|
927
|
+
description: "Toggle the simulator being [enrolled](https://support.apple.com/en-ca/ht201371) to accept touchId (iOS Simulator only). To enable this feature, the `allowTouchIdEnroll` desired capability must be set to true. When `allowTouchIdEnroll` is set to true the Simulator will be enrolled by default, and the 'Toggle Touch ID Enrollment' changes the enrollment state. This call will only work if the Appium process or its parent application (e.g., Terminal.app or Appium.app) has access to Mac OS accessibility in System Preferences > Security & Privacy > Privacy > Accessibility list.",
|
|
928
|
+
ref: 'http://appium.io/docs/en/commands/device/simulator/toggle-touch-id-enrollment/',
|
|
929
|
+
parameters: [
|
|
930
|
+
{
|
|
931
|
+
name: 'enabled',
|
|
932
|
+
type: 'boolean',
|
|
933
|
+
description: 'equals to true if TouchID enrollment should be enabled',
|
|
934
|
+
required: false,
|
|
935
|
+
default: true,
|
|
936
|
+
},
|
|
937
|
+
],
|
|
938
|
+
support: {
|
|
939
|
+
ios: {
|
|
940
|
+
XCUITest: '9.3+',
|
|
941
|
+
},
|
|
942
|
+
},
|
|
943
|
+
},
|
|
944
|
+
},
|
|
945
|
+
'/session/:sessionId/appium/app/launch': {
|
|
946
|
+
POST: {
|
|
947
|
+
command: 'launchApp',
|
|
948
|
+
description: 'Launch an app on device. iOS tests with XCUITest can also use the `mobile: launchApp` method. See detailed [documentation](http://appium.io/docs/en/writing-running-appium/ios/ios-xctest-mobile-apps-management/index.html#mobile-launchapp).',
|
|
949
|
+
ref: 'http://appium.io/docs/en/commands/device/app/launch-app/',
|
|
950
|
+
parameters: [],
|
|
951
|
+
support: {
|
|
952
|
+
ios: {
|
|
953
|
+
XCUITest: '9.3+',
|
|
954
|
+
UIAutomation: '8.0 to 9.3',
|
|
955
|
+
},
|
|
956
|
+
android: {
|
|
957
|
+
UiAutomator: '4.2+',
|
|
958
|
+
},
|
|
959
|
+
},
|
|
960
|
+
},
|
|
961
|
+
},
|
|
962
|
+
'/session/:sessionId/appium/app/close': {
|
|
963
|
+
POST: {
|
|
964
|
+
command: 'closeApp',
|
|
965
|
+
description: 'Close an app on device.',
|
|
966
|
+
ref: 'http://appium.io/docs/en/commands/device/app/close-app/',
|
|
967
|
+
parameters: [],
|
|
968
|
+
support: {
|
|
969
|
+
ios: {
|
|
970
|
+
XCUITest: '9.3+',
|
|
971
|
+
UIAutomation: '8.0 to 9.3',
|
|
972
|
+
},
|
|
973
|
+
android: {
|
|
974
|
+
UiAutomator: '4.2+',
|
|
975
|
+
},
|
|
976
|
+
},
|
|
977
|
+
},
|
|
978
|
+
},
|
|
979
|
+
'/session/:sessionId/appium/app/background': {
|
|
980
|
+
POST: {
|
|
981
|
+
command: 'background',
|
|
982
|
+
description: 'Send the currently running app for this session to the background. iOS tests with XCUITest can also use the `mobile: terminateApp` method to terminate the current app (see detailed [documentation](http://appium.io/docs/en/writing-running-appium/ios/ios-xctest-mobile-apps-management/index.html#mobile-terminateapp)), and the `mobile: activateApp` to activate an existing application on the device under test and moves it to the foreground (see detailed [documentation](http://appium.io/docs/en/writing-running-appium/ios/ios-xctest-mobile-apps-management/index.html#mobile-activateapp)).',
|
|
983
|
+
ref: 'http://appium.io/docs/en/commands/device/app/background-app/',
|
|
984
|
+
parameters: [
|
|
985
|
+
{
|
|
986
|
+
name: 'seconds',
|
|
987
|
+
type: '(number|null)',
|
|
988
|
+
description: "timeout to restore app, if 'null' app won't be restored",
|
|
989
|
+
required: true,
|
|
990
|
+
default: 'null',
|
|
991
|
+
},
|
|
992
|
+
],
|
|
993
|
+
support: {
|
|
994
|
+
ios: {
|
|
995
|
+
XCUITest: '9.3+',
|
|
996
|
+
UIAutomation: '8.0 to 9.3',
|
|
997
|
+
},
|
|
998
|
+
android: {
|
|
999
|
+
UiAutomator: '4.2+',
|
|
1000
|
+
},
|
|
1001
|
+
},
|
|
1002
|
+
},
|
|
1003
|
+
},
|
|
1004
|
+
'/session/:sessionId/appium/app/end_test_coverage': {
|
|
1005
|
+
POST: {
|
|
1006
|
+
command: 'endCoverage',
|
|
1007
|
+
description: 'Get test coverage data.',
|
|
1008
|
+
ref: 'http://appium.io/docs/en/commands/device/app/end-test-coverage/',
|
|
1009
|
+
parameters: [
|
|
1010
|
+
{
|
|
1011
|
+
name: 'intent',
|
|
1012
|
+
type: 'string',
|
|
1013
|
+
description: 'intent to broadcast',
|
|
1014
|
+
required: true,
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
name: 'path',
|
|
1018
|
+
type: 'string',
|
|
1019
|
+
description: 'path to .ec file',
|
|
1020
|
+
required: true,
|
|
1021
|
+
},
|
|
1022
|
+
],
|
|
1023
|
+
support: {
|
|
1024
|
+
android: {
|
|
1025
|
+
UiAutomator: '4.2+',
|
|
1026
|
+
},
|
|
1027
|
+
},
|
|
1028
|
+
},
|
|
1029
|
+
},
|
|
1030
|
+
'/session/:sessionId/appium/app/strings': {
|
|
1031
|
+
POST: {
|
|
1032
|
+
command: 'getStrings',
|
|
1033
|
+
description: 'Get app strings.',
|
|
1034
|
+
ref: 'http://appium.io/docs/en/commands/device/app/get-app-strings/',
|
|
1035
|
+
parameters: [
|
|
1036
|
+
{
|
|
1037
|
+
name: 'language',
|
|
1038
|
+
type: 'string',
|
|
1039
|
+
description: 'language code',
|
|
1040
|
+
required: false,
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
name: 'stringFile',
|
|
1044
|
+
type: 'string',
|
|
1045
|
+
description: 'path to the string file',
|
|
1046
|
+
required: false,
|
|
1047
|
+
},
|
|
1048
|
+
],
|
|
1049
|
+
returns: {
|
|
1050
|
+
type: 'object',
|
|
1051
|
+
name: 'appStrings',
|
|
1052
|
+
description: 'all defined Strings from an app for the specified language and strings filename',
|
|
1053
|
+
},
|
|
1054
|
+
support: {
|
|
1055
|
+
ios: {
|
|
1056
|
+
XCUITest: '9.3+',
|
|
1057
|
+
UIAutomation: '8.0 to 9.3',
|
|
1058
|
+
},
|
|
1059
|
+
android: {
|
|
1060
|
+
UiAutomator: '4.2+',
|
|
1061
|
+
},
|
|
1062
|
+
},
|
|
1063
|
+
},
|
|
1064
|
+
},
|
|
1065
|
+
'/session/:sessionId/appium/element/:elementId/value': {
|
|
1066
|
+
POST: {
|
|
1067
|
+
command: 'setValueImmediate',
|
|
1068
|
+
ref: 'https://github.com/appium/appium-base-driver/blob/master/docs/mjsonwp/protocol-methods.md#appium-extension-endpoints',
|
|
1069
|
+
variables: [
|
|
1070
|
+
{
|
|
1071
|
+
name: 'elementId',
|
|
1072
|
+
description: 'the id of an element returned in a previous call to Find Element(s)',
|
|
1073
|
+
},
|
|
1074
|
+
],
|
|
1075
|
+
parameters: [
|
|
1076
|
+
{
|
|
1077
|
+
name: 'value',
|
|
1078
|
+
type: 'string',
|
|
1079
|
+
description: 'value to set on element',
|
|
1080
|
+
required: true,
|
|
1081
|
+
},
|
|
1082
|
+
],
|
|
1083
|
+
support: {
|
|
1084
|
+
ios: {
|
|
1085
|
+
XCUITest: '9.3+',
|
|
1086
|
+
},
|
|
1087
|
+
},
|
|
1088
|
+
},
|
|
1089
|
+
},
|
|
1090
|
+
'/session/:sessionId/appium/element/:elementId/replace_value': {
|
|
1091
|
+
POST: {
|
|
1092
|
+
command: 'replaceValue',
|
|
1093
|
+
description: 'Replace the value to element directly.',
|
|
1094
|
+
ref: 'https://github.com/appium/appium-base-driver/blob/master/docs/mjsonwp/protocol-methods.md#appium-extension-endpoints',
|
|
1095
|
+
variables: [
|
|
1096
|
+
{
|
|
1097
|
+
name: 'elementId',
|
|
1098
|
+
description: 'the id of an element returned in a previous call to Find Element(s)',
|
|
1099
|
+
},
|
|
1100
|
+
],
|
|
1101
|
+
parameters: [
|
|
1102
|
+
{
|
|
1103
|
+
name: 'value',
|
|
1104
|
+
type: 'string',
|
|
1105
|
+
description: 'value to replace on element',
|
|
1106
|
+
required: true,
|
|
1107
|
+
},
|
|
1108
|
+
],
|
|
1109
|
+
support: {
|
|
1110
|
+
ios: {
|
|
1111
|
+
XCUITest: '9.3+',
|
|
1112
|
+
UIAutomation: '8.0 to 9.3',
|
|
1113
|
+
},
|
|
1114
|
+
android: {
|
|
1115
|
+
UiAutomator: '4.2+',
|
|
1116
|
+
},
|
|
1117
|
+
},
|
|
1118
|
+
},
|
|
1119
|
+
},
|
|
1120
|
+
'/session/:sessionId/appium/settings': {
|
|
1121
|
+
GET: {
|
|
1122
|
+
command: 'getSettings',
|
|
1123
|
+
description: 'Retrieve the current settings on the device.',
|
|
1124
|
+
ref: 'http://appium.io/docs/en/commands/session/settings/get-settings/',
|
|
1125
|
+
parameters: [],
|
|
1126
|
+
returns: {
|
|
1127
|
+
type: 'object',
|
|
1128
|
+
name: 'settings',
|
|
1129
|
+
description: 'JSON hash of all the currently specified settings, see Settings API',
|
|
1130
|
+
},
|
|
1131
|
+
support: {
|
|
1132
|
+
ios: {
|
|
1133
|
+
XCUITest: '9.3+',
|
|
1134
|
+
UIAutomation: '8.0 to 9.3',
|
|
1135
|
+
},
|
|
1136
|
+
android: {
|
|
1137
|
+
UiAutomator: '4.2+',
|
|
1138
|
+
},
|
|
1139
|
+
windows: {
|
|
1140
|
+
Windows: '10+',
|
|
1141
|
+
},
|
|
1142
|
+
},
|
|
1143
|
+
},
|
|
1144
|
+
POST: {
|
|
1145
|
+
command: 'updateSettings',
|
|
1146
|
+
description: 'Update the current setting on the device.',
|
|
1147
|
+
ref: 'http://appium.io/docs/en/commands/session/settings/update-settings/',
|
|
1148
|
+
parameters: [
|
|
1149
|
+
{
|
|
1150
|
+
name: 'settings',
|
|
1151
|
+
type: 'object',
|
|
1152
|
+
description: 'key/value object with settings to update',
|
|
1153
|
+
required: true,
|
|
1154
|
+
},
|
|
1155
|
+
],
|
|
1156
|
+
support: {
|
|
1157
|
+
ios: {
|
|
1158
|
+
XCUITest: '9.3+',
|
|
1159
|
+
UIAutomation: '8.0 to 9.3',
|
|
1160
|
+
},
|
|
1161
|
+
android: {
|
|
1162
|
+
UiAutomator: '4.2+',
|
|
1163
|
+
},
|
|
1164
|
+
windows: {
|
|
1165
|
+
Windows: '10+',
|
|
1166
|
+
},
|
|
1167
|
+
},
|
|
1168
|
+
},
|
|
1169
|
+
},
|
|
1170
|
+
'/session/:sessionId/appium/receive_async_response': {
|
|
1171
|
+
POST: {
|
|
1172
|
+
command: 'receiveAsyncResponse',
|
|
1173
|
+
description: 'Callback url for asynchronous execution of JavaScript.',
|
|
1174
|
+
ref: 'https://github.com/appium/appium-base-driver/blob/master/docs/mjsonwp/protocol-methods.md#appium-extension-endpoints',
|
|
1175
|
+
parameters: [
|
|
1176
|
+
{
|
|
1177
|
+
name: 'response',
|
|
1178
|
+
type: 'object',
|
|
1179
|
+
description: 'response to receive on device',
|
|
1180
|
+
required: true,
|
|
1181
|
+
},
|
|
1182
|
+
],
|
|
1183
|
+
support: {},
|
|
1184
|
+
},
|
|
1185
|
+
},
|
|
1186
|
+
'/session/:sessionId/appium/device/gsm_call': {
|
|
1187
|
+
POST: {
|
|
1188
|
+
command: 'gsmCall',
|
|
1189
|
+
description: 'Make GSM call (Emulator only).',
|
|
1190
|
+
ref: 'http://appium.io/docs/en/commands/device/network/gsm-call/',
|
|
1191
|
+
parameters: [
|
|
1192
|
+
{
|
|
1193
|
+
name: 'phoneNumber',
|
|
1194
|
+
type: 'string',
|
|
1195
|
+
description: 'the phone number to call to',
|
|
1196
|
+
required: true,
|
|
1197
|
+
},
|
|
1198
|
+
{
|
|
1199
|
+
name: 'action',
|
|
1200
|
+
type: 'string',
|
|
1201
|
+
description: "The action - 'call', 'accept', 'cancel', 'hold'",
|
|
1202
|
+
required: true,
|
|
1203
|
+
},
|
|
1204
|
+
],
|
|
1205
|
+
support: {
|
|
1206
|
+
android: {
|
|
1207
|
+
UiAutomator: '4.2+',
|
|
1208
|
+
},
|
|
1209
|
+
},
|
|
1210
|
+
},
|
|
1211
|
+
},
|
|
1212
|
+
'/session/:sessionId/appium/device/gsm_signal': {
|
|
1213
|
+
POST: {
|
|
1214
|
+
command: 'gsmSignal',
|
|
1215
|
+
description: 'Set GSM signal strength (Emulator only).',
|
|
1216
|
+
ref: 'http://appium.io/docs/en/commands/device/network/gsm-signal/',
|
|
1217
|
+
parameters: [
|
|
1218
|
+
{
|
|
1219
|
+
name: 'signalStrength',
|
|
1220
|
+
type: 'string',
|
|
1221
|
+
description: 'signal strength in the range [0, 4]',
|
|
1222
|
+
required: true,
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
name: 'signalStrengh',
|
|
1226
|
+
type: 'string',
|
|
1227
|
+
description: 'signal strength in the range [0, 4]. Please also set this parameter with the same value if you use Appium v1.11.0 or lower (see https://github.com/appium/appium/issues/12234).',
|
|
1228
|
+
required: false,
|
|
1229
|
+
},
|
|
1230
|
+
],
|
|
1231
|
+
support: {
|
|
1232
|
+
android: {
|
|
1233
|
+
UiAutomator: '4.2+',
|
|
1234
|
+
},
|
|
1235
|
+
},
|
|
1236
|
+
},
|
|
1237
|
+
},
|
|
1238
|
+
'/session/:sessionId/appium/device/power_capacity': {
|
|
1239
|
+
POST: {
|
|
1240
|
+
command: 'powerCapacity',
|
|
1241
|
+
description: 'Set the battery percentage (Emulator only).',
|
|
1242
|
+
ref: 'http://appium.io/docs/en/commands/device/emulator/power_capacity/',
|
|
1243
|
+
parameters: [
|
|
1244
|
+
{
|
|
1245
|
+
name: 'percent',
|
|
1246
|
+
type: 'number',
|
|
1247
|
+
description: 'percentage value in range [0, 100]',
|
|
1248
|
+
required: true,
|
|
1249
|
+
},
|
|
1250
|
+
],
|
|
1251
|
+
support: {
|
|
1252
|
+
android: {
|
|
1253
|
+
UiAutomator: '4.2+',
|
|
1254
|
+
},
|
|
1255
|
+
},
|
|
1256
|
+
},
|
|
1257
|
+
},
|
|
1258
|
+
'/session/:sessionId/appium/device/power_ac': {
|
|
1259
|
+
POST: {
|
|
1260
|
+
command: 'powerAC',
|
|
1261
|
+
description: 'Set the state of the battery charger to connected or not (Emulator only).',
|
|
1262
|
+
ref: 'http://appium.io/docs/en/commands/device/emulator/power_ac/',
|
|
1263
|
+
parameters: [
|
|
1264
|
+
{
|
|
1265
|
+
name: 'state',
|
|
1266
|
+
type: 'string',
|
|
1267
|
+
description: 'set the state. on or off',
|
|
1268
|
+
required: true,
|
|
1269
|
+
},
|
|
1270
|
+
],
|
|
1271
|
+
support: {
|
|
1272
|
+
android: {
|
|
1273
|
+
UiAutomator: '4.2+',
|
|
1274
|
+
},
|
|
1275
|
+
},
|
|
1276
|
+
},
|
|
1277
|
+
},
|
|
1278
|
+
'/session/:sessionId/appium/device/gsm_voice': {
|
|
1279
|
+
POST: {
|
|
1280
|
+
command: 'gsmVoice',
|
|
1281
|
+
description: 'Set GSM voice state (Emulator only).',
|
|
1282
|
+
ref: 'http://appium.io/docs/en/commands/device/network/gsm-voice/',
|
|
1283
|
+
parameters: [
|
|
1284
|
+
{
|
|
1285
|
+
name: 'state',
|
|
1286
|
+
type: 'string',
|
|
1287
|
+
description: "state of GSM voice - 'unregistered', 'home', 'roaming', 'searching', 'denied', 'off', 'on'",
|
|
1288
|
+
required: true,
|
|
1289
|
+
},
|
|
1290
|
+
],
|
|
1291
|
+
support: {
|
|
1292
|
+
android: {
|
|
1293
|
+
UiAutomator: '4.2+',
|
|
1294
|
+
},
|
|
1295
|
+
},
|
|
1296
|
+
},
|
|
1297
|
+
},
|
|
1298
|
+
'/session/:sessionId/appium/device/send_sms': {
|
|
1299
|
+
POST: {
|
|
1300
|
+
command: 'sendSms',
|
|
1301
|
+
description: 'Simulate an SMS message (Emulator only).',
|
|
1302
|
+
ref: 'http://appium.io/docs/en/commands/device/network/send-sms/',
|
|
1303
|
+
parameters: [
|
|
1304
|
+
{
|
|
1305
|
+
name: 'phoneNumber',
|
|
1306
|
+
type: 'string',
|
|
1307
|
+
description: 'the phone number to send the SMS too',
|
|
1308
|
+
required: true,
|
|
1309
|
+
},
|
|
1310
|
+
{
|
|
1311
|
+
name: 'message',
|
|
1312
|
+
type: 'string',
|
|
1313
|
+
description: 'the SMS message',
|
|
1314
|
+
required: true,
|
|
1315
|
+
},
|
|
1316
|
+
],
|
|
1317
|
+
support: {
|
|
1318
|
+
android: {
|
|
1319
|
+
UiAutomator: '4.2+',
|
|
1320
|
+
},
|
|
1321
|
+
},
|
|
1322
|
+
},
|
|
1323
|
+
},
|
|
1324
|
+
'/session/:sessionId/appium/device/finger_print': {
|
|
1325
|
+
POST: {
|
|
1326
|
+
command: 'fingerPrint',
|
|
1327
|
+
description: 'Authenticate users by using their finger print scans on supported emulators.',
|
|
1328
|
+
ref: 'http://appium.io/docs/en/commands/device/authentication/finger-print/',
|
|
1329
|
+
parameters: [
|
|
1330
|
+
{
|
|
1331
|
+
name: 'fingerprintId',
|
|
1332
|
+
type: 'number',
|
|
1333
|
+
description: 'finger prints stored in Android Keystore system (from 1 to 10)',
|
|
1334
|
+
required: true,
|
|
1335
|
+
},
|
|
1336
|
+
],
|
|
1337
|
+
support: {
|
|
1338
|
+
android: {
|
|
1339
|
+
UiAutomator: '4.2+',
|
|
1340
|
+
},
|
|
1341
|
+
},
|
|
1342
|
+
},
|
|
1343
|
+
},
|
|
1344
|
+
'/session/:sessionId/appium/device/set_clipboard': {
|
|
1345
|
+
POST: {
|
|
1346
|
+
command: 'setClipboard',
|
|
1347
|
+
description: 'Set the content of the system clipboard',
|
|
1348
|
+
ref: 'http://appium.io/docs/en/commands/device/clipboard/set-clipboard/',
|
|
1349
|
+
parameters: [
|
|
1350
|
+
{
|
|
1351
|
+
name: 'content',
|
|
1352
|
+
type: 'string',
|
|
1353
|
+
description: 'The actual base64 encoded clipboard content',
|
|
1354
|
+
required: true,
|
|
1355
|
+
},
|
|
1356
|
+
{
|
|
1357
|
+
name: 'contentType',
|
|
1358
|
+
type: 'string',
|
|
1359
|
+
description: 'The type of the content to get. Plaintext, Image, URL. Android supports only plaintext',
|
|
1360
|
+
required: false,
|
|
1361
|
+
},
|
|
1362
|
+
{
|
|
1363
|
+
name: 'label',
|
|
1364
|
+
type: 'string',
|
|
1365
|
+
description: 'Clipboard data label for Android',
|
|
1366
|
+
required: false,
|
|
1367
|
+
},
|
|
1368
|
+
],
|
|
1369
|
+
returns: {
|
|
1370
|
+
type: 'string',
|
|
1371
|
+
name: 'response',
|
|
1372
|
+
description: 'Response from Appium server',
|
|
1373
|
+
},
|
|
1374
|
+
},
|
|
1375
|
+
},
|
|
1376
|
+
'/session/:sessionId/appium/device/get_clipboard': {
|
|
1377
|
+
POST: {
|
|
1378
|
+
command: 'getClipboard',
|
|
1379
|
+
description: 'Get the content of the system clipboard',
|
|
1380
|
+
ref: 'http://appium.io/docs/en/commands/device/clipboard/get-clipboard/',
|
|
1381
|
+
parameters: [
|
|
1382
|
+
{
|
|
1383
|
+
name: 'contentType',
|
|
1384
|
+
type: 'string',
|
|
1385
|
+
description: 'The type of the content to get. Plaintext, Image, URL. Android supports only plaintext',
|
|
1386
|
+
required: false,
|
|
1387
|
+
},
|
|
1388
|
+
],
|
|
1389
|
+
returns: {
|
|
1390
|
+
type: 'string',
|
|
1391
|
+
name: 'response',
|
|
1392
|
+
description: 'Clipboard content as base64-encoded string or an empty string if the clipboard is empty',
|
|
1393
|
+
},
|
|
1394
|
+
},
|
|
1395
|
+
},
|
|
1396
|
+
'/session/:sessionId/touch/perform': {
|
|
1397
|
+
POST: {
|
|
1398
|
+
command: 'touchPerform',
|
|
1399
|
+
description: "This functionality is only available from within a native context. 'Touch Perform' works similarly to the other singular touch interactions, except that this allows you to chain together more than one touch action as one command. This is useful because Appium commands are sent over the network and there's latency between commands. This latency can make certain touch interactions impossible because some interactions need to be performed in one sequence. Vertical, for example, requires pressing down, moving to a different y coordinate, and then releasing. For it to work, there can't be a delay between the interactions.",
|
|
1400
|
+
ref: 'http://appium.io/docs/en/commands/interactions/touch/touch-perform/',
|
|
1401
|
+
parameters: [
|
|
1402
|
+
{
|
|
1403
|
+
name: 'actions',
|
|
1404
|
+
type: 'object[]',
|
|
1405
|
+
description: 'The type of action to perform (e.g. moveTo, release, press, tap, wait)',
|
|
1406
|
+
required: true,
|
|
1407
|
+
},
|
|
1408
|
+
],
|
|
1409
|
+
examples: [
|
|
1410
|
+
[
|
|
1411
|
+
'// do a horizontal swipe by percentage',
|
|
1412
|
+
'const startPercentage = 10;',
|
|
1413
|
+
'const endPercentage = 90;',
|
|
1414
|
+
'const anchorPercentage = 50;',
|
|
1415
|
+
'',
|
|
1416
|
+
'const { width, height } = driver.getWindowSize();',
|
|
1417
|
+
'const anchor = height * anchorPercentage / 100;',
|
|
1418
|
+
'const startPoint = width * startPercentage / 100;',
|
|
1419
|
+
'const endPoint = width * endPercentage / 100;',
|
|
1420
|
+
'driver.touchPerform([',
|
|
1421
|
+
' {',
|
|
1422
|
+
" action: 'press',",
|
|
1423
|
+
' options: {',
|
|
1424
|
+
' x: startPoint,',
|
|
1425
|
+
' y: anchor,',
|
|
1426
|
+
' },',
|
|
1427
|
+
' },',
|
|
1428
|
+
' {',
|
|
1429
|
+
" action: 'wait',",
|
|
1430
|
+
' options: {',
|
|
1431
|
+
' ms: 100,',
|
|
1432
|
+
' },',
|
|
1433
|
+
' },',
|
|
1434
|
+
' {',
|
|
1435
|
+
" action: 'moveTo',",
|
|
1436
|
+
' options: {',
|
|
1437
|
+
' x: endPoint,',
|
|
1438
|
+
' y: anchor,',
|
|
1439
|
+
' },',
|
|
1440
|
+
' },',
|
|
1441
|
+
' {',
|
|
1442
|
+
" action: 'release',",
|
|
1443
|
+
' options: {},',
|
|
1444
|
+
' },',
|
|
1445
|
+
']);',
|
|
1446
|
+
],
|
|
1447
|
+
],
|
|
1448
|
+
support: {
|
|
1449
|
+
android: {
|
|
1450
|
+
UiAutomator: '4.2+',
|
|
1451
|
+
},
|
|
1452
|
+
ios: {
|
|
1453
|
+
XCUITest: '9.3+',
|
|
1454
|
+
UIAutomation: '8.0 to 9.3',
|
|
1455
|
+
},
|
|
1456
|
+
windows: {
|
|
1457
|
+
Windows: '10+',
|
|
1458
|
+
},
|
|
1459
|
+
},
|
|
1460
|
+
},
|
|
1461
|
+
},
|
|
1462
|
+
'/session/:sessionId/touch/multi/perform': {
|
|
1463
|
+
POST: {
|
|
1464
|
+
command: 'multiTouchPerform',
|
|
1465
|
+
description: 'This functionality is only available from within a native context. Perform a multi touch action sequence.',
|
|
1466
|
+
ref: 'http://appium.io/docs/en/commands/interactions/touch/multi-touch-perform/',
|
|
1467
|
+
parameters: [
|
|
1468
|
+
{
|
|
1469
|
+
name: 'actions',
|
|
1470
|
+
type: 'object[]',
|
|
1471
|
+
description: 'The type of action to perform (e.g. moveTo, release, press, tap, wait)',
|
|
1472
|
+
required: true,
|
|
1473
|
+
},
|
|
1474
|
+
],
|
|
1475
|
+
support: {
|
|
1476
|
+
android: {
|
|
1477
|
+
UiAutomator: '4.2+',
|
|
1478
|
+
},
|
|
1479
|
+
ios: {
|
|
1480
|
+
XCUITest: '9.3+',
|
|
1481
|
+
UIAutomation: '8.0 to 9.3',
|
|
1482
|
+
},
|
|
1483
|
+
windows: {
|
|
1484
|
+
Windows: '10+',
|
|
1485
|
+
},
|
|
1486
|
+
},
|
|
1487
|
+
},
|
|
1488
|
+
},
|
|
1489
|
+
'/session/:sessionId/appium/execute_driver': {
|
|
1490
|
+
POST: {
|
|
1491
|
+
command: 'driverScript',
|
|
1492
|
+
description: 'This command allows you to define a webdriverio script in a string and send it to the Appium server to be executed locally to the server itself, thus reducing latency that might otherwise occur along with each command.',
|
|
1493
|
+
ref: 'https://github.com/appium/appium/blob/master/docs/en/commands/session/execute-driver.md',
|
|
1494
|
+
parameters: [
|
|
1495
|
+
{
|
|
1496
|
+
name: 'script',
|
|
1497
|
+
type: 'string',
|
|
1498
|
+
description: "The script to execute. It has access to a 'driver' object which represents a webdriverio session attached to the current server.",
|
|
1499
|
+
required: true,
|
|
1500
|
+
},
|
|
1501
|
+
{
|
|
1502
|
+
name: 'type',
|
|
1503
|
+
type: 'string',
|
|
1504
|
+
description: "The language/framework used in the script. Currently, only 'webdriverio' is supported and is the default.",
|
|
1505
|
+
required: false,
|
|
1506
|
+
},
|
|
1507
|
+
{
|
|
1508
|
+
name: 'timeout',
|
|
1509
|
+
type: 'number',
|
|
1510
|
+
description: 'The number of milliseconds the script should be allowed to run before being killed by the Appium server. Defaults to the equivalent of 1 hour.',
|
|
1511
|
+
required: false,
|
|
1512
|
+
},
|
|
1513
|
+
],
|
|
1514
|
+
returns: {
|
|
1515
|
+
type: 'object',
|
|
1516
|
+
name: 'result',
|
|
1517
|
+
description: "An object containing two fields: 'result', which is the return value of the script itself, and 'logs', which contains 3 inner fields, 'log', 'warn', and 'error', which hold an array of strings logged by console.log, console.warn, and console.error in the script's execution.",
|
|
1518
|
+
},
|
|
1519
|
+
},
|
|
1520
|
+
},
|
|
1521
|
+
'/session/:sessionId/appium/events': {
|
|
1522
|
+
POST: {
|
|
1523
|
+
command: 'getEvents',
|
|
1524
|
+
description: 'Get events stored in appium server.',
|
|
1525
|
+
ref: 'https://github.com/appium/appium/blob/master/docs/en/commands/session/events/get-events.md',
|
|
1526
|
+
parameters: [
|
|
1527
|
+
{
|
|
1528
|
+
name: 'type',
|
|
1529
|
+
type: 'string[]',
|
|
1530
|
+
description: 'Get events which are filtered with the type if the type is provided.',
|
|
1531
|
+
required: true,
|
|
1532
|
+
},
|
|
1533
|
+
],
|
|
1534
|
+
returns: {
|
|
1535
|
+
type: 'object',
|
|
1536
|
+
name: 'result',
|
|
1537
|
+
description: "A JSON hash of events like `{'commands' => [{'cmd' => 123455, ....}], 'startTime' => 1572954894127, }`.",
|
|
1538
|
+
},
|
|
1539
|
+
},
|
|
1540
|
+
},
|
|
1541
|
+
'/session/:sessionId/appium/log_event': {
|
|
1542
|
+
POST: {
|
|
1543
|
+
command: 'logEvent',
|
|
1544
|
+
description: 'Store a custom event.',
|
|
1545
|
+
ref: 'https://github.com/appium/appium/blob/master/docs/en/commands/session/events/log-event.md',
|
|
1546
|
+
parameters: [
|
|
1547
|
+
{
|
|
1548
|
+
name: 'vendor',
|
|
1549
|
+
type: 'string',
|
|
1550
|
+
description: 'The name of vendor. It will be `vendor` in `vendor:event`.',
|
|
1551
|
+
required: true,
|
|
1552
|
+
},
|
|
1553
|
+
{
|
|
1554
|
+
name: 'event',
|
|
1555
|
+
type: 'string',
|
|
1556
|
+
description: 'The name of event. It will be `event` in `vendor:event`.',
|
|
1557
|
+
required: true,
|
|
1558
|
+
},
|
|
1559
|
+
],
|
|
1560
|
+
},
|
|
1561
|
+
},
|
|
1562
|
+
'/session/:sessionId/appium/compare_images': {
|
|
1563
|
+
POST: {
|
|
1564
|
+
command: 'compareImages',
|
|
1565
|
+
description: 'Performs images comparison using OpenCV framework features. It is expected that both OpenCV framework and opencv4nodejs module are installed on the machine where Appium server is running.',
|
|
1566
|
+
ref: 'http://appium.io/docs/en/writing-running-appium/image-comparison/',
|
|
1567
|
+
parameters: [
|
|
1568
|
+
{
|
|
1569
|
+
name: 'mode',
|
|
1570
|
+
type: 'string',
|
|
1571
|
+
description: "One of possible comparison modes: 'matchFeatures', 'getSimilarity', 'matchTemplate'. 'matchFeatures' is by default.",
|
|
1572
|
+
required: true,
|
|
1573
|
+
default: 'matchFeatures',
|
|
1574
|
+
},
|
|
1575
|
+
{
|
|
1576
|
+
name: 'firstImage',
|
|
1577
|
+
type: 'string',
|
|
1578
|
+
description: 'An image data. All image formats, that OpenCV library itself accepts, are supported.',
|
|
1579
|
+
required: true,
|
|
1580
|
+
},
|
|
1581
|
+
{
|
|
1582
|
+
name: 'secondImage',
|
|
1583
|
+
type: 'string',
|
|
1584
|
+
description: 'An image data. All image formats, that OpenCV library itself accepts, are supported.',
|
|
1585
|
+
required: true,
|
|
1586
|
+
},
|
|
1587
|
+
{
|
|
1588
|
+
name: 'options',
|
|
1589
|
+
type: 'object',
|
|
1590
|
+
description: 'The content of this dictionary depends on the actual `mode` value. See the documentation on `appium-support` module for more details. ',
|
|
1591
|
+
required: true,
|
|
1592
|
+
default: {},
|
|
1593
|
+
},
|
|
1594
|
+
],
|
|
1595
|
+
returns: {
|
|
1596
|
+
type: 'object',
|
|
1597
|
+
name: 'result',
|
|
1598
|
+
description: 'The content of the resulting dictionary depends on the actual `mode` and `options` values. See the documentation on `appium-support` module for more details.',
|
|
1599
|
+
},
|
|
1600
|
+
},
|
|
1601
|
+
},
|
|
1602
|
+
};
|