appium-android-driver 13.3.4 → 14.0.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/CHANGELOG.md +16 -0
- package/build/lib/commands/app-management.d.ts +2 -2
- package/build/lib/commands/app-management.d.ts.map +1 -1
- package/build/lib/commands/app-management.js +41 -67
- package/build/lib/commands/app-management.js.map +1 -1
- package/build/lib/commands/appearance.d.ts +1 -1
- package/build/lib/commands/appearance.d.ts.map +1 -1
- package/build/lib/commands/appearance.js +2 -6
- package/build/lib/commands/appearance.js.map +1 -1
- package/build/lib/commands/bidi/constants.js +4 -8
- package/build/lib/commands/bidi/constants.js.map +1 -1
- package/build/lib/commands/bidi/models.d.ts +1 -1
- package/build/lib/commands/bidi/models.d.ts.map +1 -1
- package/build/lib/commands/bidi/models.js +7 -13
- package/build/lib/commands/bidi/models.js.map +1 -1
- package/build/lib/commands/bidi/types.js +1 -2
- package/build/lib/commands/bluetooth.d.ts +1 -1
- package/build/lib/commands/bluetooth.d.ts.map +1 -1
- package/build/lib/commands/bluetooth.js +3 -6
- package/build/lib/commands/bluetooth.js.map +1 -1
- package/build/lib/commands/context/cache.d.ts +1 -1
- package/build/lib/commands/context/cache.d.ts.map +1 -1
- package/build/lib/commands/context/cache.js +5 -10
- package/build/lib/commands/context/cache.js.map +1 -1
- package/build/lib/commands/context/exports.d.ts +2 -2
- package/build/lib/commands/context/exports.d.ts.map +1 -1
- package/build/lib/commands/context/exports.js +64 -86
- package/build/lib/commands/context/exports.js.map +1 -1
- package/build/lib/commands/context/helpers.d.ts +2 -2
- package/build/lib/commands/context/helpers.d.ts.map +1 -1
- package/build/lib/commands/context/helpers.js +69 -82
- package/build/lib/commands/context/helpers.js.map +1 -1
- package/build/lib/commands/device/common.d.ts +2 -2
- package/build/lib/commands/device/common.d.ts.map +1 -1
- package/build/lib/commands/device/common.js +47 -77
- package/build/lib/commands/device/common.js.map +1 -1
- package/build/lib/commands/device/emulator-actions.d.ts +2 -2
- package/build/lib/commands/device/emulator-actions.d.ts.map +1 -1
- package/build/lib/commands/device/emulator-actions.js +33 -52
- package/build/lib/commands/device/emulator-actions.js.map +1 -1
- package/build/lib/commands/device/emulator-console.d.ts +1 -1
- package/build/lib/commands/device/emulator-console.d.ts.map +1 -1
- package/build/lib/commands/device/emulator-console.js +3 -6
- package/build/lib/commands/device/emulator-console.js.map +1 -1
- package/build/lib/commands/device/utils.d.ts +1 -1
- package/build/lib/commands/device/utils.d.ts.map +1 -1
- package/build/lib/commands/device/utils.js +27 -37
- package/build/lib/commands/device/utils.js.map +1 -1
- package/build/lib/commands/deviceidle.d.ts +1 -1
- package/build/lib/commands/deviceidle.d.ts.map +1 -1
- package/build/lib/commands/deviceidle.js +4 -7
- package/build/lib/commands/deviceidle.js.map +1 -1
- package/build/lib/commands/element.d.ts +2 -2
- package/build/lib/commands/element.d.ts.map +1 -1
- package/build/lib/commands/element.js +22 -39
- package/build/lib/commands/element.js.map +1 -1
- package/build/lib/commands/execute.d.ts +1 -1
- package/build/lib/commands/execute.d.ts.map +1 -1
- package/build/lib/commands/execute.js +6 -9
- package/build/lib/commands/execute.js.map +1 -1
- package/build/lib/commands/file-actions.d.ts +1 -1
- package/build/lib/commands/file-actions.d.ts.map +1 -1
- package/build/lib/commands/file-actions.js +25 -34
- package/build/lib/commands/file-actions.js.map +1 -1
- package/build/lib/commands/find.d.ts +2 -2
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js +10 -14
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/geolocation.d.ts +1 -1
- package/build/lib/commands/geolocation.d.ts.map +1 -1
- package/build/lib/commands/geolocation.js +21 -35
- package/build/lib/commands/geolocation.js.map +1 -1
- package/build/lib/commands/gestures.d.ts +1 -1
- package/build/lib/commands/gestures.d.ts.map +1 -1
- package/build/lib/commands/gestures.js +4 -7
- package/build/lib/commands/gestures.js.map +1 -1
- package/build/lib/commands/image-injection.d.ts +1 -1
- package/build/lib/commands/image-injection.d.ts.map +1 -1
- package/build/lib/commands/image-injection.js +16 -23
- package/build/lib/commands/image-injection.js.map +1 -1
- package/build/lib/commands/ime.d.ts +1 -1
- package/build/lib/commands/ime.d.ts.map +1 -1
- package/build/lib/commands/ime.js +10 -18
- package/build/lib/commands/ime.js.map +1 -1
- package/build/lib/commands/intent.d.ts +1 -1
- package/build/lib/commands/intent.d.ts.map +1 -1
- package/build/lib/commands/intent.js +22 -29
- package/build/lib/commands/intent.js.map +1 -1
- package/build/lib/commands/keyboard.d.ts +2 -2
- package/build/lib/commands/keyboard.d.ts.map +1 -1
- package/build/lib/commands/keyboard.js +21 -33
- package/build/lib/commands/keyboard.js.map +1 -1
- package/build/lib/commands/legacy.d.ts +1 -1
- package/build/lib/commands/legacy.d.ts.map +1 -1
- package/build/lib/commands/legacy.js +7 -12
- package/build/lib/commands/legacy.js.map +1 -1
- package/build/lib/commands/lock/exports.d.ts +2 -2
- package/build/lib/commands/lock/exports.d.ts.map +1 -1
- package/build/lib/commands/lock/exports.js +18 -25
- package/build/lib/commands/lock/exports.js.map +1 -1
- package/build/lib/commands/lock/helpers.d.ts +2 -2
- package/build/lib/commands/lock/helpers.d.ts.map +1 -1
- package/build/lib/commands/lock/helpers.js +48 -64
- package/build/lib/commands/lock/helpers.js.map +1 -1
- package/build/lib/commands/log.d.ts +2 -2
- package/build/lib/commands/log.d.ts.map +1 -1
- package/build/lib/commands/log.js +38 -42
- package/build/lib/commands/log.js.map +1 -1
- package/build/lib/commands/media-projection.d.ts +2 -2
- package/build/lib/commands/media-projection.d.ts.map +1 -1
- package/build/lib/commands/media-projection.js +14 -22
- package/build/lib/commands/media-projection.js.map +1 -1
- package/build/lib/commands/memory.d.ts +2 -2
- package/build/lib/commands/memory.d.ts.map +1 -1
- package/build/lib/commands/memory.js +4 -7
- package/build/lib/commands/memory.js.map +1 -1
- package/build/lib/commands/misc.d.ts +2 -2
- package/build/lib/commands/misc.d.ts.map +1 -1
- package/build/lib/commands/misc.js +10 -19
- package/build/lib/commands/misc.js.map +1 -1
- package/build/lib/commands/network.d.ts +2 -2
- package/build/lib/commands/network.d.ts.map +1 -1
- package/build/lib/commands/network.js +14 -26
- package/build/lib/commands/network.js.map +1 -1
- package/build/lib/commands/nfc.d.ts +2 -2
- package/build/lib/commands/nfc.d.ts.map +1 -1
- package/build/lib/commands/nfc.js +3 -6
- package/build/lib/commands/nfc.js.map +1 -1
- package/build/lib/commands/performance.d.ts +2 -2
- package/build/lib/commands/performance.d.ts.map +1 -1
- package/build/lib/commands/performance.js +48 -58
- package/build/lib/commands/performance.js.map +1 -1
- package/build/lib/commands/permissions.d.ts +1 -1
- package/build/lib/commands/permissions.d.ts.map +1 -1
- package/build/lib/commands/permissions.js +16 -20
- package/build/lib/commands/permissions.js.map +1 -1
- package/build/lib/commands/recordscreen.d.ts +2 -2
- package/build/lib/commands/recordscreen.d.ts.map +1 -1
- package/build/lib/commands/recordscreen.js +32 -39
- package/build/lib/commands/recordscreen.js.map +1 -1
- package/build/lib/commands/resources.d.ts +1 -1
- package/build/lib/commands/resources.d.ts.map +1 -1
- package/build/lib/commands/resources.js +7 -11
- package/build/lib/commands/resources.js.map +1 -1
- package/build/lib/commands/shell.d.ts +1 -1
- package/build/lib/commands/shell.d.ts.map +1 -1
- package/build/lib/commands/shell.js +9 -12
- package/build/lib/commands/shell.js.map +1 -1
- package/build/lib/commands/streamscreen.d.ts +1 -1
- package/build/lib/commands/streamscreen.d.ts.map +1 -1
- package/build/lib/commands/streamscreen.js +32 -37
- package/build/lib/commands/streamscreen.js.map +1 -1
- package/build/lib/commands/system-bars.d.ts +2 -2
- package/build/lib/commands/system-bars.d.ts.map +1 -1
- package/build/lib/commands/system-bars.js +10 -16
- package/build/lib/commands/system-bars.js.map +1 -1
- package/build/lib/commands/time.d.ts +1 -1
- package/build/lib/commands/time.d.ts.map +1 -1
- package/build/lib/commands/time.js +9 -17
- package/build/lib/commands/time.js.map +1 -1
- package/build/lib/commands/types.d.ts +15 -1
- package/build/lib/commands/types.d.ts.map +1 -1
- package/build/lib/commands/types.js +1 -2
- package/build/lib/constraints.d.ts +3 -0
- package/build/lib/constraints.d.ts.map +1 -1
- package/build/lib/constraints.js +5 -5
- package/build/lib/constraints.js.map +1 -1
- package/build/lib/doctor/checks.js +54 -65
- package/build/lib/doctor/checks.js.map +1 -1
- package/build/lib/doctor/utils.js +4 -7
- package/build/lib/doctor/utils.js.map +1 -1
- package/build/lib/driver.d.ts +39 -39
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +220 -223
- package/build/lib/driver.js.map +1 -1
- package/build/lib/execute-method-map.js +1 -4
- package/build/lib/execute-method-map.js.map +1 -1
- package/build/lib/index.d.ts +7 -7
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +11 -51
- package/build/lib/index.js.map +1 -1
- package/build/lib/logger.js +2 -5
- package/build/lib/logger.js.map +1 -1
- package/build/lib/method-map.js +1 -4
- package/build/lib/method-map.js.map +1 -1
- package/build/lib/utils.d.ts +9 -7
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +22 -28
- package/build/lib/utils.js.map +1 -1
- package/lib/commands/app-management.ts +5 -11
- package/lib/commands/appearance.ts +1 -1
- package/lib/commands/bidi/models.ts +3 -3
- package/lib/commands/bluetooth.ts +2 -2
- package/lib/commands/context/cache.ts +1 -1
- package/lib/commands/context/exports.ts +7 -7
- package/lib/commands/context/helpers.ts +4 -4
- package/lib/commands/device/common.ts +36 -20
- package/lib/commands/device/emulator-actions.ts +4 -4
- package/lib/commands/device/emulator-console.ts +2 -2
- package/lib/commands/device/utils.ts +3 -3
- package/lib/commands/deviceidle.ts +2 -2
- package/lib/commands/element.ts +3 -3
- package/lib/commands/execute.ts +2 -2
- package/lib/commands/file-actions.ts +2 -2
- package/lib/commands/find.ts +4 -4
- package/lib/commands/geolocation.ts +2 -2
- package/lib/commands/gestures.ts +3 -3
- package/lib/commands/image-injection.ts +2 -2
- package/lib/commands/ime.ts +3 -3
- package/lib/commands/intent.ts +3 -3
- package/lib/commands/keyboard.ts +3 -3
- package/lib/commands/legacy.ts +2 -2
- package/lib/commands/lock/exports.ts +3 -3
- package/lib/commands/lock/helpers.ts +2 -2
- package/lib/commands/log.ts +18 -11
- package/lib/commands/media-projection.ts +2 -2
- package/lib/commands/memory.ts +3 -3
- package/lib/commands/misc.ts +3 -3
- package/lib/commands/network.ts +3 -3
- package/lib/commands/nfc.ts +3 -3
- package/lib/commands/performance.ts +4 -4
- package/lib/commands/permissions.ts +3 -3
- package/lib/commands/recordscreen.ts +5 -5
- package/lib/commands/resources.ts +2 -2
- package/lib/commands/shell.ts +3 -3
- package/lib/commands/streamscreen.ts +6 -4
- package/lib/commands/system-bars.ts +6 -6
- package/lib/commands/time.ts +3 -3
- package/lib/commands/types.ts +15 -1
- package/lib/constraints.ts +3 -0
- package/lib/doctor/checks.ts +1 -1
- package/lib/driver.ts +44 -44
- package/lib/index.ts +7 -7
- package/lib/method-map.ts +1 -1
- package/lib/utils.ts +10 -8
- package/package.json +12 -3
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.lock = lock;
|
|
4
|
-
exports.isLocked = isLocked;
|
|
5
|
-
exports.unlock = unlock;
|
|
6
|
-
exports.mobileUnlock = mobileUnlock;
|
|
7
|
-
exports.unlockWithOptions = unlockWithOptions;
|
|
8
|
-
const asyncbox_1 = require("asyncbox");
|
|
9
|
-
const helpers_1 = require("./helpers");
|
|
1
|
+
import { sleep } from 'asyncbox';
|
|
2
|
+
import { validateUnlockCapabilities, FINGERPRINT_UNLOCK, fastUnlock, PIN_UNLOCK, pinUnlock, PIN_UNLOCK_KEY_EVENT, pinUnlockWithKeyEvent, PASSWORD_UNLOCK, passwordUnlock, PATTERN_UNLOCK, patternUnlock, fingerprintUnlock, toCredentialType, verifyUnlock, } from './helpers.js';
|
|
10
3
|
/**
|
|
11
4
|
* Locks the device and optionally unlocks it after a specified number of seconds.
|
|
12
5
|
*
|
|
13
6
|
* @param seconds - Optional number of seconds to wait before unlocking. If not provided or invalid, the device remains locked.
|
|
14
7
|
*/
|
|
15
|
-
async function lock(seconds) {
|
|
8
|
+
export async function lock(seconds) {
|
|
16
9
|
await this.adb.lock();
|
|
17
10
|
if (Number.isNaN(seconds ?? NaN)) {
|
|
18
11
|
return;
|
|
@@ -21,7 +14,7 @@ async function lock(seconds) {
|
|
|
21
14
|
if (floatSeconds <= 0) {
|
|
22
15
|
return;
|
|
23
16
|
}
|
|
24
|
-
await
|
|
17
|
+
await sleep(1000 * floatSeconds);
|
|
25
18
|
await this.unlock();
|
|
26
19
|
}
|
|
27
20
|
/**
|
|
@@ -29,13 +22,13 @@ async function lock(seconds) {
|
|
|
29
22
|
*
|
|
30
23
|
* @returns True if the screen is locked, false otherwise
|
|
31
24
|
*/
|
|
32
|
-
async function isLocked() {
|
|
25
|
+
export async function isLocked() {
|
|
33
26
|
return await this.adb.isScreenLocked();
|
|
34
27
|
}
|
|
35
28
|
/**
|
|
36
29
|
* Unlocks the device using the unlock options from session capabilities.
|
|
37
30
|
*/
|
|
38
|
-
async function unlock() {
|
|
31
|
+
export async function unlock() {
|
|
39
32
|
await unlockWithOptions.bind(this)();
|
|
40
33
|
}
|
|
41
34
|
/**
|
|
@@ -49,7 +42,7 @@ async function unlock() {
|
|
|
49
42
|
* ADB shortcuts in order to speed up the unlock procedure. 'uiautomator' by default.
|
|
50
43
|
* @param timeoutMs - The maximum time in milliseconds to wait until the screen gets unlocked. 2000ms by default.
|
|
51
44
|
*/
|
|
52
|
-
async function mobileUnlock(key, type, strategy, timeoutMs) {
|
|
45
|
+
export async function mobileUnlock(key, type, strategy, timeoutMs) {
|
|
53
46
|
if (!key && !type) {
|
|
54
47
|
await this.unlock();
|
|
55
48
|
}
|
|
@@ -68,7 +61,7 @@ async function mobileUnlock(key, type, strategy, timeoutMs) {
|
|
|
68
61
|
*
|
|
69
62
|
* @param caps - Optional capabilities to use for unlocking. If not provided, uses session capabilities.
|
|
70
63
|
*/
|
|
71
|
-
async function unlockWithOptions(caps = null) {
|
|
64
|
+
export async function unlockWithOptions(caps = null) {
|
|
72
65
|
if (!(await this.adb.isScreenLocked())) {
|
|
73
66
|
this.log.info('Screen already unlocked, doing nothing');
|
|
74
67
|
return;
|
|
@@ -81,27 +74,27 @@ async function unlockWithOptions(caps = null) {
|
|
|
81
74
|
await this.adb.dismissKeyguard();
|
|
82
75
|
return;
|
|
83
76
|
}
|
|
84
|
-
const validated =
|
|
77
|
+
const validated = validateUnlockCapabilities(capabilities);
|
|
85
78
|
const { unlockType, unlockKey, unlockStrategy, unlockSuccessTimeout } = validated;
|
|
86
79
|
if (!unlockType) {
|
|
87
80
|
throw new Error('unlockType is required after validation');
|
|
88
81
|
}
|
|
89
82
|
if (unlockKey &&
|
|
90
|
-
unlockType !==
|
|
83
|
+
unlockType !== FINGERPRINT_UNLOCK &&
|
|
91
84
|
(unlockStrategy == null || String(unlockStrategy)?.toLowerCase() === 'locksettings') &&
|
|
92
85
|
(await this.adb.isLockManagementSupported())) {
|
|
93
|
-
await
|
|
86
|
+
await fastUnlock.bind(this)({
|
|
94
87
|
credential: unlockKey,
|
|
95
|
-
credentialType:
|
|
88
|
+
credentialType: toCredentialType(unlockType),
|
|
96
89
|
});
|
|
97
90
|
}
|
|
98
91
|
else {
|
|
99
92
|
const unlockMethodMap = {
|
|
100
|
-
[
|
|
101
|
-
[
|
|
102
|
-
[
|
|
103
|
-
[
|
|
104
|
-
[
|
|
93
|
+
[PIN_UNLOCK]: pinUnlock,
|
|
94
|
+
[PIN_UNLOCK_KEY_EVENT]: pinUnlockWithKeyEvent,
|
|
95
|
+
[PASSWORD_UNLOCK]: passwordUnlock,
|
|
96
|
+
[PATTERN_UNLOCK]: patternUnlock,
|
|
97
|
+
[FINGERPRINT_UNLOCK]: fingerprintUnlock,
|
|
105
98
|
};
|
|
106
99
|
const unlockMethod = unlockMethodMap[unlockType];
|
|
107
100
|
if (!unlockMethod) {
|
|
@@ -109,7 +102,7 @@ async function unlockWithOptions(caps = null) {
|
|
|
109
102
|
}
|
|
110
103
|
await unlockMethod.bind(this)(capabilities);
|
|
111
104
|
}
|
|
112
|
-
await
|
|
105
|
+
await verifyUnlock.bind(this)(unlockSuccessTimeout);
|
|
113
106
|
}
|
|
114
107
|
// #endregion
|
|
115
108
|
//# sourceMappingURL=exports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../lib/commands/lock/exports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../lib/commands/lock/exports.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Position, StringRecord } from '@appium/types';
|
|
2
|
-
import type { AndroidDriver, AndroidDriverCaps } from '../../driver';
|
|
3
|
-
import type { UnlockType, FastUnlockOptions } from '../types';
|
|
2
|
+
import type { AndroidDriver, AndroidDriverCaps } from '../../driver.js';
|
|
3
|
+
import type { UnlockType, FastUnlockOptions } from '../types.js';
|
|
4
4
|
export declare const PIN_UNLOCK = "pin";
|
|
5
5
|
export declare const PIN_UNLOCK_KEY_EVENT = "pinWithKeyEvent";
|
|
6
6
|
export declare const PASSWORD_UNLOCK = "password";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../lib/commands/lock/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAC,aAAa,EAAE,iBAAiB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../lib/commands/lock/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAC,aAAa,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAC,UAAU,EAAE,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAE/D,eAAO,MAAM,UAAU,QAAQ,CAAC;AAChC,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAQhD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAIxC;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAW/D;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,iBAAiB,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAoClF;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB5F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpD;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,aAAa,EACnB,YAAY,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,YAAY,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,YAAY,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,aAAa,EACnB,YAAY,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAiB7F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EACzB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,MAAM,GACZ,YAAY,EAAE,CA2DhB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,SAAS,GAAE,MAAM,GAAG,IAAW,GAC9B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,EACnB,YAAY,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
|
|
@@ -1,36 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
exports.stringKeyToArr = stringKeyToArr;
|
|
9
|
-
exports.fingerprintUnlock = fingerprintUnlock;
|
|
10
|
-
exports.pinUnlock = pinUnlock;
|
|
11
|
-
exports.pinUnlockWithKeyEvent = pinUnlockWithKeyEvent;
|
|
12
|
-
exports.passwordUnlock = passwordUnlock;
|
|
13
|
-
exports.getPatternKeyPosition = getPatternKeyPosition;
|
|
14
|
-
exports.getPatternActions = getPatternActions;
|
|
15
|
-
exports.verifyUnlock = verifyUnlock;
|
|
16
|
-
exports.patternUnlock = patternUnlock;
|
|
17
|
-
const support_1 = require("@appium/support");
|
|
18
|
-
const asyncbox_1 = require("asyncbox");
|
|
19
|
-
exports.PIN_UNLOCK = 'pin';
|
|
20
|
-
exports.PIN_UNLOCK_KEY_EVENT = 'pinWithKeyEvent';
|
|
21
|
-
exports.PASSWORD_UNLOCK = 'password';
|
|
22
|
-
exports.PATTERN_UNLOCK = 'pattern';
|
|
23
|
-
exports.FINGERPRINT_UNLOCK = 'fingerprint';
|
|
1
|
+
import { util } from '@appium/support';
|
|
2
|
+
import { sleep, waitForCondition } from 'asyncbox';
|
|
3
|
+
export const PIN_UNLOCK = 'pin';
|
|
4
|
+
export const PIN_UNLOCK_KEY_EVENT = 'pinWithKeyEvent';
|
|
5
|
+
export const PASSWORD_UNLOCK = 'password';
|
|
6
|
+
export const PATTERN_UNLOCK = 'pattern';
|
|
7
|
+
export const FINGERPRINT_UNLOCK = 'fingerprint';
|
|
24
8
|
const UNLOCK_TYPES = [
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
9
|
+
PIN_UNLOCK,
|
|
10
|
+
PIN_UNLOCK_KEY_EVENT,
|
|
11
|
+
PASSWORD_UNLOCK,
|
|
12
|
+
PATTERN_UNLOCK,
|
|
13
|
+
FINGERPRINT_UNLOCK,
|
|
30
14
|
];
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
15
|
+
export const KEYCODE_NUMPAD_ENTER = 66;
|
|
16
|
+
export const UNLOCK_WAIT_TIME = 100;
|
|
17
|
+
export const INPUT_KEYS_WAIT_TIME = 100;
|
|
34
18
|
const NUMBER_ZERO_KEYCODE = 7;
|
|
35
19
|
const TOUCH_DELAY_MS = 1000;
|
|
36
20
|
/**
|
|
@@ -40,12 +24,12 @@ const TOUCH_DELAY_MS = 1000;
|
|
|
40
24
|
* @returns The credential type string
|
|
41
25
|
* @throws {Error} If the unlock type is not known
|
|
42
26
|
*/
|
|
43
|
-
function toCredentialType(unlockType) {
|
|
27
|
+
export function toCredentialType(unlockType) {
|
|
44
28
|
const result = {
|
|
45
|
-
[
|
|
46
|
-
[
|
|
47
|
-
[
|
|
48
|
-
[
|
|
29
|
+
[PIN_UNLOCK]: 'pin',
|
|
30
|
+
[PIN_UNLOCK_KEY_EVENT]: 'pin',
|
|
31
|
+
[PASSWORD_UNLOCK]: 'password',
|
|
32
|
+
[PATTERN_UNLOCK]: 'pattern',
|
|
49
33
|
}[unlockType];
|
|
50
34
|
if (result) {
|
|
51
35
|
return result;
|
|
@@ -59,17 +43,17 @@ function toCredentialType(unlockType) {
|
|
|
59
43
|
* @returns The validated capabilities
|
|
60
44
|
* @throws {Error} If the capabilities are invalid
|
|
61
45
|
*/
|
|
62
|
-
function validateUnlockCapabilities(caps) {
|
|
46
|
+
export function validateUnlockCapabilities(caps) {
|
|
63
47
|
const { unlockKey, unlockType } = caps ?? {};
|
|
64
48
|
if (!isNonEmptyString(unlockType)) {
|
|
65
49
|
throw new Error('A non-empty unlock key value must be provided');
|
|
66
50
|
}
|
|
67
|
-
if ([
|
|
51
|
+
if ([PIN_UNLOCK, PIN_UNLOCK_KEY_EVENT, FINGERPRINT_UNLOCK].includes(unlockType)) {
|
|
68
52
|
if (!/^[0-9]+$/.test(String(unlockKey)?.trim())) {
|
|
69
53
|
throw new Error(`Unlock key value '${unlockKey}' must only consist of digits`);
|
|
70
54
|
}
|
|
71
55
|
}
|
|
72
|
-
else if (unlockType ===
|
|
56
|
+
else if (unlockType === PATTERN_UNLOCK) {
|
|
73
57
|
if (!/^[1-9]{2,9}$/.test(String(unlockKey)?.trim())) {
|
|
74
58
|
throw new Error(`Unlock key value '${unlockKey}' must only include from two to nine digits in range 1..9`);
|
|
75
59
|
}
|
|
@@ -77,7 +61,7 @@ function validateUnlockCapabilities(caps) {
|
|
|
77
61
|
throw new Error(`Unlock key value '${unlockKey}' must define a valid pattern where repeats are not allowed`);
|
|
78
62
|
}
|
|
79
63
|
}
|
|
80
|
-
else if (unlockType ===
|
|
64
|
+
else if (unlockType === PASSWORD_UNLOCK) {
|
|
81
65
|
// Dont trim password key, you can use blank spaces in your android password
|
|
82
66
|
// ¯\_(ツ)_/¯
|
|
83
67
|
if (!/.{4,}/g.test(String(unlockKey))) {
|
|
@@ -95,7 +79,7 @@ function validateUnlockCapabilities(caps) {
|
|
|
95
79
|
*
|
|
96
80
|
* @param opts - Fast unlock options with credential and credential type
|
|
97
81
|
*/
|
|
98
|
-
async function fastUnlock(opts) {
|
|
82
|
+
export async function fastUnlock(opts) {
|
|
99
83
|
const { credential, credentialType } = opts;
|
|
100
84
|
this.log.info(`Unlocking the device via ADB using ${credentialType} credential '${credential}'`);
|
|
101
85
|
const wasLockEnabled = await this.adb.isLockEnabled();
|
|
@@ -123,7 +107,7 @@ async function fastUnlock(opts) {
|
|
|
123
107
|
* @param key - The password key
|
|
124
108
|
* @returns The encoded password
|
|
125
109
|
*/
|
|
126
|
-
function encodePassword(key) {
|
|
110
|
+
export function encodePassword(key) {
|
|
127
111
|
return `${key}`.replace(/\s/gi, '%s');
|
|
128
112
|
}
|
|
129
113
|
/**
|
|
@@ -132,7 +116,7 @@ function encodePassword(key) {
|
|
|
132
116
|
* @param key - The key string
|
|
133
117
|
* @returns An array of characters
|
|
134
118
|
*/
|
|
135
|
-
function stringKeyToArr(key) {
|
|
119
|
+
export function stringKeyToArr(key) {
|
|
136
120
|
return `${key}`.trim().replace(/\s+/g, '').split(/\s*/);
|
|
137
121
|
}
|
|
138
122
|
/**
|
|
@@ -140,34 +124,34 @@ function stringKeyToArr(key) {
|
|
|
140
124
|
*
|
|
141
125
|
* @param capabilities - Driver capabilities containing unlockKey
|
|
142
126
|
*/
|
|
143
|
-
async function fingerprintUnlock(capabilities) {
|
|
127
|
+
export async function fingerprintUnlock(capabilities) {
|
|
144
128
|
await this.adb.fingerprint(String(capabilities.unlockKey));
|
|
145
|
-
await
|
|
129
|
+
await sleep(UNLOCK_WAIT_TIME);
|
|
146
130
|
}
|
|
147
131
|
/**
|
|
148
132
|
* Unlocks the device using PIN by clicking on-screen buttons.
|
|
149
133
|
*
|
|
150
134
|
* @param capabilities - Driver capabilities containing unlockKey
|
|
151
135
|
*/
|
|
152
|
-
async function pinUnlock(capabilities) {
|
|
136
|
+
export async function pinUnlock(capabilities) {
|
|
153
137
|
this.log.info(`Trying to unlock device using pin ${capabilities.unlockKey}`);
|
|
154
138
|
await this.adb.dismissKeyguard();
|
|
155
139
|
const keys = stringKeyToArr(String(capabilities.unlockKey));
|
|
156
140
|
const els = await this.findElOrEls('id', 'com.android.systemui:id/digit_text', true);
|
|
157
|
-
if (
|
|
141
|
+
if (util.isEmpty(els)) {
|
|
158
142
|
// fallback to pin with key event
|
|
159
143
|
return await pinUnlockWithKeyEvent.bind(this)(capabilities);
|
|
160
144
|
}
|
|
161
145
|
const pins = {};
|
|
162
146
|
for (const el of els) {
|
|
163
|
-
const text = await this.getAttribute('text',
|
|
147
|
+
const text = await this.getAttribute('text', util.unwrapElement(el));
|
|
164
148
|
if (text) {
|
|
165
149
|
pins[text] = el;
|
|
166
150
|
}
|
|
167
151
|
}
|
|
168
152
|
for (const pin of keys) {
|
|
169
153
|
const el = pins[pin];
|
|
170
|
-
await this.click(
|
|
154
|
+
await this.click(util.unwrapElement(el));
|
|
171
155
|
}
|
|
172
156
|
await waitForUnlock(this.adb);
|
|
173
157
|
}
|
|
@@ -176,7 +160,7 @@ async function pinUnlock(capabilities) {
|
|
|
176
160
|
*
|
|
177
161
|
* @param capabilities - Driver capabilities containing unlockKey
|
|
178
162
|
*/
|
|
179
|
-
async function pinUnlockWithKeyEvent(capabilities) {
|
|
163
|
+
export async function pinUnlockWithKeyEvent(capabilities) {
|
|
180
164
|
this.log.info(`Trying to unlock device using pin with keycode ${capabilities.unlockKey}`);
|
|
181
165
|
await this.adb.dismissKeyguard();
|
|
182
166
|
const keys = stringKeyToArr(String(capabilities.unlockKey));
|
|
@@ -194,7 +178,7 @@ async function pinUnlockWithKeyEvent(capabilities) {
|
|
|
194
178
|
*
|
|
195
179
|
* @param capabilities - Driver capabilities containing unlockKey
|
|
196
180
|
*/
|
|
197
|
-
async function passwordUnlock(capabilities) {
|
|
181
|
+
export async function passwordUnlock(capabilities) {
|
|
198
182
|
const { unlockKey } = capabilities;
|
|
199
183
|
this.log.info(`Trying to unlock device using password ${unlockKey}`);
|
|
200
184
|
await this.adb.dismissKeyguard();
|
|
@@ -203,8 +187,8 @@ async function passwordUnlock(capabilities) {
|
|
|
203
187
|
// Why adb ? It was less flaky
|
|
204
188
|
await this.adb.shell(['input', 'text', key]);
|
|
205
189
|
// Why sleeps ? Avoid some flakyness waiting for the input to receive the keys
|
|
206
|
-
await
|
|
207
|
-
await this.adb.shell(['input', 'keyevent', String(
|
|
190
|
+
await sleep(INPUT_KEYS_WAIT_TIME);
|
|
191
|
+
await this.adb.shell(['input', 'keyevent', String(KEYCODE_NUMPAD_ENTER)]);
|
|
208
192
|
// Waits a bit for the device to be unlocked
|
|
209
193
|
await waitForUnlock(this.adb);
|
|
210
194
|
}
|
|
@@ -216,7 +200,7 @@ async function passwordUnlock(capabilities) {
|
|
|
216
200
|
* @param piece - The size of each pattern piece
|
|
217
201
|
* @returns The calculated position for the key
|
|
218
202
|
*/
|
|
219
|
-
function getPatternKeyPosition(key, initPos, piece) {
|
|
203
|
+
export function getPatternKeyPosition(key, initPos, piece) {
|
|
220
204
|
/*
|
|
221
205
|
How the math works:
|
|
222
206
|
We have 9 buttons divided in 3 columns and 3 rows inside the lockPatternView,
|
|
@@ -240,7 +224,7 @@ function getPatternKeyPosition(key, initPos, piece) {
|
|
|
240
224
|
* @param piece - The size of each pattern piece
|
|
241
225
|
* @returns An array of W3C action objects for pattern unlock
|
|
242
226
|
*/
|
|
243
|
-
function getPatternActions(keys, initPos, piece) {
|
|
227
|
+
export function getPatternActions(keys, initPos, piece) {
|
|
244
228
|
// https://www.w3.org/TR/webdriver2/#actions
|
|
245
229
|
const pointerActions = [];
|
|
246
230
|
const intKeys = keys.map((key) => (typeof key === 'string' ? parseInt(key, 10) : key));
|
|
@@ -305,9 +289,9 @@ function getPatternActions(keys, initPos, piece) {
|
|
|
305
289
|
* @param timeoutMs - Optional timeout in milliseconds (default: 2000)
|
|
306
290
|
* @throws {Error} If the device fails to unlock within the timeout
|
|
307
291
|
*/
|
|
308
|
-
async function verifyUnlock(timeoutMs = null) {
|
|
292
|
+
export async function verifyUnlock(timeoutMs = null) {
|
|
309
293
|
try {
|
|
310
|
-
await
|
|
294
|
+
await waitForCondition(async () => !(await this.adb.isScreenLocked()), {
|
|
311
295
|
waitMs: timeoutMs ?? 2000,
|
|
312
296
|
intervalMs: 500,
|
|
313
297
|
});
|
|
@@ -322,7 +306,7 @@ async function verifyUnlock(timeoutMs = null) {
|
|
|
322
306
|
*
|
|
323
307
|
* @param capabilities - Driver capabilities containing unlockKey
|
|
324
308
|
*/
|
|
325
|
-
async function patternUnlock(capabilities) {
|
|
309
|
+
export async function patternUnlock(capabilities) {
|
|
326
310
|
const { unlockKey } = capabilities;
|
|
327
311
|
this.log.info(`Trying to unlock device using pattern ${unlockKey}`);
|
|
328
312
|
await this.adb.dismissKeyguard();
|
|
@@ -338,14 +322,14 @@ async function patternUnlock(capabilities) {
|
|
|
338
322
|
*/
|
|
339
323
|
const apiLevel = await this.adb.getApiLevel();
|
|
340
324
|
const el = await this.findElOrEls('id', `com.android.${apiLevel >= 21 ? 'systemui' : 'keyguard'}:id/lockPatternView`, false);
|
|
341
|
-
const initPos = await this.getLocation(
|
|
342
|
-
const size = await this.getSize(
|
|
325
|
+
const initPos = await this.getLocation(util.unwrapElement(el));
|
|
326
|
+
const size = await this.getSize(util.unwrapElement(el));
|
|
343
327
|
// Get actions to perform
|
|
344
328
|
const actions = getPatternActions(keys, initPos, size.width / 3);
|
|
345
329
|
// Perform gesture
|
|
346
330
|
await this.performActions(actions);
|
|
347
331
|
// Waits a bit for the device to be unlocked
|
|
348
|
-
await
|
|
332
|
+
await sleep(UNLOCK_WAIT_TIME);
|
|
349
333
|
}
|
|
350
334
|
// #region Private Functions
|
|
351
335
|
/**
|
|
@@ -365,12 +349,12 @@ function isNonEmptyString(value) {
|
|
|
365
349
|
* @param adb - The instance of ADB
|
|
366
350
|
*/
|
|
367
351
|
async function waitForUnlock(adb) {
|
|
368
|
-
await
|
|
352
|
+
await sleep(UNLOCK_WAIT_TIME);
|
|
369
353
|
if (!(await adb.isScreenLocked())) {
|
|
370
354
|
return;
|
|
371
355
|
}
|
|
372
|
-
await adb.keyevent(
|
|
373
|
-
await
|
|
356
|
+
await adb.keyevent(KEYCODE_NUMPAD_ENTER);
|
|
357
|
+
await sleep(UNLOCK_WAIT_TIME);
|
|
374
358
|
}
|
|
375
359
|
// #endregion
|
|
376
360
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../lib/commands/lock/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../lib/commands/lock/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EventEmitter } from 'node:events';
|
|
2
|
-
import { type LogEntry } from '../utils';
|
|
3
|
-
import type { AndroidDriver } from '../driver';
|
|
2
|
+
import { type LogEntry } from '../utils.js';
|
|
3
|
+
import type { AndroidDriver } from '../driver.js';
|
|
4
4
|
export declare const supportedLogTypes: {
|
|
5
5
|
readonly logcat: {
|
|
6
6
|
readonly description: "Logs for Android applications on real device and emulators via ADB";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../lib/commands/log.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAG9C,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../lib/commands/log.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAG9C,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,iBAAiB;;;gCAGX,aAAa;;;;gCAIP,aAAa;;;;gCAQnB,aAAa;;CAKtB,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DjF;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhF;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,YAAY,EAC3D,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,sBAAsB,GACjC,CAAC,EAAE,EAAE,WAAW,CAAC,CAQnB;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAO/E;AAeD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC;CAC9C;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,GAAG,CAAC"}
|