appium-espresso-driver 2.22.1 → 2.23.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.
- package/CHANGELOG.md +14 -0
- package/README.md +333 -2
- package/build/lib/commands/execute.js +27 -4
- package/build/lib/commands/execute.js.map +1 -1
- package/espresso-server/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk +0 -0
- package/lib/commands/execute.js +30 -3
- package/npm-shrinkwrap.json +6 -6
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [2.23.1](https://github.com/appium/appium-espresso-driver/compare/v2.23.0...v2.23.1) (2023-05-24)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* Update mobile extension name ([f570663](https://github.com/appium/appium-espresso-driver/commit/f570663bf92efcb919d947c0b9df277a12601a4a))
|
|
7
|
+
|
|
8
|
+
## [2.23.0](https://github.com/appium/appium-espresso-driver/compare/v2.22.1...v2.23.0) (2023-05-23)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* Expose several mobile commands that are available in android-driver ([#881](https://github.com/appium/appium-espresso-driver/issues/881)) ([d0d24c4](https://github.com/appium/appium-espresso-driver/commit/d0d24c46600548290e0a3aadca0f1e9e75e5ad37))
|
|
14
|
+
|
|
1
15
|
## [2.22.1](https://github.com/appium/appium-espresso-driver/compare/v2.22.0...v2.22.1) (2023-05-20)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ The Espresso package consists of two main parts:
|
|
|
21
21
|
|
|
22
22
|
## Comparison with UiAutomator2
|
|
23
23
|
|
|
24
|
-
The key difference between [UiAutomator2 Driver](https://github.com/appium/appium-uiautomator2-driver) and Espresso Driver is that UiAutomator2 is a black-box testing framework, and Espresso is a "grey-box" testing framework. The Espresso Driver itself is black-box (no internals of the code are exposed to the tester), but the Espresso framework itself has access to the internals of Android applications. This distinction has a few notable benefits. It can find elements that aren't rendered on the screen, it can identify elements by the Android View Tag and it makes use of [IdlingResource](https://developer.android.com/reference/android/support/test/espresso/IdlingResource) which blocks the framework from running commands until the UI thread is free. There is limited support
|
|
24
|
+
The key difference between [UiAutomator2 Driver](https://github.com/appium/appium-uiautomator2-driver) and Espresso Driver is that UiAutomator2 is a black-box testing framework, and Espresso is a "grey-box" testing framework. The Espresso Driver itself is black-box (no internals of the code are exposed to the tester), but the Espresso framework itself has access to the internals of Android applications. This distinction has a few notable benefits. It can find elements that aren't rendered on the screen, it can identify elements by the Android View Tag, and it makes use of [IdlingResource](https://developer.android.com/reference/android/support/test/espresso/IdlingResource) which blocks the framework from running commands until the UI thread is free. There is a limited support of out-of-app areas automation via the [mobile: uiautomator](#mobile-uiautomator) command.
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
## Requirements
|
|
@@ -1127,7 +1127,6 @@ List of fully qualified class names of currently registered idling resources or
|
|
|
1127
1127
|
- Wait for the UI thread to become idle, in other words, wait for the APP to become [idle](https://developer.android.com/reference/androidx/test/espresso/UiController#loopMainThreadUntilIdle()).
|
|
1128
1128
|
- Use case: On compose and native combination screens, it's possible for the Espresso API to block the UI thread, which can cause the app to freeze. To resolve this issue, it's recommended to explicitly call the `mobile:waitForUIThread` API, which can help to unfreeze the UI thread.
|
|
1129
1129
|
|
|
1130
|
-
|
|
1131
1130
|
### mobile: unlock
|
|
1132
1131
|
|
|
1133
1132
|
Unlocks the device if it is locked. Noop if the device's screen is not locked.
|
|
@@ -1141,6 +1140,24 @@ type | string | yes | The unlock type. See the documentation on [appium:unlockTy
|
|
|
1141
1140
|
strategy | string | no | Unlock strategy. See the documentation on [appium:unlockStrategy](#device-locking) capability for more details | uiautomator
|
|
1142
1141
|
timeoutMs | number | no | Unlock timeout. See the documentation on [appium:unlockSuccessTimeout](#device-locking) capability for more details | 5000
|
|
1143
1142
|
|
|
1143
|
+
### mobile: isLocked
|
|
1144
|
+
|
|
1145
|
+
Determine whether the device is locked.
|
|
1146
|
+
|
|
1147
|
+
#### Returned Result
|
|
1148
|
+
|
|
1149
|
+
Either `true` or `false`
|
|
1150
|
+
|
|
1151
|
+
### mobile: lock
|
|
1152
|
+
|
|
1153
|
+
Lock the device (and optionally unlock it after a certain amount of time). Only simple (e.g. without a password) locks are supported.
|
|
1154
|
+
|
|
1155
|
+
#### Arguments
|
|
1156
|
+
|
|
1157
|
+
Name | Type | Required | Description | Example
|
|
1158
|
+
--- | --- | --- | --- | ---
|
|
1159
|
+
seconds | number|string | no | The number of seconds after which to unlock the device. Set to `0` or leave it empty to require manual unlock (e.g. do not block and automatically unlock afterwards). | 5
|
|
1160
|
+
|
|
1144
1161
|
### mobile: startMediaProjectionRecording
|
|
1145
1162
|
|
|
1146
1163
|
Starts a new recording of the device activity using [Media Projection](https://developer.android.com/reference/android/media/projection/MediaProjection) API. This API is available since Android 10 (API level 29) and allows to record device screen and audio in high quality. Video and audio encoding is done by Android itself.
|
|
@@ -1204,6 +1221,320 @@ Checks if the system on-screen keyboard is visible.
|
|
|
1204
1221
|
|
|
1205
1222
|
`true` if the keyboard is visible
|
|
1206
1223
|
|
|
1224
|
+
### mobile: pressKey
|
|
1225
|
+
|
|
1226
|
+
Emulates single key press on the key with the given code. Available since driver version 2.23
|
|
1227
|
+
|
|
1228
|
+
#### Arguments
|
|
1229
|
+
|
|
1230
|
+
Name | Type | Required | Description | Example
|
|
1231
|
+
--- | --- | --- | --- | ---
|
|
1232
|
+
keycode | number | yes | A valid Android key code. See [KeyEvent documentation](https://developer.android.com/reference/android/view/KeyEvent) for the list of available key codes | 0x00000099 (which is KEYCODE_NUMPAD_9)
|
|
1233
|
+
metastate | number | no | An integer in which each bit set to 1 represents a pressed meta key. See [KeyEvent documentation](https://developer.android.com/reference/android/view/KeyEvent) for more details. | 0x00000010 (which is META_ALT_LEFT_ON)
|
|
1234
|
+
flags | number | no | Flags for the particular key event. See [KeyEvent documentation](https://developer.android.com/reference/android/view/KeyEvent) for more details. | 0x00000001 (which is FLAG_WOKE_HERE)
|
|
1235
|
+
isLongPress | boolean | no | Whether to emulate long key press. `false` by default. | true
|
|
1236
|
+
|
|
1237
|
+
### mobile: getConnectivity
|
|
1238
|
+
|
|
1239
|
+
Returns connectivity states for different services
|
|
1240
|
+
|
|
1241
|
+
#### Arguments
|
|
1242
|
+
|
|
1243
|
+
Name | Type | Required | Description | Example
|
|
1244
|
+
--- | --- | --- | --- | ---
|
|
1245
|
+
services | string or string[] | no | One or more services to get the connectivity for. Supported service names are: wifi, data, airplaneMode. If no service names are provided then all supported names are assumed by default. | [wifi, data]
|
|
1246
|
+
|
|
1247
|
+
#### Returned Result
|
|
1248
|
+
|
|
1249
|
+
A map is returned containing the following possible items (depending on which values have been passed to `services` argument):
|
|
1250
|
+
|
|
1251
|
+
Name | Type | Description
|
|
1252
|
+
--- | --- | ---
|
|
1253
|
+
wifi | boolean | True if wifi is enabled
|
|
1254
|
+
data | boolean | True if mobile data connection is enabled
|
|
1255
|
+
airplaneMode | boolean | True if Airplane Mode is enabled
|
|
1256
|
+
|
|
1257
|
+
### mobile: setConnectivity
|
|
1258
|
+
|
|
1259
|
+
Set the connectivity state for different services. At least one valid service name must be provided in arguments.
|
|
1260
|
+
Missing values tell the driver to not change the corresponding service's state.
|
|
1261
|
+
|
|
1262
|
+
> **Note**
|
|
1263
|
+
>
|
|
1264
|
+
> Switching Wi-Fi and mobile data states reliably work on emulators for all Android versions.
|
|
1265
|
+
> Real devices support proper state switching only since Android 11.
|
|
1266
|
+
|
|
1267
|
+
> **Note**
|
|
1268
|
+
>
|
|
1269
|
+
> Espresso REST server app is running on the device under test and might be terminated/disconnected by Android
|
|
1270
|
+
> thus failing the driver session as a result of using this API. The only way to restore the session would be to quit it
|
|
1271
|
+
> after the network state is changed and then reopen it with `noReset` capability being set to `true` when the connectivity
|
|
1272
|
+
> is restored.
|
|
1273
|
+
|
|
1274
|
+
#### Arguments
|
|
1275
|
+
|
|
1276
|
+
Name | Type | Required | Description | Example
|
|
1277
|
+
--- | --- | --- | --- | ---
|
|
1278
|
+
wifi | booolean | no | Either to enable or disable Wi-Fi. | false
|
|
1279
|
+
data | booolean | no | Either to enable or disable mobile data. | false
|
|
1280
|
+
airplaneMode | booolean | no | Either to enable or disable Airplane Mode. | false
|
|
1281
|
+
|
|
1282
|
+
### mobile: getAppStrings
|
|
1283
|
+
|
|
1284
|
+
Retrieves string resources for the given app language. An error is thrown if strings cannot be fetched or no strings exist
|
|
1285
|
+
for the given language abbreviation. Available since driver version 2.23
|
|
1286
|
+
|
|
1287
|
+
#### Arguments
|
|
1288
|
+
|
|
1289
|
+
Name | Type | Required | Description | Example
|
|
1290
|
+
--- | --- | --- | --- | ---
|
|
1291
|
+
language | string | no | The language abbreviation to fetch app strings mapping for. If no language is provided then strings for the default language on the device under test would be returned | fr
|
|
1292
|
+
|
|
1293
|
+
#### Returned Result
|
|
1294
|
+
|
|
1295
|
+
App strings map, where keys are resource identifiers.
|
|
1296
|
+
|
|
1297
|
+
### mobile: backgroundApp
|
|
1298
|
+
|
|
1299
|
+
Puts the app to the background and waits the given number of seconds. Then restores the app
|
|
1300
|
+
if necessary. The call is blocking. Available since driver version 2.23
|
|
1301
|
+
|
|
1302
|
+
#### Arguments
|
|
1303
|
+
|
|
1304
|
+
Name | Type | Required | Description | Example
|
|
1305
|
+
--- | --- | --- | --- | ---
|
|
1306
|
+
seconds | number | no | The amount of seconds to wait between putting the app to background and restoring it. Any negative value means to not restore the app after putting it to background (the default behavior). | 5
|
|
1307
|
+
|
|
1308
|
+
### mobile: getCurrentActivity
|
|
1309
|
+
|
|
1310
|
+
Returns the name of the currently focused app activity. Available since driver version 2.23
|
|
1311
|
+
|
|
1312
|
+
#### Returned Result
|
|
1313
|
+
|
|
1314
|
+
The activity class name. Could be `null`
|
|
1315
|
+
|
|
1316
|
+
### mobile: getCurrentPackage
|
|
1317
|
+
|
|
1318
|
+
Returns the name of the currently focused app package identifier. Available since driver version 2.23
|
|
1319
|
+
|
|
1320
|
+
#### Returned Result
|
|
1321
|
+
|
|
1322
|
+
The package class name. Could be `null`
|
|
1323
|
+
|
|
1324
|
+
### mobile: getDisplayDensity
|
|
1325
|
+
|
|
1326
|
+
Returns the display density value measured in DPI. Available since driver version 2.23
|
|
1327
|
+
|
|
1328
|
+
#### Returned Result
|
|
1329
|
+
|
|
1330
|
+
The actual DPI value as integer number
|
|
1331
|
+
|
|
1332
|
+
### mobile: getSystemBars
|
|
1333
|
+
|
|
1334
|
+
Returns properties of various system bars. Available since driver version 2.23
|
|
1335
|
+
|
|
1336
|
+
#### Returned Result
|
|
1337
|
+
|
|
1338
|
+
A dictionary whose entries are:
|
|
1339
|
+
- `statusBar`
|
|
1340
|
+
- `navigationBar`
|
|
1341
|
+
|
|
1342
|
+
Values are dictionaries with the following properties:
|
|
1343
|
+
- `visible`: Whether the bar is visible (equals to `false` if the bar is not present in the system info output)
|
|
1344
|
+
- `x`: Bar x coordinate (might be zero if the bar is not present in the system info output)
|
|
1345
|
+
- `y`: Bar y coordinate (might be zero if the bar is not present in the system info output)
|
|
1346
|
+
- `width`: Bar width (might be zero if the bar is not present in the system info output)
|
|
1347
|
+
- `height`: Bar height (might be zero if the bar is not present in the system info output)
|
|
1348
|
+
|
|
1349
|
+
### mobile: fingerprint
|
|
1350
|
+
|
|
1351
|
+
Emulate [fingerprint](https://learn.microsoft.com/en-us/xamarin/android/platform/fingerprint-authentication/enrolling-fingerprint) on Android Emulator. Only works on API 23+. Available since driver version 2.23
|
|
1352
|
+
|
|
1353
|
+
#### Arguments
|
|
1354
|
+
|
|
1355
|
+
Name | Type | Required | Description | Example
|
|
1356
|
+
--- | --- | --- | --- | ---
|
|
1357
|
+
fingerprintId | number | yes | The value is the id for the finger that was "scanned". It is a unique integer that you assign for each virtual fingerprint. When the app is running you can run this same command each time the emulator prompts you for a fingerprint, you can run the adb command and pass it the fingerprintId to simulate the fingerprint scan. | 1
|
|
1358
|
+
|
|
1359
|
+
### mobile: sendSms
|
|
1360
|
+
|
|
1361
|
+
Emulate sending an SMS to the given phone number. Only works on emulators. Available since driver version 2.23
|
|
1362
|
+
|
|
1363
|
+
#### Arguments
|
|
1364
|
+
|
|
1365
|
+
Name | Type | Required | Description | Example
|
|
1366
|
+
--- | --- | --- | --- | ---
|
|
1367
|
+
phoneNumber | string | yes | The phone number to send SMS to | 0123456789
|
|
1368
|
+
message | string | yes | The SMS message payload | Hello
|
|
1369
|
+
|
|
1370
|
+
### mobile: gsmCall
|
|
1371
|
+
|
|
1372
|
+
Emulate a GSM call to the given phone number. Only works on emulators. Available since driver version 2.23
|
|
1373
|
+
|
|
1374
|
+
#### Arguments
|
|
1375
|
+
|
|
1376
|
+
Name | Type | Required | Description | Example
|
|
1377
|
+
--- | --- | --- | --- | ---
|
|
1378
|
+
phoneNumber | string | yes | The phone number to call to | 0123456789
|
|
1379
|
+
action | call or accept or cancel or hold | yes | One of possible actions to take | accept
|
|
1380
|
+
|
|
1381
|
+
### mobile: gsmSignal
|
|
1382
|
+
|
|
1383
|
+
Emulate GSM signal strength change event. Only works on emulators. Available since driver version 2.23
|
|
1384
|
+
|
|
1385
|
+
#### Arguments
|
|
1386
|
+
|
|
1387
|
+
Name | Type | Required | Description | Example
|
|
1388
|
+
--- | --- | --- | --- | ---
|
|
1389
|
+
strength | 0 or 1 or 2 or 3 or 4 | yes | One of possible signal strength values, where 4 is the best signal. | 3
|
|
1390
|
+
|
|
1391
|
+
### mobile: gsmVoice
|
|
1392
|
+
|
|
1393
|
+
Emulate GSM voice state change event. Only works on emulators. Available since driver version 2.23
|
|
1394
|
+
|
|
1395
|
+
#### Arguments
|
|
1396
|
+
|
|
1397
|
+
Name | Type | Required | Description | Example
|
|
1398
|
+
--- | --- | --- | --- | ---
|
|
1399
|
+
state | on or off or denied or searching or roaming or home or unregistered | yes | Voice state | off
|
|
1400
|
+
|
|
1401
|
+
### mobile: powerAC
|
|
1402
|
+
|
|
1403
|
+
Emulate AC power state change. Only works on emulators. Available since driver version 2.23
|
|
1404
|
+
|
|
1405
|
+
#### Arguments
|
|
1406
|
+
|
|
1407
|
+
Name | Type | Required | Description | Example
|
|
1408
|
+
--- | --- | --- | --- | ---
|
|
1409
|
+
state | on or off | yes | AC Power state | off
|
|
1410
|
+
|
|
1411
|
+
### mobile: powerCapacity
|
|
1412
|
+
|
|
1413
|
+
Emulate power capacity change. Only works on emulators. Available since driver version 2.23
|
|
1414
|
+
|
|
1415
|
+
#### Arguments
|
|
1416
|
+
|
|
1417
|
+
Name | Type | Required | Description | Example
|
|
1418
|
+
--- | --- | --- | --- | ---
|
|
1419
|
+
percent | 0 to 100 | yes | Percentage value in range [0, 100] | 50
|
|
1420
|
+
|
|
1421
|
+
### mobile: networkSpeed
|
|
1422
|
+
|
|
1423
|
+
Emulate different network connection speed modes. Only works on emulators. Available since driver version 2.23
|
|
1424
|
+
|
|
1425
|
+
#### Arguments
|
|
1426
|
+
|
|
1427
|
+
Name | Type | Required | Description | Example
|
|
1428
|
+
--- | --- | --- | --- | ---
|
|
1429
|
+
speed | gsm or scsd or gprs or edge or umts or hsdpa or lte or evdo or full | yes | Mobile network speed mode name | edge
|
|
1430
|
+
|
|
1431
|
+
### mobile: replaceElementValue
|
|
1432
|
+
|
|
1433
|
+
Sends a text to the given element by replacing its previous content. Available since driver version 2.23
|
|
1434
|
+
|
|
1435
|
+
#### Arguments
|
|
1436
|
+
|
|
1437
|
+
Name | Type | Required | Description | Example
|
|
1438
|
+
--- | --- | --- | --- | ---
|
|
1439
|
+
elementId | string | yes | Hexadecimal identifier of the destination text input | 123456-3456-3435-3453453
|
|
1440
|
+
text | string | yes | The text to enter. It could also contain Unicode characters. If the text ends with `\\n` (the backslash must be escaped, so the char is NOT translated into `0x0A`) then the Enter key press is going to be emulated after it is entered (the `\\n` substring itself will be cut off from the typed text). | yolo
|
|
1441
|
+
|
|
1442
|
+
### mobile: toggleGps
|
|
1443
|
+
|
|
1444
|
+
Switches GPS setting state. This API only works reliably since Android 12 (API 31). Available since driver version 2.23
|
|
1445
|
+
|
|
1446
|
+
### mobile: isGpsEnabled
|
|
1447
|
+
|
|
1448
|
+
Returns `true` if GPS is enabled on the device under test. Available since driver version 2.23
|
|
1449
|
+
|
|
1450
|
+
### mobile: getPerformanceDataTypes
|
|
1451
|
+
|
|
1452
|
+
Fetches the list of supported perfomance data types that could be used as `dataType` argument value to [mobile: getPerformanceData](#mobile-getperformancedata) extension. Available since driver version 2.23
|
|
1453
|
+
|
|
1454
|
+
#### Returned Result
|
|
1455
|
+
|
|
1456
|
+
List of strings, where each item is data type name.
|
|
1457
|
+
|
|
1458
|
+
### mobile: getPerformanceData
|
|
1459
|
+
|
|
1460
|
+
Retrieves performance data about the given Android subsystem. The data is parsed from the output of the dumpsys utility. Available since driver version 2.23
|
|
1461
|
+
|
|
1462
|
+
#### Arguments
|
|
1463
|
+
|
|
1464
|
+
Name | Type | Required | Description | Example
|
|
1465
|
+
--- | --- | --- | --- | ---
|
|
1466
|
+
packageName | string | yes | The name of the package identifier to fetch the data for | com.myapp
|
|
1467
|
+
dataType | string | yes | One of supported subsystem names. The full list of supported values is returned by [mobile: getPerformanceDataTypes](#mobile-getperformancedatatypes) extension. | batteryinfo or cpuinfo or memoryinfo or networkinfo
|
|
1468
|
+
|
|
1469
|
+
#### Returned Result
|
|
1470
|
+
|
|
1471
|
+
The output depends on the selected subsystem. It is organized into a table, where the first row represents column names and the following rows represent the sampled data for each column.
|
|
1472
|
+
Example output for different data types:
|
|
1473
|
+
|
|
1474
|
+
- batteryinfo:
|
|
1475
|
+
```
|
|
1476
|
+
[
|
|
1477
|
+
[power],
|
|
1478
|
+
[23]
|
|
1479
|
+
]
|
|
1480
|
+
```
|
|
1481
|
+
- memoryinfo:
|
|
1482
|
+
```
|
|
1483
|
+
[
|
|
1484
|
+
[totalPrivateDirty, nativePrivateDirty, dalvikPrivateDirty, eglPrivateDirty, glPrivateDirty, totalPss, nativePss, dalvikPss, eglPss, glPss, nativeHeapAllocatedSize, nativeHeapSize],
|
|
1485
|
+
[18360, 8296, 6132, null, null, 42588, 8406, 7024, null, null, 26519, 10344]
|
|
1486
|
+
]
|
|
1487
|
+
```
|
|
1488
|
+
- networkinfo:
|
|
1489
|
+
```
|
|
1490
|
+
// emulator
|
|
1491
|
+
[
|
|
1492
|
+
[bucketStart, activeTime, rxBytes, rxPackets, txBytes, txPackets, operations, bucketDuration],
|
|
1493
|
+
[1478091600000, null, 1099075, 610947, 928, 114362, 769, 0, 3600000],
|
|
1494
|
+
[1478095200000, null, 1306300, 405997, 509, 46359, 370, 0, 3600000]
|
|
1495
|
+
]
|
|
1496
|
+
// real devices
|
|
1497
|
+
[
|
|
1498
|
+
[st, activeTime, rb, rp, tb, tp, op, bucketDuration],
|
|
1499
|
+
[1478088000, null, null, 32115296, 34291, 2956805, 25705, 0, 3600],
|
|
1500
|
+
[1478091600, null, null, 2714683, 11821, 1420564, 12650, 0, 3600],
|
|
1501
|
+
[1478095200, null, null, 10079213, 19962, 2487705, 20015, 0, 3600],
|
|
1502
|
+
[1478098800, null, null, 4444433, 10227, 1430356, 10493, 0, 3600]
|
|
1503
|
+
]
|
|
1504
|
+
```
|
|
1505
|
+
- cpuinfo:
|
|
1506
|
+
```
|
|
1507
|
+
[
|
|
1508
|
+
[user, kernel],
|
|
1509
|
+
[0.9, 1.3]
|
|
1510
|
+
]
|
|
1511
|
+
```
|
|
1512
|
+
|
|
1513
|
+
### mobile: statusBar
|
|
1514
|
+
|
|
1515
|
+
Performs commands on the system status bar. A thin wrapper over `adb shell cmd statusbar` CLI. Works on Android 8 (Oreo) and newer. Available since driver version 2.23
|
|
1516
|
+
|
|
1517
|
+
#### Arguments
|
|
1518
|
+
|
|
1519
|
+
Name | Type | Required | Description | Example
|
|
1520
|
+
--- | --- | --- | --- | ---
|
|
1521
|
+
command | string | yes | One of [supported status bar commands](#status-bar-commands). | expandNotifications
|
|
1522
|
+
component | string | no | The name of the tile component. It is only required for (add\|remove\|click)Tile commands. | com.package.name/.service.QuickSettingsTileComponent
|
|
1523
|
+
|
|
1524
|
+
#### Status Bar Commands
|
|
1525
|
+
|
|
1526
|
+
- expandNotifications: Open the notifications panel.
|
|
1527
|
+
- expandSettings: Open the notifications panel and expand quick settings if present.
|
|
1528
|
+
- collapse: Collapse the notifications and settings panel.
|
|
1529
|
+
- addTile: Add a TileService of the specified component.
|
|
1530
|
+
- removeTile: Remove a TileService of the specified component.
|
|
1531
|
+
- clickTile: Click on a TileService of the specified component.
|
|
1532
|
+
- getStatusIcons: Returns the list of status bar icons and the order they appear in. Each list item is separated with a new line character.
|
|
1533
|
+
|
|
1534
|
+
#### Returned Result
|
|
1535
|
+
|
|
1536
|
+
The actual downstream command output. It depends on the selected command and might be empty.
|
|
1537
|
+
|
|
1207
1538
|
|
|
1208
1539
|
## Backdoor Extension Usage
|
|
1209
1540
|
|
|
@@ -38,7 +38,6 @@ extensions.executeMobile = async function executeMobile(mobileCommand, opts = {}
|
|
|
38
38
|
dismissAutofill: 'mobileDismissAutofill',
|
|
39
39
|
getNotifications: 'mobileGetNotifications',
|
|
40
40
|
listSms: 'mobileListSms',
|
|
41
|
-
sensorSet: 'sensorSet',
|
|
42
41
|
pushFile: 'mobilePushFile',
|
|
43
42
|
pullFile: 'mobilePullFile',
|
|
44
43
|
pullFolder: 'mobilePullFolder',
|
|
@@ -50,6 +49,9 @@ extensions.executeMobile = async function executeMobile(mobileCommand, opts = {}
|
|
|
50
49
|
terminateApp: 'mobileTerminateApp',
|
|
51
50
|
installApp: 'mobileInstallApp',
|
|
52
51
|
clearApp: 'mobileClearApp',
|
|
52
|
+
backgroundApp: 'mobileBackgroundApp',
|
|
53
|
+
getCurrentActivity: 'getCurrentActivity',
|
|
54
|
+
getCurrentPackage: 'getCurrentPackage',
|
|
53
55
|
startActivity: 'mobileStartActivity',
|
|
54
56
|
startService: 'mobileStartService',
|
|
55
57
|
stopService: 'mobileStopService',
|
|
@@ -58,13 +60,34 @@ extensions.executeMobile = async function executeMobile(mobileCommand, opts = {}
|
|
|
58
60
|
unregisterIdlingResources: 'mobileUnregisterIdlingResources',
|
|
59
61
|
listIdlingResources: 'mobileListIdlingResources',
|
|
60
62
|
waitForUIThread: 'mobileWaitForUIThread',
|
|
63
|
+
lock: 'lock',
|
|
61
64
|
unlock: 'mobileUnlock',
|
|
65
|
+
isLocked: 'isLocked',
|
|
62
66
|
refreshGpsCache: 'mobileRefreshGpsCache',
|
|
63
67
|
startMediaProjectionRecording: 'mobileStartMediaProjectionRecording',
|
|
64
68
|
isMediaProjectionRecordingRunning: 'mobileIsMediaProjectionRecordingRunning',
|
|
65
69
|
stopMediaProjectionRecording: 'mobileStopMediaProjectionRecording',
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
getConnectivity: 'mobileGetConnectivity',
|
|
71
|
+
setConnectivity: 'mobileSetConnectivity',
|
|
72
|
+
toggleGps: 'toggleLocationServices',
|
|
73
|
+
isGpsEnables: 'isLocationServicesEnabled',
|
|
74
|
+
pressKey: 'mobilePressKey',
|
|
75
|
+
hideKeyboard: 'hideKeyboard',
|
|
76
|
+
isKeyboardShown: 'isKeyboardShown',
|
|
77
|
+
getDisplayDensity: 'getDisplayDensity',
|
|
78
|
+
getSystemBars: 'getSystemBars',
|
|
79
|
+
fingerprint: 'mobileFingerprint',
|
|
80
|
+
sendSms: 'mobileSendSms',
|
|
81
|
+
gsmCall: 'mobileGsmCall',
|
|
82
|
+
gsmSignal: 'mobileGsmSignal',
|
|
83
|
+
gsmVoice: 'mobileGsmVoice',
|
|
84
|
+
powerAc: 'mobilePowerAC',
|
|
85
|
+
powerCapacity: 'mobilePowerCapacity',
|
|
86
|
+
networkSpeed: 'mobileNetworkSpeed',
|
|
87
|
+
sensorSet: 'sensorSet',
|
|
88
|
+
getPerformanceData: 'mobileGetPerformanceData',
|
|
89
|
+
getPerformanceDataTypes: 'getPerformanceDataTypes',
|
|
90
|
+
statusBar: 'mobilePerformStatusBarCommand'
|
|
68
91
|
};
|
|
69
92
|
if (!_lodash.default.has(mobileCommandsMapping, mobileCommand)) {
|
|
70
93
|
throw new _driver.errors.UnknownCommandError(`Unknown mobile command "${mobileCommand}". ` + `Only ${_lodash.default.keys(mobileCommandsMapping)} commands are supported.`);
|
|
@@ -73,4 +96,4 @@ extensions.executeMobile = async function executeMobile(mobileCommand, opts = {}
|
|
|
73
96
|
};
|
|
74
97
|
var _default = extensions;
|
|
75
98
|
exports.default = _default;
|
|
76
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZHJpdmVyIiwiZXh0ZW5zaW9ucyIsImV4ZWN1dGVNb2JpbGUiLCJtb2JpbGVDb21tYW5kIiwib3B0cyIsIm1vYmlsZUNvbW1hbmRzTWFwcGluZyIsInNoZWxsIiwiZXhlY0VtdUNvbnNvbGVDb21tYW5kIiwicGVyZm9ybUVkaXRvckFjdGlvbiIsImNoYW5nZVBlcm1pc3Npb25zIiwiZ2V0UGVybWlzc2lvbnMiLCJzdGFydFNjcmVlblN0cmVhbWluZyIsInN0b3BTY3JlZW5TdHJlYW1pbmciLCJzd2lwZSIsInNjcm9sbFRvUGFnZSIsIm5hdmlnYXRlVG8iLCJjbGlja0FjdGlvbiIsImRldmljZUluZm8iLCJpc1RvYXN0VmlzaWJsZSIsIm9wZW5EcmF3ZXIiLCJjbG9zZURyYXdlciIsInNldERhdGUiLCJzZXRUaW1lIiwiZ2V0RGV2aWNlVGltZSIsImJhY2tkb29yIiwiZmxhc2hFbGVtZW50IiwidWlhdXRvbWF0b3IiLCJ1aWF1dG9tYXRvclBhZ2VTb3VyY2UiLCJ3ZWJBdG9tcyIsImdldENvbnRleHRzIiwiZGlzbWlzc0F1dG9maWxsIiwiZ2V0Tm90aWZpY2F0aW9ucyIsImxpc3RTbXMiLCJzZW5zb3JTZXQiLCJwdXNoRmlsZSIsInB1bGxGaWxlIiwicHVsbEZvbGRlciIsImRlbGV0ZUZpbGUiLCJpc0FwcEluc3RhbGxlZCIsInF1ZXJ5QXBwU3RhdGUiLCJhY3RpdmF0ZUFwcCIsInJlbW92ZUFwcCIsInRlcm1pbmF0ZUFwcCIsImluc3RhbGxBcHAiLCJjbGVhckFwcCIsInN0YXJ0QWN0aXZpdHkiLCJzdGFydFNlcnZpY2UiLCJzdG9wU2VydmljZSIsImJyb2FkY2FzdCIsInJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzIiwidW5yZWdpc3RlcklkbGluZ1Jlc291cmNlcyIsImxpc3RJZGxpbmdSZXNvdXJjZXMiLCJ3YWl0Rm9yVUlUaHJlYWQiLCJ1bmxvY2siLCJyZWZyZXNoR3BzQ2FjaGUiLCJzdGFydE1lZGlhUHJvamVjdGlvblJlY29yZGluZyIsImlzTWVkaWFQcm9qZWN0aW9uUmVjb3JkaW5nUnVubmluZyIsInN0b3BNZWRpYVByb2plY3Rpb25SZWNvcmRpbmciLCJoaWRlS2V5Ym9hcmQiLCJpc0tleWJvYXJkU2hvd24iLCJfIiwiaGFzIiwiZXJyb3JzIiwiVW5rbm93bkNvbW1hbmRFcnJvciIsImtleXMiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2V4ZWN1dGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGVycm9ycyB9IGZyb20gJ2FwcGl1bS9kcml2ZXInO1xuXG5jb25zdCBleHRlbnNpb25zID0ge307XG5cbmV4dGVuc2lvbnMuZXhlY3V0ZU1vYmlsZSA9IGFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGVNb2JpbGUgKG1vYmlsZUNvbW1hbmQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBtb2JpbGVDb21tYW5kc01hcHBpbmcgPSB7XG4gICAgc2hlbGw6ICdtb2JpbGVTaGVsbCcsXG5cbiAgICBleGVjRW11Q29uc29sZUNvbW1hbmQ6ICdtb2JpbGVFeGVjRW11Q29uc29sZUNvbW1hbmQnLFxuXG4gICAgcGVyZm9ybUVkaXRvckFjdGlvbjogJ21vYmlsZVBlcmZvcm1FZGl0b3JBY3Rpb24nLFxuXG4gICAgY2hhbmdlUGVybWlzc2lvbnM6ICdtb2JpbGVDaGFuZ2VQZXJtaXNzaW9ucycsXG4gICAgZ2V0UGVybWlzc2lvbnM6ICdtb2JpbGVHZXRQZXJtaXNzaW9ucycsXG5cbiAgICBzdGFydFNjcmVlblN0cmVhbWluZzogJ21vYmlsZVN0YXJ0U2NyZWVuU3RyZWFtaW5nJyxcbiAgICBzdG9wU2NyZWVuU3RyZWFtaW5nOiAnbW9iaWxlU3RvcFNjcmVlblN0cmVhbWluZycsXG5cbiAgICBzd2lwZTogJ21vYmlsZVN3aXBlJyxcbiAgICBzY3JvbGxUb1BhZ2U6ICdtb2JpbGVTY3JvbGxUb1BhZ2UnLFxuICAgIG5hdmlnYXRlVG86ICdtb2JpbGVOYXZpZ2F0ZVRvJyxcbiAgICBjbGlja0FjdGlvbjogJ21vYmlsZUNsaWNrQWN0aW9uJyxcblxuICAgIGRldmljZUluZm86ICdtb2JpbGVHZXREZXZpY2VJbmZvJyxcblxuICAgIGlzVG9hc3RWaXNpYmxlOiAnbW9iaWxlSXNUb2FzdFZpc2libGUnLFxuXG4gICAgb3BlbkRyYXdlcjogJ21vYmlsZU9wZW5EcmF3ZXInLFxuICAgIGNsb3NlRHJhd2VyOiAnbW9iaWxlQ2xvc2VEcmF3ZXInLFxuXG4gICAgc2V0RGF0ZTogJ21vYmlsZVNldERhdGUnLFxuICAgIHNldFRpbWU6ICdtb2JpbGVTZXRUaW1lJyxcblxuICAgIGdldERldmljZVRpbWU6ICdtb2JpbGVHZXREZXZpY2VUaW1lJyxcblxuICAgIGJhY2tkb29yOiAnbW9iaWxlQmFja2Rvb3InLFxuXG4gICAgZmxhc2hFbGVtZW50OiAnbW9iaWxlRmxhc2hFbGVtZW50JyxcblxuICAgIHVpYXV0b21hdG9yOiAnbW9iaWxlVWlhdXRvbWF0b3InLFxuICAgIHVpYXV0b21hdG9yUGFnZVNvdXJjZTogJ21vYmlsZVVpYXV0b21hdG9yUGFnZVNvdXJjZScsXG5cbiAgICB3ZWJBdG9tczogJ21vYmlsZVdlYkF0b21zJyxcbiAgICBnZXRDb250ZXh0czogJ21vYmlsZUdldENvbnRleHRzJyxcblxuICAgIGRpc21pc3NBdXRvZmlsbDogJ21vYmlsZURpc21pc3NBdXRvZmlsbCcsXG5cbiAgICBnZXROb3RpZmljYXRpb25zOiAnbW9iaWxlR2V0Tm90aWZpY2F0aW9ucycsXG5cbiAgICBsaXN0U21zOiAnbW9iaWxlTGlzdFNtcycsXG5cbiAgICBzZW5zb3JTZXQ6ICdzZW5zb3JTZXQnLFxuXG4gICAgcHVzaEZpbGU6ICdtb2JpbGVQdXNoRmlsZScsXG4gICAgcHVsbEZpbGU6ICdtb2JpbGVQdWxsRmlsZScsXG4gICAgcHVsbEZvbGRlcjogJ21vYmlsZVB1bGxGb2xkZXInLFxuICAgIGRlbGV0ZUZpbGU6ICdtb2JpbGVEZWxldGVGaWxlJyxcblxuICAgIGlzQXBwSW5zdGFsbGVkOiAnbW9iaWxlSXNBcHBJbnN0YWxsZWQnLFxuICAgIHF1ZXJ5QXBwU3RhdGU6ICdtb2JpbGVRdWVyeUFwcFN0YXRlJyxcbiAgICBhY3RpdmF0ZUFwcDogJ21vYmlsZUFjdGl2YXRlQXBwJyxcbiAgICByZW1vdmVBcHA6ICdtb2JpbGVSZW1vdmVBcHAnLFxuICAgIHRlcm1pbmF0ZUFwcDogJ21vYmlsZVRlcm1pbmF0ZUFwcCcsXG4gICAgaW5zdGFsbEFwcDogJ21vYmlsZUluc3RhbGxBcHAnLFxuICAgIGNsZWFyQXBwOiAnbW9iaWxlQ2xlYXJBcHAnLFxuXG4gICAgc3RhcnRBY3Rpdml0eTogJ21vYmlsZVN0YXJ0QWN0aXZpdHknLFxuICAgIHN0YXJ0U2VydmljZTogJ21vYmlsZVN0YXJ0U2VydmljZScsXG4gICAgc3RvcFNlcnZpY2U6ICdtb2JpbGVTdG9wU2VydmljZScsXG4gICAgYnJvYWRjYXN0OiAnbW9iaWxlQnJvYWRjYXN0JyxcblxuICAgIHJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzOiAnbW9iaWxlUmVnaXN0ZXJJZGxpbmdSZXNvdXJjZXMnLFxuICAgIHVucmVnaXN0ZXJJZGxpbmdSZXNvdXJjZXM6ICdtb2JpbGVVbnJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzJyxcbiAgICBsaXN0SWRsaW5nUmVzb3VyY2VzOiAnbW9iaWxlTGlzdElkbGluZ1Jlc291cmNlcycsXG4gICAgd2FpdEZvclVJVGhyZWFkOiAnbW9iaWxlV2FpdEZvclVJVGhyZWFkJyxcblxuICAgIHVubG9jazogJ21vYmlsZVVubG9jaycsXG5cbiAgICByZWZyZXNoR3BzQ2FjaGU6ICdtb2JpbGVSZWZyZXNoR3BzQ2FjaGUnLFxuXG4gICAgc3RhcnRNZWRpYVByb2plY3Rpb25SZWNvcmRpbmc6ICdtb2JpbGVTdGFydE1lZGlhUHJvamVjdGlvblJlY29yZGluZycsXG4gICAgaXNNZWRpYVByb2plY3Rpb25SZWNvcmRpbmdSdW5uaW5nOiAnbW9iaWxlSXNNZWRpYVByb2plY3Rpb25SZWNvcmRpbmdSdW5uaW5nJyxcbiAgICBzdG9wTWVkaWFQcm9qZWN0aW9uUmVjb3JkaW5nOiAnbW9iaWxlU3RvcE1lZGlhUHJvamVjdGlvblJlY29yZGluZycsXG5cbiAgICBoaWRlS2V5Ym9hcmQ6ICdtb2JpbGVIaWRlS2V5Ym9hcmQnLFxuICAgIGlzS2V5Ym9hcmRTaG93bjogJ2lzS2V5Ym9hcmRTaG93bicsXG4gIH07XG5cbiAgaWYgKCFfLmhhcyhtb2JpbGVDb21tYW5kc01hcHBpbmcsIG1vYmlsZUNvbW1hbmQpKSB7XG4gICAgdGhyb3cgbmV3IGVycm9ycy5Vbmtub3duQ29tbWFuZEVycm9yKGBVbmtub3duIG1vYmlsZSBjb21tYW5kIFwiJHttb2JpbGVDb21tYW5kfVwiLiBgICtcbiAgICAgIGBPbmx5ICR7Xy5rZXlzKG1vYmlsZUNvbW1hbmRzTWFwcGluZyl9IGNvbW1hbmRzIGFyZSBzdXBwb3J0ZWQuYCk7XG4gIH1cbiAgcmV0dXJuIGF3YWl0IHRoaXNbbW9iaWxlQ29tbWFuZHNNYXBwaW5nW21vYmlsZUNvbW1hbmRdXShvcHRzKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGV4dGVuc2lvbnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsTUFBTUUsVUFBVSxHQUFHLENBQUMsQ0FBQztBQUVyQkEsVUFBVSxDQUFDQyxhQUFhLEdBQUcsZUFBZUEsYUFBYUEsQ0FBRUMsYUFBYSxFQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDakYsTUFBTUMscUJBQXFCLEdBQUc7SUFDNUJDLEtBQUssRUFBRSxhQUFhO0lBRXBCQyxxQkFBcUIsRUFBRSw2QkFBNkI7SUFFcERDLG1CQUFtQixFQUFFLDJCQUEyQjtJQUVoREMsaUJBQWlCLEVBQUUseUJBQXlCO0lBQzVDQyxjQUFjLEVBQUUsc0JBQXNCO0lBRXRDQyxvQkFBb0IsRUFB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
|
|
99
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZHJpdmVyIiwiZXh0ZW5zaW9ucyIsImV4ZWN1dGVNb2JpbGUiLCJtb2JpbGVDb21tYW5kIiwib3B0cyIsIm1vYmlsZUNvbW1hbmRzTWFwcGluZyIsInNoZWxsIiwiZXhlY0VtdUNvbnNvbGVDb21tYW5kIiwicGVyZm9ybUVkaXRvckFjdGlvbiIsImNoYW5nZVBlcm1pc3Npb25zIiwiZ2V0UGVybWlzc2lvbnMiLCJzdGFydFNjcmVlblN0cmVhbWluZyIsInN0b3BTY3JlZW5TdHJlYW1pbmciLCJzd2lwZSIsInNjcm9sbFRvUGFnZSIsIm5hdmlnYXRlVG8iLCJjbGlja0FjdGlvbiIsImRldmljZUluZm8iLCJpc1RvYXN0VmlzaWJsZSIsIm9wZW5EcmF3ZXIiLCJjbG9zZURyYXdlciIsInNldERhdGUiLCJzZXRUaW1lIiwiZ2V0RGV2aWNlVGltZSIsImJhY2tkb29yIiwiZmxhc2hFbGVtZW50IiwidWlhdXRvbWF0b3IiLCJ1aWF1dG9tYXRvclBhZ2VTb3VyY2UiLCJ3ZWJBdG9tcyIsImdldENvbnRleHRzIiwiZGlzbWlzc0F1dG9maWxsIiwiZ2V0Tm90aWZpY2F0aW9ucyIsImxpc3RTbXMiLCJwdXNoRmlsZSIsInB1bGxGaWxlIiwicHVsbEZvbGRlciIsImRlbGV0ZUZpbGUiLCJpc0FwcEluc3RhbGxlZCIsInF1ZXJ5QXBwU3RhdGUiLCJhY3RpdmF0ZUFwcCIsInJlbW92ZUFwcCIsInRlcm1pbmF0ZUFwcCIsImluc3RhbGxBcHAiLCJjbGVhckFwcCIsImJhY2tncm91bmRBcHAiLCJnZXRDdXJyZW50QWN0aXZpdHkiLCJnZXRDdXJyZW50UGFja2FnZSIsInN0YXJ0QWN0aXZpdHkiLCJzdGFydFNlcnZpY2UiLCJzdG9wU2VydmljZSIsImJyb2FkY2FzdCIsInJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzIiwidW5yZWdpc3RlcklkbGluZ1Jlc291cmNlcyIsImxpc3RJZGxpbmdSZXNvdXJjZXMiLCJ3YWl0Rm9yVUlUaHJlYWQiLCJsb2NrIiwidW5sb2NrIiwiaXNMb2NrZWQiLCJyZWZyZXNoR3BzQ2FjaGUiLCJzdGFydE1lZGlhUHJvamVjdGlvblJlY29yZGluZyIsImlzTWVkaWFQcm9qZWN0aW9uUmVjb3JkaW5nUnVubmluZyIsInN0b3BNZWRpYVByb2plY3Rpb25SZWNvcmRpbmciLCJnZXRDb25uZWN0aXZpdHkiLCJzZXRDb25uZWN0aXZpdHkiLCJ0b2dnbGVHcHMiLCJpc0dwc0VuYWJsZXMiLCJwcmVzc0tleSIsImhpZGVLZXlib2FyZCIsImlzS2V5Ym9hcmRTaG93biIsImdldERpc3BsYXlEZW5zaXR5IiwiZ2V0U3lzdGVtQmFycyIsImZpbmdlcnByaW50Iiwic2VuZFNtcyIsImdzbUNhbGwiLCJnc21TaWduYWwiLCJnc21Wb2ljZSIsInBvd2VyQWMiLCJwb3dlckNhcGFjaXR5IiwibmV0d29ya1NwZWVkIiwic2Vuc29yU2V0IiwiZ2V0UGVyZm9ybWFuY2VEYXRhIiwiZ2V0UGVyZm9ybWFuY2VEYXRhVHlwZXMiLCJzdGF0dXNCYXIiLCJfIiwiaGFzIiwiZXJyb3JzIiwiVW5rbm93bkNvbW1hbmRFcnJvciIsImtleXMiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2V4ZWN1dGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGVycm9ycyB9IGZyb20gJ2FwcGl1bS9kcml2ZXInO1xuXG5jb25zdCBleHRlbnNpb25zID0ge307XG5cbmV4dGVuc2lvbnMuZXhlY3V0ZU1vYmlsZSA9IGFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGVNb2JpbGUgKG1vYmlsZUNvbW1hbmQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBtb2JpbGVDb21tYW5kc01hcHBpbmcgPSB7XG4gICAgc2hlbGw6ICdtb2JpbGVTaGVsbCcsXG5cbiAgICBleGVjRW11Q29uc29sZUNvbW1hbmQ6ICdtb2JpbGVFeGVjRW11Q29uc29sZUNvbW1hbmQnLFxuXG4gICAgcGVyZm9ybUVkaXRvckFjdGlvbjogJ21vYmlsZVBlcmZvcm1FZGl0b3JBY3Rpb24nLFxuXG4gICAgY2hhbmdlUGVybWlzc2lvbnM6ICdtb2JpbGVDaGFuZ2VQZXJtaXNzaW9ucycsXG4gICAgZ2V0UGVybWlzc2lvbnM6ICdtb2JpbGVHZXRQZXJtaXNzaW9ucycsXG5cbiAgICBzdGFydFNjcmVlblN0cmVhbWluZzogJ21vYmlsZVN0YXJ0U2NyZWVuU3RyZWFtaW5nJyxcbiAgICBzdG9wU2NyZWVuU3RyZWFtaW5nOiAnbW9iaWxlU3RvcFNjcmVlblN0cmVhbWluZycsXG5cbiAgICBzd2lwZTogJ21vYmlsZVN3aXBlJyxcbiAgICBzY3JvbGxUb1BhZ2U6ICdtb2JpbGVTY3JvbGxUb1BhZ2UnLFxuICAgIG5hdmlnYXRlVG86ICdtb2JpbGVOYXZpZ2F0ZVRvJyxcbiAgICBjbGlja0FjdGlvbjogJ21vYmlsZUNsaWNrQWN0aW9uJyxcblxuICAgIGRldmljZUluZm86ICdtb2JpbGVHZXREZXZpY2VJbmZvJyxcblxuICAgIGlzVG9hc3RWaXNpYmxlOiAnbW9iaWxlSXNUb2FzdFZpc2libGUnLFxuXG4gICAgb3BlbkRyYXdlcjogJ21vYmlsZU9wZW5EcmF3ZXInLFxuICAgIGNsb3NlRHJhd2VyOiAnbW9iaWxlQ2xvc2VEcmF3ZXInLFxuXG4gICAgc2V0RGF0ZTogJ21vYmlsZVNldERhdGUnLFxuICAgIHNldFRpbWU6ICdtb2JpbGVTZXRUaW1lJyxcblxuICAgIGdldERldmljZVRpbWU6ICdtb2JpbGVHZXREZXZpY2VUaW1lJyxcblxuICAgIGJhY2tkb29yOiAnbW9iaWxlQmFja2Rvb3InLFxuXG4gICAgZmxhc2hFbGVtZW50OiAnbW9iaWxlRmxhc2hFbGVtZW50JyxcblxuICAgIHVpYXV0b21hdG9yOiAnbW9iaWxlVWlhdXRvbWF0b3InLFxuICAgIHVpYXV0b21hdG9yUGFnZVNvdXJjZTogJ21vYmlsZVVpYXV0b21hdG9yUGFnZVNvdXJjZScsXG5cbiAgICB3ZWJBdG9tczogJ21vYmlsZVdlYkF0b21zJyxcbiAgICBnZXRDb250ZXh0czogJ21vYmlsZUdldENvbnRleHRzJyxcblxuICAgIGRpc21pc3NBdXRvZmlsbDogJ21vYmlsZURpc21pc3NBdXRvZmlsbCcsXG5cbiAgICBnZXROb3RpZmljYXRpb25zOiAnbW9iaWxlR2V0Tm90aWZpY2F0aW9ucycsXG5cbiAgICBsaXN0U21zOiAnbW9iaWxlTGlzdFNtcycsXG5cbiAgICBwdXNoRmlsZTogJ21vYmlsZVB1c2hGaWxlJyxcbiAgICBwdWxsRmlsZTogJ21vYmlsZVB1bGxGaWxlJyxcbiAgICBwdWxsRm9sZGVyOiAnbW9iaWxlUHVsbEZvbGRlcicsXG4gICAgZGVsZXRlRmlsZTogJ21vYmlsZURlbGV0ZUZpbGUnLFxuXG4gICAgaXNBcHBJbnN0YWxsZWQ6ICdtb2JpbGVJc0FwcEluc3RhbGxlZCcsXG4gICAgcXVlcnlBcHBTdGF0ZTogJ21vYmlsZVF1ZXJ5QXBwU3RhdGUnLFxuICAgIGFjdGl2YXRlQXBwOiAnbW9iaWxlQWN0aXZhdGVBcHAnLFxuICAgIHJlbW92ZUFwcDogJ21vYmlsZVJlbW92ZUFwcCcsXG4gICAgdGVybWluYXRlQXBwOiAnbW9iaWxlVGVybWluYXRlQXBwJyxcbiAgICBpbnN0YWxsQXBwOiAnbW9iaWxlSW5zdGFsbEFwcCcsXG4gICAgY2xlYXJBcHA6ICdtb2JpbGVDbGVhckFwcCcsXG4gICAgYmFja2dyb3VuZEFwcDogJ21vYmlsZUJhY2tncm91bmRBcHAnLFxuICAgIGdldEN1cnJlbnRBY3Rpdml0eTogJ2dldEN1cnJlbnRBY3Rpdml0eScsXG4gICAgZ2V0Q3VycmVudFBhY2thZ2U6ICdnZXRDdXJyZW50UGFja2FnZScsXG5cbiAgICBzdGFydEFjdGl2aXR5OiAnbW9iaWxlU3RhcnRBY3Rpdml0eScsXG4gICAgc3RhcnRTZXJ2aWNlOiAnbW9iaWxlU3RhcnRTZXJ2aWNlJyxcbiAgICBzdG9wU2VydmljZTogJ21vYmlsZVN0b3BTZXJ2aWNlJyxcbiAgICBicm9hZGNhc3Q6ICdtb2JpbGVCcm9hZGNhc3QnLFxuXG4gICAgcmVnaXN0ZXJJZGxpbmdSZXNvdXJjZXM6ICdtb2JpbGVSZWdpc3RlcklkbGluZ1Jlc291cmNlcycsXG4gICAgdW5yZWdpc3RlcklkbGluZ1Jlc291cmNlczogJ21vYmlsZVVucmVnaXN0ZXJJZGxpbmdSZXNvdXJjZXMnLFxuICAgIGxpc3RJZGxpbmdSZXNvdXJjZXM6ICdtb2JpbGVMaXN0SWRsaW5nUmVzb3VyY2VzJyxcbiAgICB3YWl0Rm9yVUlUaHJlYWQ6ICdtb2JpbGVXYWl0Rm9yVUlUaHJlYWQnLFxuXG4gICAgbG9jazogJ2xvY2snLFxuICAgIHVubG9jazogJ21vYmlsZVVubG9jaycsXG4gICAgaXNMb2NrZWQ6ICdpc0xvY2tlZCcsXG5cbiAgICByZWZyZXNoR3BzQ2FjaGU6ICdtb2JpbGVSZWZyZXNoR3BzQ2FjaGUnLFxuXG4gICAgc3RhcnRNZWRpYVByb2plY3Rpb25SZWNvcmRpbmc6ICdtb2JpbGVTdGFydE1lZGlhUHJvamVjdGlvblJlY29yZGluZycsXG4gICAgaXNNZWRpYVByb2plY3Rpb25SZWNvcmRpbmdSdW5uaW5nOiAnbW9iaWxlSXNNZWRpYVByb2plY3Rpb25SZWNvcmRpbmdSdW5uaW5nJyxcbiAgICBzdG9wTWVkaWFQcm9qZWN0aW9uUmVjb3JkaW5nOiAnbW9iaWxlU3RvcE1lZGlhUHJvamVjdGlvblJlY29yZGluZycsXG5cbiAgICBnZXRDb25uZWN0aXZpdHk6ICdtb2JpbGVHZXRDb25uZWN0aXZpdHknLFxuICAgIHNldENvbm5lY3Rpdml0eTogJ21vYmlsZVNldENvbm5lY3Rpdml0eScsXG4gICAgdG9nZ2xlR3BzOiAndG9nZ2xlTG9jYXRpb25TZXJ2aWNlcycsXG4gICAgaXNHcHNFbmFibGVzOiAnaXNMb2NhdGlvblNlcnZpY2VzRW5hYmxlZCcsXG5cbiAgICBwcmVzc0tleTogJ21vYmlsZVByZXNzS2V5JyxcbiAgICBoaWRlS2V5Ym9hcmQ6ICdoaWRlS2V5Ym9hcmQnLFxuICAgIGlzS2V5Ym9hcmRTaG93bjogJ2lzS2V5Ym9hcmRTaG93bicsXG5cbiAgICBnZXREaXNwbGF5RGVuc2l0eTogJ2dldERpc3BsYXlEZW5zaXR5JyxcbiAgICBnZXRTeXN0ZW1CYXJzOiAnZ2V0U3lzdGVtQmFycycsXG4gICAgZmluZ2VycHJpbnQ6ICdtb2JpbGVGaW5nZXJwcmludCcsXG5cbiAgICBzZW5kU21zOiAnbW9iaWxlU2VuZFNtcycsXG4gICAgZ3NtQ2FsbDogJ21vYmlsZUdzbUNhbGwnLFxuICAgIGdzbVNpZ25hbDogJ21vYmlsZUdzbVNpZ25hbCcsXG4gICAgZ3NtVm9pY2U6ICdtb2JpbGVHc21Wb2ljZScsXG4gICAgcG93ZXJBYzogJ21vYmlsZVBvd2VyQUMnLFxuICAgIHBvd2VyQ2FwYWNpdHk6ICdtb2JpbGVQb3dlckNhcGFjaXR5JyxcbiAgICBuZXR3b3JrU3BlZWQ6ICdtb2JpbGVOZXR3b3JrU3BlZWQnLFxuICAgIHNlbnNvclNldDogJ3NlbnNvclNldCcsXG5cbiAgICBnZXRQZXJmb3JtYW5jZURhdGE6ICdtb2JpbGVHZXRQZXJmb3JtYW5jZURhdGEnLFxuICAgIGdldFBlcmZvcm1hbmNlRGF0YVR5cGVzOiAnZ2V0UGVyZm9ybWFuY2VEYXRhVHlwZXMnLFxuXG4gICAgc3RhdHVzQmFyOiAnbW9iaWxlUGVyZm9ybVN0YXR1c0JhckNvbW1hbmQnLFxuICB9O1xuXG4gIGlmICghXy5oYXMobW9iaWxlQ29tbWFuZHNNYXBwaW5nLCBtb2JpbGVDb21tYW5kKSkge1xuICAgIHRocm93IG5ldyBlcnJvcnMuVW5rbm93bkNvbW1hbmRFcnJvcihgVW5rbm93biBtb2JpbGUgY29tbWFuZCBcIiR7bW9iaWxlQ29tbWFuZH1cIi4gYCArXG4gICAgICBgT25seSAke18ua2V5cyhtb2JpbGVDb21tYW5kc01hcHBpbmcpfSBjb21tYW5kcyBhcmUgc3VwcG9ydGVkLmApO1xuICB9XG4gIHJldHVybiBhd2FpdCB0aGlzW21vYmlsZUNvbW1hbmRzTWFwcGluZ1ttb2JpbGVDb21tYW5kXV0ob3B0cyk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBleHRlbnNpb25zO1xu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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","names":["_lodash","_interopRequireDefault","require","_driver","extensions","executeMobile","mobileCommand","opts","mobileCommandsMapping","shell","execEmuConsoleCommand","performEditorAction","changePermissions","getPermissions","startScreenStreaming","stopScreenStreaming","swipe","scrollToPage","navigateTo","clickAction","deviceInfo","isToastVisible","openDrawer","closeDrawer","setDate","setTime","getDeviceTime","backdoor","flashElement","uiautomator","uiautomatorPageSource","webAtoms","getContexts","dismissAutofill","getNotifications","listSms","
|
|
1
|
+
{"version":3,"file":"execute.js","names":["_lodash","_interopRequireDefault","require","_driver","extensions","executeMobile","mobileCommand","opts","mobileCommandsMapping","shell","execEmuConsoleCommand","performEditorAction","changePermissions","getPermissions","startScreenStreaming","stopScreenStreaming","swipe","scrollToPage","navigateTo","clickAction","deviceInfo","isToastVisible","openDrawer","closeDrawer","setDate","setTime","getDeviceTime","backdoor","flashElement","uiautomator","uiautomatorPageSource","webAtoms","getContexts","dismissAutofill","getNotifications","listSms","pushFile","pullFile","pullFolder","deleteFile","isAppInstalled","queryAppState","activateApp","removeApp","terminateApp","installApp","clearApp","backgroundApp","getCurrentActivity","getCurrentPackage","startActivity","startService","stopService","broadcast","registerIdlingResources","unregisterIdlingResources","listIdlingResources","waitForUIThread","lock","unlock","isLocked","refreshGpsCache","startMediaProjectionRecording","isMediaProjectionRecordingRunning","stopMediaProjectionRecording","getConnectivity","setConnectivity","toggleGps","isGpsEnables","pressKey","hideKeyboard","isKeyboardShown","getDisplayDensity","getSystemBars","fingerprint","sendSms","gsmCall","gsmSignal","gsmVoice","powerAc","powerCapacity","networkSpeed","sensorSet","getPerformanceData","getPerformanceDataTypes","statusBar","_","has","errors","UnknownCommandError","keys","_default","exports","default"],"sources":["../../../lib/commands/execute.js"],"sourcesContent":["import _ from 'lodash';\nimport { errors } from 'appium/driver';\n\nconst extensions = {};\n\nextensions.executeMobile = async function executeMobile (mobileCommand, opts = {}) {\n const mobileCommandsMapping = {\n shell: 'mobileShell',\n\n execEmuConsoleCommand: 'mobileExecEmuConsoleCommand',\n\n performEditorAction: 'mobilePerformEditorAction',\n\n changePermissions: 'mobileChangePermissions',\n getPermissions: 'mobileGetPermissions',\n\n startScreenStreaming: 'mobileStartScreenStreaming',\n stopScreenStreaming: 'mobileStopScreenStreaming',\n\n swipe: 'mobileSwipe',\n scrollToPage: 'mobileScrollToPage',\n navigateTo: 'mobileNavigateTo',\n clickAction: 'mobileClickAction',\n\n deviceInfo: 'mobileGetDeviceInfo',\n\n isToastVisible: 'mobileIsToastVisible',\n\n openDrawer: 'mobileOpenDrawer',\n closeDrawer: 'mobileCloseDrawer',\n\n setDate: 'mobileSetDate',\n setTime: 'mobileSetTime',\n\n getDeviceTime: 'mobileGetDeviceTime',\n\n backdoor: 'mobileBackdoor',\n\n flashElement: 'mobileFlashElement',\n\n uiautomator: 'mobileUiautomator',\n uiautomatorPageSource: 'mobileUiautomatorPageSource',\n\n webAtoms: 'mobileWebAtoms',\n getContexts: 'mobileGetContexts',\n\n dismissAutofill: 'mobileDismissAutofill',\n\n getNotifications: 'mobileGetNotifications',\n\n listSms: 'mobileListSms',\n\n pushFile: 'mobilePushFile',\n pullFile: 'mobilePullFile',\n pullFolder: 'mobilePullFolder',\n deleteFile: 'mobileDeleteFile',\n\n isAppInstalled: 'mobileIsAppInstalled',\n queryAppState: 'mobileQueryAppState',\n activateApp: 'mobileActivateApp',\n removeApp: 'mobileRemoveApp',\n terminateApp: 'mobileTerminateApp',\n installApp: 'mobileInstallApp',\n clearApp: 'mobileClearApp',\n backgroundApp: 'mobileBackgroundApp',\n getCurrentActivity: 'getCurrentActivity',\n getCurrentPackage: 'getCurrentPackage',\n\n startActivity: 'mobileStartActivity',\n startService: 'mobileStartService',\n stopService: 'mobileStopService',\n broadcast: 'mobileBroadcast',\n\n registerIdlingResources: 'mobileRegisterIdlingResources',\n unregisterIdlingResources: 'mobileUnregisterIdlingResources',\n listIdlingResources: 'mobileListIdlingResources',\n waitForUIThread: 'mobileWaitForUIThread',\n\n lock: 'lock',\n unlock: 'mobileUnlock',\n isLocked: 'isLocked',\n\n refreshGpsCache: 'mobileRefreshGpsCache',\n\n startMediaProjectionRecording: 'mobileStartMediaProjectionRecording',\n isMediaProjectionRecordingRunning: 'mobileIsMediaProjectionRecordingRunning',\n stopMediaProjectionRecording: 'mobileStopMediaProjectionRecording',\n\n getConnectivity: 'mobileGetConnectivity',\n setConnectivity: 'mobileSetConnectivity',\n toggleGps: 'toggleLocationServices',\n isGpsEnables: 'isLocationServicesEnabled',\n\n pressKey: 'mobilePressKey',\n hideKeyboard: 'hideKeyboard',\n isKeyboardShown: 'isKeyboardShown',\n\n getDisplayDensity: 'getDisplayDensity',\n getSystemBars: 'getSystemBars',\n fingerprint: 'mobileFingerprint',\n\n sendSms: 'mobileSendSms',\n gsmCall: 'mobileGsmCall',\n gsmSignal: 'mobileGsmSignal',\n gsmVoice: 'mobileGsmVoice',\n powerAc: 'mobilePowerAC',\n powerCapacity: 'mobilePowerCapacity',\n networkSpeed: 'mobileNetworkSpeed',\n sensorSet: 'sensorSet',\n\n getPerformanceData: 'mobileGetPerformanceData',\n getPerformanceDataTypes: 'getPerformanceDataTypes',\n\n statusBar: 'mobilePerformStatusBarCommand',\n };\n\n if (!_.has(mobileCommandsMapping, mobileCommand)) {\n throw new errors.UnknownCommandError(`Unknown mobile command \"${mobileCommand}\". ` +\n `Only ${_.keys(mobileCommandsMapping)} commands are supported.`);\n }\n return await this[mobileCommandsMapping[mobileCommand]](opts);\n};\n\nexport default extensions;\n"],"mappings":"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"}
|
|
Binary file
|
package/lib/commands/execute.js
CHANGED
|
@@ -50,8 +50,6 @@ extensions.executeMobile = async function executeMobile (mobileCommand, opts = {
|
|
|
50
50
|
|
|
51
51
|
listSms: 'mobileListSms',
|
|
52
52
|
|
|
53
|
-
sensorSet: 'sensorSet',
|
|
54
|
-
|
|
55
53
|
pushFile: 'mobilePushFile',
|
|
56
54
|
pullFile: 'mobilePullFile',
|
|
57
55
|
pullFolder: 'mobilePullFolder',
|
|
@@ -64,6 +62,9 @@ extensions.executeMobile = async function executeMobile (mobileCommand, opts = {
|
|
|
64
62
|
terminateApp: 'mobileTerminateApp',
|
|
65
63
|
installApp: 'mobileInstallApp',
|
|
66
64
|
clearApp: 'mobileClearApp',
|
|
65
|
+
backgroundApp: 'mobileBackgroundApp',
|
|
66
|
+
getCurrentActivity: 'getCurrentActivity',
|
|
67
|
+
getCurrentPackage: 'getCurrentPackage',
|
|
67
68
|
|
|
68
69
|
startActivity: 'mobileStartActivity',
|
|
69
70
|
startService: 'mobileStartService',
|
|
@@ -75,7 +76,9 @@ extensions.executeMobile = async function executeMobile (mobileCommand, opts = {
|
|
|
75
76
|
listIdlingResources: 'mobileListIdlingResources',
|
|
76
77
|
waitForUIThread: 'mobileWaitForUIThread',
|
|
77
78
|
|
|
79
|
+
lock: 'lock',
|
|
78
80
|
unlock: 'mobileUnlock',
|
|
81
|
+
isLocked: 'isLocked',
|
|
79
82
|
|
|
80
83
|
refreshGpsCache: 'mobileRefreshGpsCache',
|
|
81
84
|
|
|
@@ -83,8 +86,32 @@ extensions.executeMobile = async function executeMobile (mobileCommand, opts = {
|
|
|
83
86
|
isMediaProjectionRecordingRunning: 'mobileIsMediaProjectionRecordingRunning',
|
|
84
87
|
stopMediaProjectionRecording: 'mobileStopMediaProjectionRecording',
|
|
85
88
|
|
|
86
|
-
|
|
89
|
+
getConnectivity: 'mobileGetConnectivity',
|
|
90
|
+
setConnectivity: 'mobileSetConnectivity',
|
|
91
|
+
toggleGps: 'toggleLocationServices',
|
|
92
|
+
isGpsEnables: 'isLocationServicesEnabled',
|
|
93
|
+
|
|
94
|
+
pressKey: 'mobilePressKey',
|
|
95
|
+
hideKeyboard: 'hideKeyboard',
|
|
87
96
|
isKeyboardShown: 'isKeyboardShown',
|
|
97
|
+
|
|
98
|
+
getDisplayDensity: 'getDisplayDensity',
|
|
99
|
+
getSystemBars: 'getSystemBars',
|
|
100
|
+
fingerprint: 'mobileFingerprint',
|
|
101
|
+
|
|
102
|
+
sendSms: 'mobileSendSms',
|
|
103
|
+
gsmCall: 'mobileGsmCall',
|
|
104
|
+
gsmSignal: 'mobileGsmSignal',
|
|
105
|
+
gsmVoice: 'mobileGsmVoice',
|
|
106
|
+
powerAc: 'mobilePowerAC',
|
|
107
|
+
powerCapacity: 'mobilePowerCapacity',
|
|
108
|
+
networkSpeed: 'mobileNetworkSpeed',
|
|
109
|
+
sensorSet: 'sensorSet',
|
|
110
|
+
|
|
111
|
+
getPerformanceData: 'mobileGetPerformanceData',
|
|
112
|
+
getPerformanceDataTypes: 'getPerformanceDataTypes',
|
|
113
|
+
|
|
114
|
+
statusBar: 'mobilePerformStatusBarCommand',
|
|
88
115
|
};
|
|
89
116
|
|
|
90
117
|
if (!_.has(mobileCommandsMapping, mobileCommand)) {
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-espresso-driver",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.23.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-espresso-driver",
|
|
9
|
-
"version": "2.
|
|
9
|
+
"version": "2.23.1",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@babel/runtime": "^7.4.3",
|
|
13
13
|
"appium-adb": "^9.10.2",
|
|
14
|
-
"appium-android-driver": "^5.
|
|
14
|
+
"appium-android-driver": "^5.13.0",
|
|
15
15
|
"asyncbox": "^2.3.1",
|
|
16
16
|
"bluebird": "^3.5.0",
|
|
17
17
|
"lodash": "^4.17.11",
|
|
@@ -722,7 +722,7 @@
|
|
|
722
722
|
}
|
|
723
723
|
},
|
|
724
724
|
"node_modules/@types/node": {
|
|
725
|
-
"version": "20.2.
|
|
725
|
+
"version": "20.2.3",
|
|
726
726
|
"license": "MIT"
|
|
727
727
|
},
|
|
728
728
|
"node_modules/@types/normalize-package-data": {
|
|
@@ -920,7 +920,7 @@
|
|
|
920
920
|
}
|
|
921
921
|
},
|
|
922
922
|
"node_modules/appium-adb": {
|
|
923
|
-
"version": "9.11.
|
|
923
|
+
"version": "9.11.4",
|
|
924
924
|
"license": "Apache-2.0",
|
|
925
925
|
"dependencies": {
|
|
926
926
|
"@appium/support": "^4.0.0",
|
|
@@ -977,7 +977,7 @@
|
|
|
977
977
|
"license": "ISC"
|
|
978
978
|
},
|
|
979
979
|
"node_modules/appium-android-driver": {
|
|
980
|
-
"version": "5.
|
|
980
|
+
"version": "5.13.0",
|
|
981
981
|
"license": "Apache-2.0",
|
|
982
982
|
"dependencies": {
|
|
983
983
|
"@babel/runtime": "^7.0.0",
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"automated testing",
|
|
8
8
|
"android"
|
|
9
9
|
],
|
|
10
|
-
"version": "2.
|
|
10
|
+
"version": "2.23.1",
|
|
11
11
|
"author": "Appium Contributors",
|
|
12
12
|
"license": "Apache-2.0",
|
|
13
13
|
"repository": {
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"@babel/runtime": "^7.4.3",
|
|
70
70
|
"appium-adb": "^9.10.2",
|
|
71
|
-
"appium-android-driver": "^5.
|
|
71
|
+
"appium-android-driver": "^5.13.0",
|
|
72
72
|
"asyncbox": "^2.3.1",
|
|
73
73
|
"bluebird": "^3.5.0",
|
|
74
74
|
"lodash": "^4.17.11",
|