appium-android-driver 13.3.2 → 13.3.4
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 +12 -0
- package/build/lib/commands/app-management.d.ts.map +1 -1
- package/build/lib/commands/app-management.js +13 -12
- package/build/lib/commands/app-management.js.map +1 -1
- package/build/lib/commands/bidi/models.d.ts.map +1 -1
- package/build/lib/commands/bidi/models.js +1 -5
- package/build/lib/commands/bidi/models.js.map +1 -1
- package/build/lib/commands/bluetooth.d.ts.map +1 -1
- package/build/lib/commands/bluetooth.js +1 -5
- package/build/lib/commands/bluetooth.js.map +1 -1
- package/build/lib/commands/context/exports.d.ts.map +1 -1
- package/build/lib/commands/context/exports.js +11 -15
- package/build/lib/commands/context/exports.js.map +1 -1
- package/build/lib/commands/context/helpers.d.ts.map +1 -1
- package/build/lib/commands/context/helpers.js +43 -22
- package/build/lib/commands/context/helpers.js.map +1 -1
- package/build/lib/commands/device/common.d.ts.map +1 -1
- package/build/lib/commands/device/common.js +9 -8
- package/build/lib/commands/device/common.js.map +1 -1
- package/build/lib/commands/device/utils.d.ts.map +1 -1
- package/build/lib/commands/device/utils.js +2 -6
- package/build/lib/commands/device/utils.js.map +1 -1
- package/build/lib/commands/deviceidle.d.ts.map +1 -1
- package/build/lib/commands/deviceidle.js +2 -6
- package/build/lib/commands/deviceidle.js.map +1 -1
- package/build/lib/commands/execute.d.ts.map +1 -1
- package/build/lib/commands/execute.js +2 -6
- package/build/lib/commands/execute.js.map +1 -1
- package/build/lib/commands/file-actions.d.ts.map +1 -1
- package/build/lib/commands/file-actions.js +2 -3
- package/build/lib/commands/file-actions.js.map +1 -1
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js +4 -7
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/geolocation.d.ts.map +1 -1
- package/build/lib/commands/geolocation.js +3 -4
- package/build/lib/commands/geolocation.js.map +1 -1
- package/build/lib/commands/image-injection.d.ts.map +1 -1
- package/build/lib/commands/image-injection.js +1 -2
- package/build/lib/commands/image-injection.js.map +1 -1
- package/build/lib/commands/intent.d.ts.map +1 -1
- package/build/lib/commands/intent.js +14 -18
- package/build/lib/commands/intent.js.map +1 -1
- package/build/lib/commands/keyboard.d.ts.map +1 -1
- package/build/lib/commands/keyboard.js +6 -6
- package/build/lib/commands/keyboard.js.map +1 -1
- package/build/lib/commands/lock/exports.d.ts.map +1 -1
- package/build/lib/commands/lock/exports.js +1 -5
- package/build/lib/commands/lock/exports.js.map +1 -1
- package/build/lib/commands/lock/helpers.d.ts.map +1 -1
- package/build/lib/commands/lock/helpers.js +5 -9
- package/build/lib/commands/lock/helpers.js.map +1 -1
- package/build/lib/commands/log.d.ts.map +1 -1
- package/build/lib/commands/log.js +9 -9
- package/build/lib/commands/log.js.map +1 -1
- package/build/lib/commands/media-projection.d.ts.map +1 -1
- package/build/lib/commands/media-projection.js +3 -4
- package/build/lib/commands/media-projection.js.map +1 -1
- package/build/lib/commands/network.d.ts.map +1 -1
- package/build/lib/commands/network.js +12 -16
- package/build/lib/commands/network.js.map +1 -1
- package/build/lib/commands/nfc.d.ts.map +1 -1
- package/build/lib/commands/nfc.js +1 -5
- package/build/lib/commands/nfc.js.map +1 -1
- package/build/lib/commands/performance.d.ts.map +1 -1
- package/build/lib/commands/performance.js +7 -12
- package/build/lib/commands/performance.js.map +1 -1
- package/build/lib/commands/permissions.d.ts.map +1 -1
- package/build/lib/commands/permissions.js +21 -23
- package/build/lib/commands/permissions.js.map +1 -1
- package/build/lib/commands/recordscreen.d.ts.map +1 -1
- package/build/lib/commands/recordscreen.js +10 -11
- package/build/lib/commands/recordscreen.js.map +1 -1
- package/build/lib/commands/resources.d.ts.map +1 -1
- package/build/lib/commands/resources.js +6 -10
- package/build/lib/commands/resources.js.map +1 -1
- package/build/lib/commands/shell.d.ts.map +1 -1
- package/build/lib/commands/shell.js +7 -6
- package/build/lib/commands/shell.js.map +1 -1
- package/build/lib/commands/streamscreen.d.ts.map +1 -1
- package/build/lib/commands/streamscreen.js +14 -15
- package/build/lib/commands/streamscreen.js.map +1 -1
- package/build/lib/commands/system-bars.d.ts.map +1 -1
- package/build/lib/commands/system-bars.js +19 -21
- package/build/lib/commands/system-bars.js.map +1 -1
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +2 -6
- package/build/lib/driver.js.map +1 -1
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +9 -12
- package/build/lib/utils.js.map +1 -1
- package/lib/commands/app-management.ts +19 -9
- package/lib/commands/bidi/models.ts +1 -2
- package/lib/commands/bluetooth.ts +1 -2
- package/lib/commands/context/exports.ts +12 -14
- package/lib/commands/context/helpers.ts +47 -22
- package/lib/commands/device/common.ts +10 -8
- package/lib/commands/device/utils.ts +2 -3
- package/lib/commands/deviceidle.ts +2 -3
- package/lib/commands/execute.ts +2 -3
- package/lib/commands/file-actions.ts +2 -3
- package/lib/commands/find.ts +4 -5
- package/lib/commands/geolocation.ts +3 -4
- package/lib/commands/image-injection.ts +1 -2
- package/lib/commands/intent.ts +14 -15
- package/lib/commands/keyboard.ts +6 -3
- package/lib/commands/lock/exports.ts +1 -2
- package/lib/commands/lock/helpers.ts +5 -6
- package/lib/commands/log.ts +9 -9
- package/lib/commands/media-projection.ts +3 -4
- package/lib/commands/network.ts +12 -13
- package/lib/commands/nfc.ts +1 -2
- package/lib/commands/performance.ts +7 -11
- package/lib/commands/permissions.ts +23 -20
- package/lib/commands/recordscreen.ts +10 -11
- package/lib/commands/resources.ts +7 -8
- package/lib/commands/shell.ts +7 -3
- package/lib/commands/streamscreen.ts +14 -16
- package/lib/commands/system-bars.ts +20 -20
- package/lib/driver.ts +2 -4
- package/lib/utils.ts +9 -9
- package/package.json +2 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
|
package/build/lib/driver.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.AndroidDriver = void 0;
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
4
|
const driver_1 = require("appium/driver");
|
|
9
5
|
const constraints_1 = require("./constraints");
|
|
10
6
|
const method_map_1 = require("./method-map");
|
|
@@ -252,7 +248,7 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
252
248
|
'accessibility id',
|
|
253
249
|
'-android uiautomator',
|
|
254
250
|
];
|
|
255
|
-
this.desiredCapConstraints =
|
|
251
|
+
this.desiredCapConstraints = structuredClone(constraints_1.ANDROID_DRIVER_CONSTRAINTS);
|
|
256
252
|
this.sessionChromedrivers = {};
|
|
257
253
|
this.jwpProxyActive = false;
|
|
258
254
|
this.curContext = this.defaultContextName();
|
|
@@ -269,7 +265,7 @@ class AndroidDriver extends driver_1.BaseDriver {
|
|
|
269
265
|
return this._settingsApp;
|
|
270
266
|
}
|
|
271
267
|
get isChromeSession() {
|
|
272
|
-
return
|
|
268
|
+
return Object.keys(helpers_1.CHROME_BROWSER_PACKAGE_ACTIVITY).includes((this.opts.browserName || '').toLowerCase());
|
|
273
269
|
}
|
|
274
270
|
isEmulator() {
|
|
275
271
|
const possibleNames = [this.opts?.udid, this.adb?.curDeviceId];
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
|
package/build/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAG5C,YAAY,EAAC,QAAQ,EAAC,CAAC;AAEvB,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,8BAA8B,2BAA2B,CAAC;AACvE,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AACzD,eAAO,MAAM,8BAA8B,2BAA2B,CAAC;AAGvE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAOrB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAa3D;AAED;;;GAGG;AACH,wBAAsB,iCAAiC,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAS1F;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,kBAAkB,GAAG,QAAQ,CAG7E;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAc,GAAG,QAAQ,CAM/F"}
|
package/build/lib/utils.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.SET_STYLUS_HANDWRITING_FEATURE = exports.GET_SERVER_LOGS_FEATURE = exports.ADB_LISTEN_ALL_NETWORK_FEATURE = exports.ADB_SHELL_FEATURE = void 0;
|
|
7
4
|
exports.requireArgs = requireArgs;
|
|
@@ -9,8 +6,8 @@ exports.parseArray = parseArray;
|
|
|
9
6
|
exports.removeAllSessionWebSocketHandlers = removeAllSessionWebSocketHandlers;
|
|
10
7
|
exports.nativeLogEntryToSeleniumEntry = nativeLogEntryToSeleniumEntry;
|
|
11
8
|
exports.toLogRecord = toLogRecord;
|
|
12
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
13
9
|
const driver_1 = require("appium/driver");
|
|
10
|
+
const support_1 = require("@appium/support");
|
|
14
11
|
exports.ADB_SHELL_FEATURE = 'adb_shell';
|
|
15
12
|
exports.ADB_LISTEN_ALL_NETWORK_FEATURE = 'adb_listen_all_network';
|
|
16
13
|
exports.GET_SERVER_LOGS_FEATURE = 'get_server_logs';
|
|
@@ -24,8 +21,8 @@ const COLOR_CODE_PATTERN = /\u001b\[(\d+(;\d+)*)?m/g; // eslint-disable-line no-
|
|
|
24
21
|
* @returns the same given object
|
|
25
22
|
*/
|
|
26
23
|
function requireArgs(argNames, opts) {
|
|
27
|
-
for (const argName of
|
|
28
|
-
if (
|
|
24
|
+
for (const argName of Array.isArray(argNames) ? argNames : [argNames]) {
|
|
25
|
+
if (support_1.util.isPlainObject(opts) && !Object.hasOwn(opts, argName)) {
|
|
29
26
|
throw new driver_1.errors.InvalidArgumentError(`'${argName}' argument must be provided`);
|
|
30
27
|
}
|
|
31
28
|
}
|
|
@@ -42,10 +39,10 @@ function parseArray(cap) {
|
|
|
42
39
|
parsedCaps = JSON.parse(cap);
|
|
43
40
|
}
|
|
44
41
|
catch { }
|
|
45
|
-
if (
|
|
42
|
+
if (Array.isArray(parsedCaps)) {
|
|
46
43
|
return parsedCaps;
|
|
47
44
|
}
|
|
48
|
-
else if (
|
|
45
|
+
else if (typeof cap === 'string') {
|
|
49
46
|
return [cap];
|
|
50
47
|
}
|
|
51
48
|
throw new Error(`must provide a string or JSON Array; received ${cap}`);
|
|
@@ -55,11 +52,11 @@ function parseArray(cap) {
|
|
|
55
52
|
* @returns
|
|
56
53
|
*/
|
|
57
54
|
async function removeAllSessionWebSocketHandlers() {
|
|
58
|
-
if (!this.sessionId ||
|
|
55
|
+
if (!this.sessionId || typeof this.server?.getWebSocketHandlers !== 'function') {
|
|
59
56
|
return;
|
|
60
57
|
}
|
|
61
58
|
const activeHandlers = await this.server.getWebSocketHandlers(this.sessionId);
|
|
62
|
-
for (const pathname of
|
|
59
|
+
for (const pathname of Object.keys(activeHandlers)) {
|
|
63
60
|
await this.server.removeWebSocketHandler(pathname);
|
|
64
61
|
}
|
|
65
62
|
}
|
|
@@ -69,8 +66,8 @@ async function removeAllSessionWebSocketHandlers() {
|
|
|
69
66
|
* @returns
|
|
70
67
|
*/
|
|
71
68
|
function nativeLogEntryToSeleniumEntry(x) {
|
|
72
|
-
const msg =
|
|
73
|
-
return toLogRecord(x.timestamp ?? Date.now(),
|
|
69
|
+
const msg = support_1.util.isEmpty(x.prefix) ? x.message : `[${x.prefix}] ${x.message}`;
|
|
70
|
+
return toLogRecord(x.timestamp ?? Date.now(), msg.replace(COLOR_CODE_PATTERN, ''));
|
|
74
71
|
}
|
|
75
72
|
/**
|
|
76
73
|
*
|
package/build/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":";;;AA2BA,kCAUC;AAOD,gCAaC;AAMD,8EASC;AAOD,sEAGC;AAUD,kCAMC;AAlGD,0CAAqC;AAGrC,6CAAqC;AAIxB,QAAA,iBAAiB,GAAG,WAAW,CAAC;AAChC,QAAA,8BAA8B,GAAG,wBAAwB,CAAC;AAC1D,QAAA,uBAAuB,GAAG,iBAAiB,CAAC;AAC5C,QAAA,8BAA8B,GAAG,wBAAwB,CAAC;AACvE,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,CAAC,uCAAuC;AAS7F;;;;;;GAMG;AACH,SAAgB,WAAW,CACzB,QAA2B,EAC3B,IAAyB;IAEzB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtE,IAAI,cAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,IAAI,OAAO,6BAA6B,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,GAAsB;IAC/C,IAAI,UAAU,CAAC;IACf,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAa,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC;IACpB,CAAC;SAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,iCAAiC;IACrD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,oBAAoB,KAAK,UAAU,EAAE,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9E,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,6BAA6B,CAAC,CAAqB;IACjE,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9E,OAAO,WAAW,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,SAAiB,EAAE,OAAe,EAAE,QAAgB,KAAK;IACnF,OAAO;QACL,SAAS;QACT,KAAK,EAAE,KAAY;QACnB,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import {util} from '@appium/support';
|
|
2
2
|
import {waitForCondition, longSleep} from 'asyncbox';
|
|
3
|
-
import _ from 'lodash';
|
|
4
3
|
import {EOL} from 'node:os';
|
|
5
4
|
import type {AndroidDriver, AndroidDriverOpts} from '../driver';
|
|
6
5
|
import type {AppInfoMap, AppState, IsAppInstalledOptions, TerminateAppOpts} from './types';
|
|
@@ -107,7 +106,7 @@ export async function queryAppState(this: AndroidDriver, appId: string): Promise
|
|
|
107
106
|
if (!(await this.adb.isAppRunning(appId))) {
|
|
108
107
|
return APP_STATE.NOT_RUNNING;
|
|
109
108
|
}
|
|
110
|
-
const appIdRe = new RegExp(`\\b${
|
|
109
|
+
const appIdRe = new RegExp(`\\b${util.escapeRegExp(appId)}/`);
|
|
111
110
|
for (const line of (await this.adb.dumpWindows()).split('\n')) {
|
|
112
111
|
if (appIdRe.test(line) && ['mCurrentFocus', 'mFocusedApp'].some((x) => line.includes(x))) {
|
|
113
112
|
return APP_STATE.RUNNING_IN_FOREGROUND;
|
|
@@ -184,7 +183,7 @@ export async function terminateApp(
|
|
|
184
183
|
): Promise<boolean> {
|
|
185
184
|
this.log.info(`Terminating '${appId}'`);
|
|
186
185
|
const pids = await this.adb.listAppProcessIds(appId);
|
|
187
|
-
if (
|
|
186
|
+
if (util.isEmpty(pids)) {
|
|
188
187
|
this.log.info(`The app '${appId}' is not running`);
|
|
189
188
|
return false;
|
|
190
189
|
}
|
|
@@ -210,7 +209,11 @@ export async function terminateApp(
|
|
|
210
209
|
return true;
|
|
211
210
|
}
|
|
212
211
|
currentPids = await this.adb.listAppProcessIds(appId);
|
|
213
|
-
|
|
212
|
+
const currentPidsSet = new Set(currentPids);
|
|
213
|
+
if (
|
|
214
|
+
util.isEmpty(currentPids) ||
|
|
215
|
+
util.isEmpty(pids.filter((pid) => currentPidsSet.has(pid)))
|
|
216
|
+
) {
|
|
214
217
|
this.log.info(
|
|
215
218
|
`The application '${appId}' was reported running, ` +
|
|
216
219
|
`although all process ids belonging to it have been changed: ` +
|
|
@@ -227,7 +230,11 @@ export async function terminateApp(
|
|
|
227
230
|
},
|
|
228
231
|
);
|
|
229
232
|
} catch {
|
|
230
|
-
|
|
233
|
+
const currentPidsSet = new Set(currentPids);
|
|
234
|
+
if (
|
|
235
|
+
!util.isEmpty(currentPids) &&
|
|
236
|
+
!util.isEmpty(pids.filter((pid) => !currentPidsSet.has(pid)))
|
|
237
|
+
) {
|
|
231
238
|
this.log.warn(
|
|
232
239
|
`Some of processes belonging to the '${appId}' applcation are still running ` +
|
|
233
240
|
`after ${timeout}ms (${JSON.stringify(pids)} -> ${JSON.stringify(currentPids)})`,
|
|
@@ -384,7 +391,7 @@ export async function background(this: AndroidDriver, seconds: number): Promise<
|
|
|
384
391
|
const sleepMs = seconds * 1000;
|
|
385
392
|
const thresholdMs = 30 * 1000; // use the spin-wait for anything over this threshold
|
|
386
393
|
// for our spin interval, use 1% of the total wait time, but nothing bigger than 30s
|
|
387
|
-
const intervalMs =
|
|
394
|
+
const intervalMs = Math.min(30 * 1000, parseInt(String(sleepMs / 100), 10)) || 1000;
|
|
388
395
|
const progressCb = ({elapsedMs, progress}: {elapsedMs: number; progress: number}) => {
|
|
389
396
|
const waitSecs = (elapsedMs / 1000).toFixed(0);
|
|
390
397
|
const progressPct = (progress * 100).toFixed(2);
|
|
@@ -430,7 +437,9 @@ export async function background(this: AndroidDriver, seconds: number): Promise<
|
|
|
430
437
|
stopApp: false,
|
|
431
438
|
};
|
|
432
439
|
}
|
|
433
|
-
args =
|
|
440
|
+
args = Object.fromEntries(
|
|
441
|
+
Object.entries(args).filter(([, value]) => value !== undefined),
|
|
442
|
+
) as StartAppOptions;
|
|
434
443
|
this.log.debug(`Bringing application back to foreground with arguments: ${JSON.stringify(args)}`);
|
|
435
444
|
return await this.adb.startApp(args);
|
|
436
445
|
}
|
|
@@ -487,7 +496,7 @@ export async function resetAUT(
|
|
|
487
496
|
// fullReset has priority over fastReset
|
|
488
497
|
if (!fullReset && fastReset) {
|
|
489
498
|
const output = await this.adb.clear(appPackage);
|
|
490
|
-
if (
|
|
499
|
+
if (typeof output === 'string' && output.toLowerCase().includes('failed')) {
|
|
491
500
|
throw new Error(
|
|
492
501
|
`Cannot clear the application data of '${appPackage}'. Original error: ${output}`,
|
|
493
502
|
);
|
|
@@ -648,6 +657,7 @@ export async function getThirdPartyPackages(
|
|
|
648
657
|
this: AndroidDriver,
|
|
649
658
|
filterPackages: string[] = [],
|
|
650
659
|
): Promise<string[]> {
|
|
660
|
+
const filterPackagesSet = new Set(filterPackages);
|
|
651
661
|
try {
|
|
652
662
|
const packagesString = await this.adb.shell(['pm', 'list', 'packages', '-3']);
|
|
653
663
|
const appPackagesArray = packagesString
|
|
@@ -655,7 +665,7 @@ export async function getThirdPartyPackages(
|
|
|
655
665
|
.replace(/package:/g, '')
|
|
656
666
|
.split(EOL);
|
|
657
667
|
this.log.debug(`'${appPackagesArray}' filtered with '${filterPackages}'`);
|
|
658
|
-
return
|
|
668
|
+
return appPackagesArray.filter((pkg) => !filterPackagesSet.has(pkg));
|
|
659
669
|
} catch (err) {
|
|
660
670
|
const error = err as Error;
|
|
661
671
|
this.log.warn(`Unable to get packages with 'adb shell pm list packages -3': ${error.message}`);
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
CONTEXT_UPDATED_EVENT_OBSOLETE,
|
|
7
7
|
} from './constants';
|
|
8
8
|
import type {LogEntry} from 'appium-adb';
|
|
9
|
-
import _ from 'lodash';
|
|
10
9
|
|
|
11
10
|
function toContextUpdatedEvent(method: string, contextName: string): ContextUpdatedEvent {
|
|
12
11
|
return {
|
|
@@ -56,7 +55,7 @@ export function makeLogEntryAddedEvent(
|
|
|
56
55
|
}
|
|
57
56
|
|
|
58
57
|
function adjustLogLevel(originalLevel: string): BiDiLogLevel {
|
|
59
|
-
const originalLevelLc =
|
|
58
|
+
const originalLevelLc = originalLevel?.toLowerCase();
|
|
60
59
|
switch (originalLevelLc) {
|
|
61
60
|
case 'debug':
|
|
62
61
|
case 'info':
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {errors} from 'appium/driver';
|
|
2
|
-
import _ from 'lodash';
|
|
3
2
|
import type {AndroidDriver} from '../driver';
|
|
4
3
|
|
|
5
4
|
const SUPPORTED_ACTIONS = {
|
|
@@ -32,7 +31,7 @@ export async function mobileBluetooth(this: AndroidDriver, action: BluetoothActi
|
|
|
32
31
|
break;
|
|
33
32
|
default:
|
|
34
33
|
throw new errors.InvalidArgumentError(
|
|
35
|
-
`You must provide a valid 'action' argument. Supported actions are: ${
|
|
34
|
+
`You must provide a valid 'action' argument. Supported actions are: ${Object.values(SUPPORTED_ACTIONS)}`,
|
|
36
35
|
);
|
|
37
36
|
}
|
|
38
37
|
}
|
|
@@ -2,7 +2,6 @@ import {util} from '@appium/support';
|
|
|
2
2
|
import {Chromedriver} from 'appium-chromedriver';
|
|
3
3
|
import {errors, PROTOCOLS} from 'appium/driver';
|
|
4
4
|
import type {StringRecord} from '@appium/types';
|
|
5
|
-
import _ from 'lodash';
|
|
6
5
|
import {
|
|
7
6
|
CHROMIUM_WIN,
|
|
8
7
|
KNOWN_CHROME_PACKAGE_NAMES,
|
|
@@ -69,7 +68,7 @@ export async function setContext(this: AndroidDriver, name?: string | null): Pro
|
|
|
69
68
|
const webviewsMapping = await getWebViewsMapping.bind(this)(this.opts);
|
|
70
69
|
const contexts = this.assignContexts(webviewsMapping);
|
|
71
70
|
// if the context we want doesn't exist, fail
|
|
72
|
-
if (!
|
|
71
|
+
if (!contexts?.includes(newContext)) {
|
|
73
72
|
throw new errors.NoSuchContextError();
|
|
74
73
|
}
|
|
75
74
|
|
|
@@ -243,7 +242,7 @@ export async function startChromedriverProxy(
|
|
|
243
242
|
await setupExistingChromedriver.bind(this)(cd, context);
|
|
244
243
|
} else {
|
|
245
244
|
// XXX: this suppresses errors about putting arbitrary stuff on opts
|
|
246
|
-
const opts =
|
|
245
|
+
const opts = structuredClone(this.opts) as any;
|
|
247
246
|
opts.chromeUseRunningApp = true;
|
|
248
247
|
|
|
249
248
|
// if requested, tell chromedriver to attach to the android package we have
|
|
@@ -258,7 +257,7 @@ export async function startChromedriverProxy(
|
|
|
258
257
|
}
|
|
259
258
|
if (!opts.extractChromeAndroidPackageFromContextName) {
|
|
260
259
|
if (
|
|
261
|
-
|
|
260
|
+
this.opts.enableWebviewDetailsCollection !== undefined &&
|
|
262
261
|
!this.opts.enableWebviewDetailsCollection
|
|
263
262
|
) {
|
|
264
263
|
// When enableWebviewDetailsCollection capability is explicitly disabled, try to identify
|
|
@@ -266,14 +265,13 @@ export async function startChromedriverProxy(
|
|
|
266
265
|
// since webviewsMapping does not have info object
|
|
267
266
|
const contexts = webviewsMapping.map((wm) => wm.webviewName);
|
|
268
267
|
for (const knownPackage of KNOWN_CHROME_PACKAGE_NAMES) {
|
|
269
|
-
if (
|
|
268
|
+
if (contexts?.includes(`${WEBVIEW_BASE}${knownPackage}`)) {
|
|
270
269
|
continue;
|
|
271
270
|
}
|
|
272
271
|
const appState = await this.queryAppState(knownPackage);
|
|
273
272
|
if (
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
appState,
|
|
273
|
+
[APP_STATE.RUNNING_IN_BACKGROUND, APP_STATE.RUNNING_IN_FOREGROUND].includes(
|
|
274
|
+
appState as any,
|
|
277
275
|
)
|
|
278
276
|
) {
|
|
279
277
|
opts.chromeAndroidPackage = knownPackage;
|
|
@@ -286,7 +284,7 @@ export async function startChromedriverProxy(
|
|
|
286
284
|
}
|
|
287
285
|
} else {
|
|
288
286
|
for (const wm of webviewsMapping) {
|
|
289
|
-
if (wm.webviewName === context &&
|
|
287
|
+
if (wm.webviewName === context && wm?.info?.['Android-Package'] !== undefined) {
|
|
290
288
|
// XXX: should be a type guard here
|
|
291
289
|
opts.chromeAndroidPackage = (wm.info as NonNullable<WebviewsMapping['info']>)[
|
|
292
290
|
'Android-Package'
|
|
@@ -367,7 +365,7 @@ export async function onChromedriverStop(this: AndroidDriver, context: string):
|
|
|
367
365
|
*/
|
|
368
366
|
export async function stopChromedriverProxies(this: AndroidDriver): Promise<void> {
|
|
369
367
|
this.suspendChromedriverProxy(); // make sure we turn off the proxy flag
|
|
370
|
-
for (const context of
|
|
368
|
+
for (const context of Object.keys(this.sessionChromedrivers)) {
|
|
371
369
|
const cd = this.sessionChromedrivers[context];
|
|
372
370
|
this.log.debug(`Stopping chromedriver for context ${context}`);
|
|
373
371
|
// stop listening for the stopped state event
|
|
@@ -388,7 +386,7 @@ export async function stopChromedriverProxies(this: AndroidDriver): Promise<void
|
|
|
388
386
|
* @returns True if the context is a Chromedriver context, false otherwise
|
|
389
387
|
*/
|
|
390
388
|
export function isChromedriverContext(this: AndroidDriver, viewName: string): boolean {
|
|
391
|
-
return
|
|
389
|
+
return viewName?.includes(WEBVIEW_WIN) || viewName === CHROMIUM_WIN;
|
|
392
390
|
}
|
|
393
391
|
|
|
394
392
|
/**
|
|
@@ -399,7 +397,7 @@ export async function notifyBiDiContextChange(this: AndroidDriver): Promise<void
|
|
|
399
397
|
const name = await this.getCurrentContext();
|
|
400
398
|
this.eventEmitter.emit(
|
|
401
399
|
BIDI_EVENT_NAME,
|
|
402
|
-
makeContextUpdatedEvent(
|
|
400
|
+
makeContextUpdatedEvent(String(this.opts.automationName)?.toLowerCase(), name),
|
|
403
401
|
);
|
|
404
402
|
this.eventEmitter.emit(BIDI_EVENT_NAME, makeObsoleteContextUpdatedEvent(name));
|
|
405
403
|
}
|
|
@@ -435,7 +433,7 @@ export async function mobileGetChromeCapabilities(this: AndroidDriver): Promise<
|
|
|
435
433
|
export async function startChromeSession(this: AndroidDriver): Promise<void> {
|
|
436
434
|
this.log.info('Starting a chrome-based browser session');
|
|
437
435
|
// XXX: this suppresses errors about putting arbitrary stuff on opts
|
|
438
|
-
const opts =
|
|
436
|
+
const opts = structuredClone(this.opts) as any;
|
|
439
437
|
|
|
440
438
|
const knownPackages = [
|
|
441
439
|
'org.chromium.chrome.shell',
|
|
@@ -445,7 +443,7 @@ export async function startChromeSession(this: AndroidDriver): Promise<void> {
|
|
|
445
443
|
'org.chromium.webview_shell',
|
|
446
444
|
];
|
|
447
445
|
|
|
448
|
-
if (
|
|
446
|
+
if (knownPackages?.includes(this.opts.appPackage as string)) {
|
|
449
447
|
opts.chromeBundleId = this.opts.appPackage;
|
|
450
448
|
} else {
|
|
451
449
|
opts.chromeAndroidActivity = this.opts.appActivity;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {util, timing} from '@appium/support';
|
|
2
|
-
import _ from 'lodash';
|
|
3
2
|
import axios from 'axios';
|
|
4
3
|
import net from 'node:net';
|
|
5
4
|
import {findAPortNotInUse} from 'portscanner';
|
|
@@ -166,7 +165,7 @@ export async function getWebViewsMapping(
|
|
|
166
165
|
this.log.debug(`Getting a list of available webviews`);
|
|
167
166
|
|
|
168
167
|
let waitMs = waitForWebviewMs;
|
|
169
|
-
if (!
|
|
168
|
+
if (!Number.isFinite(waitMs) || typeof waitMs !== 'number') {
|
|
170
169
|
waitMs = parseInt(`${waitMs}`, 10) || 0;
|
|
171
170
|
}
|
|
172
171
|
|
|
@@ -256,7 +255,7 @@ export async function setupNewChromedriver(
|
|
|
256
255
|
}
|
|
257
256
|
|
|
258
257
|
const details = context ? getWebviewDetails(this.adb, context) : undefined;
|
|
259
|
-
if (!
|
|
258
|
+
if (!util.isEmpty(details)) {
|
|
260
259
|
this.log.debug(
|
|
261
260
|
'Passing web view details to the Chromedriver constructor: ' +
|
|
262
261
|
JSON.stringify(details, null, 2),
|
|
@@ -264,7 +263,7 @@ export async function setupNewChromedriver(
|
|
|
264
263
|
}
|
|
265
264
|
|
|
266
265
|
const chromedriverOpts: ChromedriverOpts & {details?: WebViewDetails} = {
|
|
267
|
-
port:
|
|
266
|
+
port: opts.chromedriverPort == null ? undefined : String(opts.chromedriverPort),
|
|
268
267
|
executable: opts.chromedriverExecutable,
|
|
269
268
|
adb: this.adb,
|
|
270
269
|
cmdArgs: opts.chromedriverArgs as string[] | undefined,
|
|
@@ -285,10 +284,10 @@ export async function setupNewChromedriver(
|
|
|
285
284
|
opts.chromeOptions = opts.chromeOptions || {};
|
|
286
285
|
// try out any prefixed chromeOptions,
|
|
287
286
|
// and strip the prefix
|
|
288
|
-
for (const opt of
|
|
287
|
+
for (const opt of Object.keys(opts)) {
|
|
289
288
|
if (opt.endsWith(':chromeOptions')) {
|
|
290
289
|
this?.log?.warn(`Merging '${opt}' into 'chromeOptions'. This may cause unexpected behavior`);
|
|
291
|
-
|
|
290
|
+
merge(opts.chromeOptions, (opts as Record<string, any>)[opt]);
|
|
292
291
|
}
|
|
293
292
|
}
|
|
294
293
|
|
|
@@ -296,12 +295,12 @@ export async function setupNewChromedriver(
|
|
|
296
295
|
opts.chromeLoggingPrefs = opts.chromeLoggingPrefs ?? {};
|
|
297
296
|
|
|
298
297
|
// Strip the prefix and store it
|
|
299
|
-
for (const opt of
|
|
298
|
+
for (const opt of Object.keys(opts)) {
|
|
300
299
|
if (opt.endsWith(':loggingPrefs')) {
|
|
301
300
|
this.log.warn(
|
|
302
301
|
`Merging '${opt}' into 'chromeLoggingPrefs'. This may cause unexpected behavior`,
|
|
303
302
|
);
|
|
304
|
-
|
|
303
|
+
merge(opts.chromeLoggingPrefs, (opts as Record<string, any>)[opt]);
|
|
305
304
|
}
|
|
306
305
|
}
|
|
307
306
|
|
|
@@ -363,7 +362,7 @@ export async function setupExistingChromedriver<T extends Chromedriver>(
|
|
|
363
362
|
export function shouldDismissChromeWelcome(this: AndroidDriver): boolean {
|
|
364
363
|
return (
|
|
365
364
|
!!this.opts.chromeOptions &&
|
|
366
|
-
|
|
365
|
+
Array.isArray(this.opts.chromeOptions.args) &&
|
|
367
366
|
this.opts.chromeOptions.args.includes('--no-first-run')
|
|
368
367
|
);
|
|
369
368
|
}
|
|
@@ -462,7 +461,7 @@ function createChromedriverCaps(
|
|
|
462
461
|
|
|
463
462
|
caps.chromeOptions.androidPackage = androidPackage;
|
|
464
463
|
}
|
|
465
|
-
if (
|
|
464
|
+
if (typeof opts.chromeUseRunningApp === 'boolean') {
|
|
466
465
|
caps.chromeOptions.androidUseRunningApp = opts.chromeUseRunningApp;
|
|
467
466
|
}
|
|
468
467
|
if (opts.chromeAndroidPackage) {
|
|
@@ -476,14 +475,14 @@ function createChromedriverCaps(
|
|
|
476
475
|
} else if (webViewDetails?.process?.name && webViewDetails?.process?.id) {
|
|
477
476
|
caps.chromeOptions.androidProcess = webViewDetails.process.name;
|
|
478
477
|
}
|
|
479
|
-
if (
|
|
478
|
+
if (String(opts.browserName)?.toLowerCase() === 'chromium-webview') {
|
|
480
479
|
caps.chromeOptions.androidActivity = opts.appActivity;
|
|
481
480
|
}
|
|
482
481
|
if (opts.pageLoadStrategy) {
|
|
483
482
|
caps.pageLoadStrategy = opts.pageLoadStrategy;
|
|
484
483
|
}
|
|
485
|
-
const isChrome =
|
|
486
|
-
if (
|
|
484
|
+
const isChrome = String(caps.chromeOptions.androidPackage)?.toLowerCase() === 'chrome';
|
|
485
|
+
if (KNOWN_CHROME_PACKAGE_NAMES?.includes(caps.chromeOptions.androidPackage as any) || isChrome) {
|
|
487
486
|
// if we have extracted package from context name, it could come in as bare
|
|
488
487
|
// "chrome", and so we should make sure the details are correct, including
|
|
489
488
|
// not using an activity or process id
|
|
@@ -496,7 +495,7 @@ function createChromedriverCaps(
|
|
|
496
495
|
// add device id from adb
|
|
497
496
|
caps.chromeOptions.androidDeviceSerial = deviceId;
|
|
498
497
|
|
|
499
|
-
if (
|
|
498
|
+
if (util.isPlainObject(opts.loggingPrefs) || util.isPlainObject(opts.chromeLoggingPrefs)) {
|
|
500
499
|
if (opts.loggingPrefs) {
|
|
501
500
|
this.log.warn(
|
|
502
501
|
`The 'loggingPrefs' cap is deprecated; use the 'chromeLoggingPrefs' cap instead`,
|
|
@@ -520,7 +519,7 @@ function createChromedriverCaps(
|
|
|
520
519
|
delete opts.chromeOptions.Arguments;
|
|
521
520
|
}
|
|
522
521
|
|
|
523
|
-
if (opts.webSocketUrl &&
|
|
522
|
+
if (opts.webSocketUrl && caps.webSocketUrl == null && this.opts.chromedriverForwardBiDi) {
|
|
524
523
|
caps.webSocketUrl = opts.webSocketUrl;
|
|
525
524
|
}
|
|
526
525
|
|
|
@@ -529,14 +528,14 @@ function createChromedriverCaps(
|
|
|
529
528
|
);
|
|
530
529
|
|
|
531
530
|
const protectedCapNames: string[] = [];
|
|
532
|
-
for (const [opt, val] of
|
|
533
|
-
if (
|
|
531
|
+
for (const [opt, val] of Object.entries(opts.chromeOptions)) {
|
|
532
|
+
if (caps.chromeOptions[opt] === undefined) {
|
|
534
533
|
caps.chromeOptions[opt] = val;
|
|
535
534
|
} else {
|
|
536
535
|
protectedCapNames.push(opt);
|
|
537
536
|
}
|
|
538
537
|
}
|
|
539
|
-
if (!
|
|
538
|
+
if (!util.isEmpty(protectedCapNames)) {
|
|
540
539
|
this.log.info(
|
|
541
540
|
'The following Chromedriver capabilities cannot be overridden ' +
|
|
542
541
|
'by the provided chromeOptions:',
|
|
@@ -613,7 +612,7 @@ async function collectWebviewsDetails(
|
|
|
613
612
|
webviewsMapping: WebviewProps[],
|
|
614
613
|
opts: DetailCollectionOptions = {},
|
|
615
614
|
): Promise<void> {
|
|
616
|
-
if (
|
|
615
|
+
if (util.isEmpty(webviewsMapping)) {
|
|
617
616
|
return;
|
|
618
617
|
}
|
|
619
618
|
|
|
@@ -729,9 +728,9 @@ async function getPotentialWebviewProcs(this: AndroidDriver): Promise<string[]>
|
|
|
729
728
|
|
|
730
729
|
names.push(sockPath);
|
|
731
730
|
}
|
|
732
|
-
if (
|
|
731
|
+
if (util.isEmpty(names)) {
|
|
733
732
|
this.log.debug('Found no active devtools sockets');
|
|
734
|
-
if (!
|
|
733
|
+
if (!util.isEmpty(allMatches)) {
|
|
735
734
|
this.log.debug(`Other sockets are: ${JSON.stringify(allMatches, null, 2)}`);
|
|
736
735
|
}
|
|
737
736
|
} else {
|
|
@@ -741,7 +740,7 @@ async function getPotentialWebviewProcs(this: AndroidDriver): Promise<string[]>
|
|
|
741
740
|
);
|
|
742
741
|
}
|
|
743
742
|
// sometimes the webview process shows up multiple times per app
|
|
744
|
-
return
|
|
743
|
+
return util.uniq(names);
|
|
745
744
|
}
|
|
746
745
|
|
|
747
746
|
/**
|
|
@@ -879,4 +878,30 @@ function isCompatibleCdpHost(host: string): boolean {
|
|
|
879
878
|
);
|
|
880
879
|
}
|
|
881
880
|
|
|
881
|
+
function merge<T extends Record<string, any>>(target: T, source: any): T {
|
|
882
|
+
if (!util.isPlainObject(source)) {
|
|
883
|
+
return target;
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
for (const key of Object.keys(source)) {
|
|
887
|
+
// Prevent prototype pollution when merging untrusted capability objects
|
|
888
|
+
if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
|
|
889
|
+
continue;
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
const sourceValue = (source as Record<string, any>)[key];
|
|
893
|
+
|
|
894
|
+
if (util.isPlainObject(sourceValue)) {
|
|
895
|
+
if (!util.isPlainObject((target as Record<string, any>)[key])) {
|
|
896
|
+
(target as Record<string, any>)[key] = {};
|
|
897
|
+
}
|
|
898
|
+
merge((target as any)[key], sourceValue);
|
|
899
|
+
} else {
|
|
900
|
+
(target as Record<string, any>)[key] = sourceValue;
|
|
901
|
+
}
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
return target;
|
|
905
|
+
}
|
|
906
|
+
|
|
882
907
|
// #endregion
|