appium-android-driver 5.14.1 → 5.14.2
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
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [5.14.2](https://github.com/appium/appium-android-driver/compare/v5.14.1...v5.14.2) (2023-08-14)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* relax webview matching logic of devtools_remote ([#836](https://github.com/appium/appium-android-driver/issues/836)) ([7c52b81](https://github.com/appium/appium-android-driver/commit/7c52b8197279df2cfa0e9bfa402de9db74704175))
|
|
7
|
+
|
|
1
8
|
## [5.14.1](https://github.com/appium/appium-android-driver/compare/v5.14.0...v5.14.1) (2023-08-14)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -176,7 +176,7 @@ export namespace helpers {
|
|
|
176
176
|
*
|
|
177
177
|
* @return {Array<WebviewsMapping>} webviewsMapping
|
|
178
178
|
*/
|
|
179
|
-
function getWebViewsMapping(adb: any, { androidDeviceSocket, ensureWebviewsHavePages, webviewDevtoolsPort, enableWebviewDetailsCollection }?: GetWebviewsOpts): WebviewsMapping[];
|
|
179
|
+
function getWebViewsMapping(adb: any, { androidDeviceSocket, ensureWebviewsHavePages, webviewDevtoolsPort, enableWebviewDetailsCollection, }?: GetWebviewsOpts): WebviewsMapping[];
|
|
180
180
|
/**
|
|
181
181
|
* @typedef {Object} ProcessInfo
|
|
182
182
|
* @property {string} name The process name
|
|
@@ -220,4 +220,5 @@ export const WEBVIEW_WIN: "WEBVIEW";
|
|
|
220
220
|
export const WEBVIEW_BASE: string;
|
|
221
221
|
export const CHROMIUM_WIN: "CHROMIUM";
|
|
222
222
|
export const KNOWN_CHROME_PACKAGE_NAMES: string[];
|
|
223
|
+
export const DEVTOOLS_SOCKET_PATTERN: RegExp;
|
|
223
224
|
//# sourceMappingURL=webview-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webview-helpers.d.ts","sourceRoot":"","sources":["../../lib/webview-helpers.js"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"webview-helpers.d.ts","sourceRoot":"","sources":["../../lib/webview-helpers.js"],"names":[],"mappings":";;;;;;UA4Fc,MAAM;;;;aAEN,MAAM;;;;;;UA+FN,MAAM;;;;;aACN,MAAM;;;;;;;;;;WAIL,UAAa;;;;;;;0BAMb,MAAM,GAAC,MAAM;;;;;6BAEb,OAAO;;;;;;oCAER,OAAO;;;;;;yBAoKP,MAAM;;;;;6BACN,OAAO;;;;;yBAEP,MAAM;;;;;;oCAEN,OAAO;;;;;;UAOP,MAAM;;;;aACN,MAAM;;;;;;;;WAEL,UAAa;;;;;;UA6Ed,MAAM;;;;QACL,MAAM;;;;;;aAKN,WAAW;;;;;;;;;;;;;;;IAhK1B;;;;;;;;;;;OAWG;IACH,4DAYC;IAED;;;;;;OAMG;IACH,yIAyBC;IAED;;;;;;;;;;OAUG;IAEH;;;;;;;OAOG;IAEH;;;;;;;;;;;;;;;;;OAiBG;IACH,mLAmDC;IAED;;;;OAIG;IAEH;;;;;;;;;;;;OAYG;IAEH;;;;;;OAMG;IACH,6EAGC;IAED;;;;;;;;;OASG;IACH,yGA0FC;;AApkBD,sCAAgC;AAChC,oCAA8B;AAE9B,kCAAuC;AADvC,sCAAgC;AAQhC,kDAKE;AATF,6CAA8E"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.KNOWN_CHROME_PACKAGE_NAMES = exports.CHROMIUM_WIN = exports.WEBVIEW_BASE = exports.WEBVIEW_WIN = exports.NATIVE_WIN = exports.helpers = void 0;
|
|
6
|
+
exports.DEVTOOLS_SOCKET_PATTERN = exports.KNOWN_CHROME_PACKAGE_NAMES = exports.CHROMIUM_WIN = exports.WEBVIEW_BASE = exports.WEBVIEW_WIN = exports.NATIVE_WIN = exports.helpers = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
8
|
const logger_1 = __importDefault(require("./logger"));
|
|
9
9
|
const axios_1 = __importDefault(require("axios"));
|
|
@@ -23,7 +23,8 @@ const WEBVIEW_BASE = `${WEBVIEW_WIN}_`;
|
|
|
23
23
|
exports.WEBVIEW_BASE = WEBVIEW_BASE;
|
|
24
24
|
const WEBVIEW_PID_PATTERN = new RegExp(`^${WEBVIEW_BASE}(\\d+)`);
|
|
25
25
|
const WEBVIEW_PKG_PATTERN = new RegExp(`^${WEBVIEW_BASE}([^\\d\\s][\\w.]*)`);
|
|
26
|
-
const DEVTOOLS_SOCKET_PATTERN = /@[\w.]+_devtools_remote_?(\d+)?\b/;
|
|
26
|
+
const DEVTOOLS_SOCKET_PATTERN = /@[\w.]+_devtools_remote_?([\w.]+_)?(\d+)?\b/;
|
|
27
|
+
exports.DEVTOOLS_SOCKET_PATTERN = DEVTOOLS_SOCKET_PATTERN;
|
|
27
28
|
const CROSSWALK_SOCKET_PATTERN = /@([\w.]+)_devtools_remote\b/;
|
|
28
29
|
const CHROMIUM_DEVTOOLS_SOCKET = 'chrome_devtools_remote';
|
|
29
30
|
const CHROME_PACKAGE_NAME = 'com.android.chrome';
|
|
@@ -123,15 +124,16 @@ async function webviewsFromProcs(adb, deviceSocket = null) {
|
|
|
123
124
|
if (!socketNameMatch) {
|
|
124
125
|
continue;
|
|
125
126
|
}
|
|
127
|
+
const matchedSocketName = socketNameMatch[2];
|
|
126
128
|
const crosswalkMatch = CROSSWALK_SOCKET_PATTERN.exec(socketName);
|
|
127
|
-
if (!
|
|
129
|
+
if (!matchedSocketName && !crosswalkMatch) {
|
|
128
130
|
continue;
|
|
129
131
|
}
|
|
130
|
-
if (deviceSocket && socketName === `@${deviceSocket}` || !deviceSocket) {
|
|
132
|
+
if ((deviceSocket && socketName === `@${deviceSocket}`) || !deviceSocket) {
|
|
131
133
|
webviews.push({
|
|
132
134
|
proc: socketName,
|
|
133
|
-
webview:
|
|
134
|
-
? `${WEBVIEW_BASE}${
|
|
135
|
+
webview: matchedSocketName
|
|
136
|
+
? `${WEBVIEW_BASE}${matchedSocketName}`
|
|
135
137
|
: `${WEBVIEW_BASE}${crosswalkMatch[1]}`,
|
|
136
138
|
});
|
|
137
139
|
}
|
|
@@ -158,8 +160,7 @@ async function allocateDevtoolsPort(adb, socketName, webviewDevtoolsPort = null)
|
|
|
158
160
|
endPort = webviewDevtoolsPort + (endPort - startPort);
|
|
159
161
|
startPort = webviewDevtoolsPort;
|
|
160
162
|
}
|
|
161
|
-
logger_1.default.debug(`Forwarding remote port ${remotePort} to a local ` +
|
|
162
|
-
`port in range ${startPort}..${endPort}`);
|
|
163
|
+
logger_1.default.debug(`Forwarding remote port ${remotePort} to a local ` + `port in range ${startPort}..${endPort}`);
|
|
163
164
|
if (!webviewDevtoolsPort) {
|
|
164
165
|
logger_1.default.debug(`You could use the 'webviewDevtoolsPort' capability to customize ` +
|
|
165
166
|
`the starting port number`);
|
|
@@ -362,7 +363,7 @@ helpers.parseWebviewNames = function parseWebviewNames(webviewsMapping, { ensure
|
|
|
362
363
|
*
|
|
363
364
|
* @return {Array<WebviewsMapping>} webviewsMapping
|
|
364
365
|
*/
|
|
365
|
-
helpers.getWebViewsMapping = async function getWebViewsMapping(adb, { androidDeviceSocket = null, ensureWebviewsHavePages = true, webviewDevtoolsPort = null, enableWebviewDetailsCollection = true } = {}) {
|
|
366
|
+
helpers.getWebViewsMapping = async function getWebViewsMapping(adb, { androidDeviceSocket = null, ensureWebviewsHavePages = true, webviewDevtoolsPort = null, enableWebviewDetailsCollection = true, } = {}) {
|
|
366
367
|
logger_1.default.debug('Getting a list of available webviews');
|
|
367
368
|
const webviewsMapping = await webviewsFromProcs(adb, androidDeviceSocket);
|
|
368
369
|
await collectWebviewsDetails(adb, webviewsMapping, {
|
|
@@ -445,9 +446,9 @@ helpers.getWebviewDetails = function getWebviewDetails(adb, webview) {
|
|
|
445
446
|
*/
|
|
446
447
|
helpers.createChromedriverCaps = function createChromedriverCaps(opts, deviceId, webViewDetails) {
|
|
447
448
|
const caps = { chromeOptions: {} };
|
|
448
|
-
const androidPackage = opts.chromeOptions?.androidPackage
|
|
449
|
-
|
|
450
|
-
|
|
449
|
+
const androidPackage = opts.chromeOptions?.androidPackage ||
|
|
450
|
+
opts.appPackage ||
|
|
451
|
+
webViewDetails?.info?.['Android-Package'];
|
|
451
452
|
if (androidPackage) {
|
|
452
453
|
// chromedriver raises an invalid argument error when androidPackage is 'null'
|
|
453
454
|
caps.chromeOptions.androidPackage = androidPackage;
|
|
@@ -497,17 +498,14 @@ helpers.createChromedriverCaps = function createChromedriverCaps(opts, deviceId,
|
|
|
497
498
|
`the 'chromeLoggingPrefs' cap instead, with a 'performance' key set to 'ALL'`);
|
|
498
499
|
const newPref = { performance: 'ALL' };
|
|
499
500
|
// don't overwrite other logging prefs that have been sent in if they exist
|
|
500
|
-
caps.loggingPrefs = caps.loggingPrefs
|
|
501
|
-
? Object.assign({}, caps.loggingPrefs, newPref)
|
|
502
|
-
: newPref;
|
|
501
|
+
caps.loggingPrefs = caps.loggingPrefs ? Object.assign({}, caps.loggingPrefs, newPref) : newPref;
|
|
503
502
|
}
|
|
504
503
|
if (opts.chromeOptions?.Arguments) {
|
|
505
504
|
// merge `Arguments` and `args`
|
|
506
505
|
opts.chromeOptions.args = [...(opts.chromeOptions.args || []), ...opts.chromeOptions.Arguments];
|
|
507
506
|
delete opts.chromeOptions.Arguments;
|
|
508
507
|
}
|
|
509
|
-
logger_1.default.debug('Precalculated Chromedriver capabilities: ' +
|
|
510
|
-
JSON.stringify(caps.chromeOptions, null, 2));
|
|
508
|
+
logger_1.default.debug('Precalculated Chromedriver capabilities: ' + JSON.stringify(caps.chromeOptions, null, 2));
|
|
511
509
|
const protectedCapNames = [];
|
|
512
510
|
for (const [opt, val] of lodash_1.default.toPairs(opts.chromeOptions)) {
|
|
513
511
|
if (lodash_1.default.isUndefined(caps.chromeOptions[opt])) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webview-helpers.js","sourceRoot":"","sources":["../../lib/webview-helpers.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webview-helpers.js","sourceRoot":"","sources":["../../lib/webview-helpers.js"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,sDAA8B;AAC9B,kDAA0B;AAC1B,6CAAqC;AACrC,6CAA8C;AAC9C,0DAA4B;AAC5B,wDAAyB;AACzB,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,UAAU,GAAG,YAAY,CAAC;AAykB9B,gCAAU;AAxkBZ,MAAM,WAAW,GAAG,SAAS,CAAC;AAykB5B,kCAAW;AAxkBb,MAAM,YAAY,GAAG,UAAU,CAAC;AA0kB9B,oCAAY;AAzkBd,MAAM,YAAY,GAAG,GAAG,WAAW,GAAG,CAAC;AAwkBrC,oCAAY;AAvkBd,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,QAAQ,CAAC,CAAC;AACjE,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,oBAAoB,CAAC,CAAC;AAC7E,MAAM,uBAAuB,GAAG,6CAA6C,CAAC;AAwkB5E,0DAAuB;AAvkBzB,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;AAC/D,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AACjD,MAAM,0BAA0B,GAAG;IACjC,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;CACpB,CAAC;AA8jBA,gEAA0B;AA7jB5B,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5C,MAAM,sBAAsB,GAAG,IAAI,mBAAG,CAAC;IACrC,GAAG,EAAE,GAAG;IACR,cAAc,EAAE,IAAI;CACrB,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,KAAK;AACnC,MAAM,8BAA8B,GAAG,cAAI,CAAC,gBAAgB,CAC1D,cAAI,CAAC,OAAO,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,EACxD,EAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAChC,CAAC;AAEF,MAAM,OAAO,GAAG,EAAE,CAAC;AA6iBjB,0BAAO;AA3iBT,SAAS,iBAAiB,CAAC,GAAG,EAAE,OAAO;IACrC,OAAO,GAAG,GAAG,EAAE,WAAW,IAAI,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,wBAAwB,CAAC,GAAG;IACzC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAClC,iDAAiD;QACjD,MAAM,CAAC,EAAE,AAAD,EAAG,AAAD,EAAG,KAAK,EAAE,AAAD,EAAG,EAAE,EAAE,AAAD,EAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE;YACb,SAAS;SACV;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC5B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SAC9B;QACD,IAAI,KAAK,KAAK,UAAU,IAAI,EAAE,KAAK,IAAI,EAAE;YACvC,SAAS;SACV;QACD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC3C,SAAS;SACV;QAED,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtB;IACD,IAAI,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACpB,gBAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC1B,gBAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SAC3E;KACF;SAAM;QACL,gBAAM,CAAC,KAAK,CACV,UAAU,KAAK,CAAC,MAAM,oBAAoB,cAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI;YACzF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACxB,CAAC;KACH;IACD,gEAAgE;IAChE,OAAO,gBAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IACvD,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QACpC,IAAI,YAAY,KAAK,wBAAwB,IAAI,UAAU,KAAK,IAAI,YAAY,EAAE,EAAE;YAClF,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,YAAY;aACtB,CAAC,CAAC;YACH,SAAS;SACV;QAED,MAAM,eAAe,GAAG,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,EAAE;YACpB,SAAS;SACV;QACD,MAAM,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc,EAAE;YACzC,SAAS;SACV;QAED,IAAI,CAAC,YAAY,IAAI,UAAU,KAAK,IAAI,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;YACxE,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,iBAAiB;oBACxB,CAAC,CAAC,GAAG,YAAY,GAAG,iBAAiB,EAAE;oBACvC,CAAC,CAAC,GAAG,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE;aAC1C,CAAC,CAAC;SACJ;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,mBAAmB,GAAG,IAAI;IAC7E,4EAA4E;IAC5E,4BAA4B;IAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;IAChD,IAAI,mBAAmB,EAAE;QACvB,OAAO,GAAG,mBAAmB,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;QACtD,SAAS,GAAG,mBAAmB,CAAC;KACjC;IACD,gBAAM,CAAC,KAAK,CACV,0BAA0B,UAAU,cAAc,GAAG,iBAAiB,SAAS,KAAK,OAAO,EAAE,CAC9F,CAAC;IACF,IAAI,CAAC,mBAAmB,EAAE;QACxB,gBAAM,CAAC,KAAK,CACV,kEAAkE;YAChE,0BAA0B,CAC7B,CAAC;KACH;IACD,OAAO,MAAM,8BAA8B,CAAC,KAAK,IAAI,EAAE;QACrD,IAAI,SAAS,CAAC;QACd,IAAI;YACF,SAAS,GAAG,MAAM,IAAA,+BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SACzD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,2DAA2D;gBACzD,YAAY,SAAS,KAAK,OAAO,2CAA2C;gBAC5E,4DAA4D,CAC/D,CAAC;SACH;QACD,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,OAAO,SAAS,EAAE,EAAE,iBAAiB,UAAU,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AAEH;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,sBAAsB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,GAAG,EAAE;IACnE,IAAI,gBAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QAC9B,OAAO;KACR;IAED,MAAM,EACJ,mBAAmB,GAAG,IAAI,EAC1B,uBAAuB,GAAG,IAAI,EAC9B,8BAA8B,GAAG,IAAI,GACtC,GAAG,IAAI,CAAC;IAET,IAAI,CAAC,uBAAuB,EAAE;QAC5B,gBAAM,CAAC,IAAI,CACT,2DAA2D;YACzD,qDAAqD,CACxD,CAAC;KACH;IAED,IAAI,CAAC,8BAA8B,EAAE;QACnC,gBAAM,CAAC,IAAI,CACT,iEAAiE;YAC/D,6FAA6F;YAC7F,mBAAmB,CACtB,CAAC;KACH;IAED,IAAI,CAAC,uBAAuB,IAAI,CAAC,8BAA8B,EAAE;QAC/D,OAAO;KACR;IAED,gEAAgE;IAChE,gBAAM,CAAC,KAAK,CAAC,0BAA0B,cAAI,CAAC,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE;QAClC,gBAAgB,CAAC,IAAI,CACnB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,SAAS,CAAC;YACd,IAAI;gBACF,SAAS,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBAC5E,IAAI,8BAA8B,EAAE;oBAClC,IAAI,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;iBACtC;gBACD,IAAI,uBAAuB,EAAE;oBAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;iBACvC;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACjB;oBAAS;gBACR,IAAI,SAAS,EAAE;oBACb,IAAI;wBACF,MAAM,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;qBACxC;oBAAC,OAAO,CAAC,EAAE;wBACV,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACjB;iBACF;aACF;QACH,CAAC,CAAC,EAAE,CACL,CAAC;KACH;IACD,MAAM,kBAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,gBAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAChD,CAAC;AAED,sDAAsD;AACtD,KAAK,UAAU,OAAO,CAAC,SAAS;IAC9B,OAAO,CACL,MAAM,IAAA,eAAK,EAAC;QACV,GAAG,EAAE,oBAAoB,SAAS,YAAY;QAC9C,OAAO,EAAE,eAAe;KACzB,CAAC,CACH,CAAC,IAAI,CAAC;AACT,CAAC;AAED,sDAAsD;AACtD,KAAK,UAAU,OAAO,CAAC,SAAS;IAC9B,OAAO,CACL,MAAM,IAAA,eAAK,EAAC;QACV,GAAG,EAAE,oBAAoB,SAAS,eAAe;QACjD,OAAO,EAAE,eAAe;KACzB,CAAC,CACH,CAAC,IAAI,CAAC;AACT,CAAC;AAED;;;;;;;;;;;GAWG;AACH,OAAO,CAAC,eAAe,GAAG,KAAK,UAAU,eAAe,CAAC,GAAG,EAAE,OAAO;IACnE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,GAAG,CAAC,CAAC;KAChE;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,gBAAM,CAAC,KAAK,CAAC,GAAG,OAAO,kBAAkB,GAAG,EAAE,CAAC,CAAC;IAChD,gBAAM,CAAC,KAAK,CAAC,qCAAqC,OAAO,GAAG,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACxC,gBAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,OAAO,CAAC,iBAAiB,GAAG,SAAS,iBAAiB,CACpD,eAAe,EACf,EAAC,uBAAuB,GAAG,IAAI,EAAE,eAAe,GAAG,KAAK,EAAC,GAAG,EAAE;IAE9D,IAAI,eAAe,EAAE;QACnB,OAAO,CAAC,YAAY,CAAC,CAAC;KACvB;IAED,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAC,IAAI,eAAe,EAAE;QACjE,IAAI,uBAAuB,IAAI,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE;YAClD,gBAAM,CAAC,IAAI,CACT,yBAAyB,OAAO,SAAS,IAAI,IAAI;gBAC/C,yCAAyC,CAC5C,CAAC;YACF,SAAS;SACV;QACD,IAAI,WAAW,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1B;KACF;IACD,gBAAM,CAAC,KAAK,CACV,SAAS,cAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACrF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,CAAC,kBAAkB,GAAG,KAAK,UAAU,kBAAkB,CAC5D,GAAG,EACH,EACE,mBAAmB,GAAG,IAAI,EAC1B,uBAAuB,GAAG,IAAI,EAC9B,mBAAmB,GAAG,IAAI,EAC1B,8BAA8B,GAAG,IAAI,GACtC,GAAG,EAAE;IAEN,gBAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAE1E,MAAM,sBAAsB,CAAC,GAAG,EAAE,eAAe,EAAE;QACjD,uBAAuB;QACvB,8BAA8B;QAC9B,mBAAmB;KACpB,CAAC,CAAC;IAEH,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;QAC5C,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,GAAG,cAAc,CAAC;QACvC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC;QAElC,IAAI,MAAM,GAAG,OAAO,CAAC;QACrB,IAAI,OAAO,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,mBAAmB,EAAE;YACxB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI;gBACF,sEAAsE;gBACtE,6CAA6C;gBAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACjF,MAAM,GAAG,GAAG,YAAY,GAAG,GAAG,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnD,OAAO,GAAG;oBACR,IAAI,EAAE,GAAG;oBACT,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;iBAClC,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,gBAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACvB,SAAS;aACV;SACF;QAED,cAAc,CAAC,WAAW,GAAG,MAAM,CAAC;QACpC,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,IAAI,IAAI,OAAO,EAAE;YACnB,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;SAClD;aAAM,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC1C,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACpC;KACF;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;;;GAIG;AAEH;;;;;;;;;;;;GAYG;AAEH;;;;;;GAMG;AACH,OAAO,CAAC,iBAAiB,GAAG,SAAS,iBAAiB,CAAC,GAAG,EAAE,OAAO;IACjE,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,OAAO,CAAC,sBAAsB,GAAG,SAAS,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc;IAC7F,MAAM,IAAI,GAAG,EAAC,aAAa,EAAE,EAAE,EAAC,CAAC;IAEjC,MAAM,cAAc,GAClB,IAAI,CAAC,aAAa,EAAE,cAAc;QAClC,IAAI,CAAC,UAAU;QACf,cAAc,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC5C,IAAI,cAAc,EAAE;QAClB,8EAA8E;QAC9E,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,cAAc,CAAC;KACpD;IACD,IAAI,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;QACzC,IAAI,CAAC,aAAa,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC;KACpE;IACD,IAAI,IAAI,CAAC,oBAAoB,EAAE;QAC7B,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;KAC/D;IACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;QAC9B,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC;KACjE;IACD,IAAI,IAAI,CAAC,oBAAoB,EAAE;QAC7B,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;KAC/D;SAAM,IAAI,cAAc,EAAE,OAAO,EAAE,IAAI,IAAI,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE;QACvE,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;KACjE;IACD,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,kBAAkB,EAAE;QACtD,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;KACvD;IACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;KAC/C;IACD,MAAM,QAAQ,GAAG,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC;IAC3E,IAAI,gBAAC,CAAC,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,QAAQ,EAAE;QACzF,2EAA2E;QAC3E,0EAA0E;QAC1E,sCAAsC;QACtC,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,mBAAmB,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;KAC1C;IACD,yBAAyB;IACzB,IAAI,CAAC,aAAa,CAAC,mBAAmB,GAAG,QAAQ,CAAC;IAElD,IAAI,gBAAC,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,gBAAC,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;QAClF,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,gBAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;SAC/F;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,YAAY,CAAC;KAClE;IACD,IAAI,IAAI,CAAC,wBAAwB,EAAE;QACjC,gBAAM,CAAC,IAAI,CACT,+DAA+D;YAC7D,6EAA6E,CAChF,CAAC;QACF,MAAM,OAAO,GAAG,EAAC,WAAW,EAAE,KAAK,EAAC,CAAC;QACrC,2EAA2E;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;KACjG;IAED,IAAI,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE;QACjC,+BAA+B;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;KACrC;IAED,gBAAM,CAAC,KAAK,CACV,2CAA2C,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1F,CAAC;IAEF,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QACtD,IAAI,gBAAC,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SAC/B;aAAM;YACL,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC7B;KACF;IACD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;QACjC,gBAAM,CAAC,IAAI,CACT,+DAA+D;YAC7D,gCAAgC,CACnC,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE;YACvC,gBAAM,CAAC,IAAI,CAAC,KAAK,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;SAC9E;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
package/lib/webview-helpers.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
import logger from './logger';
|
|
3
3
|
import axios from 'axios';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import {util} from '@appium/support';
|
|
5
|
+
import {findAPortNotInUse} from 'portscanner';
|
|
6
6
|
import LRU from 'lru-cache';
|
|
7
7
|
import B from 'bluebird';
|
|
8
8
|
import path from 'path';
|
|
@@ -14,7 +14,7 @@ const CHROMIUM_WIN = 'CHROMIUM';
|
|
|
14
14
|
const WEBVIEW_BASE = `${WEBVIEW_WIN}_`;
|
|
15
15
|
const WEBVIEW_PID_PATTERN = new RegExp(`^${WEBVIEW_BASE}(\\d+)`);
|
|
16
16
|
const WEBVIEW_PKG_PATTERN = new RegExp(`^${WEBVIEW_BASE}([^\\d\\s][\\w.]*)`);
|
|
17
|
-
const DEVTOOLS_SOCKET_PATTERN = /@[\w.]+_devtools_remote_?(\d+)?\b/;
|
|
17
|
+
const DEVTOOLS_SOCKET_PATTERN = /@[\w.]+_devtools_remote_?([\w.]+_)?(\d+)?\b/;
|
|
18
18
|
const CROSSWALK_SOCKET_PATTERN = /@([\w.]+)_devtools_remote\b/;
|
|
19
19
|
const CHROMIUM_DEVTOOLS_SOCKET = 'chrome_devtools_remote';
|
|
20
20
|
const CHROME_PACKAGE_NAME = 'com.android.chrome';
|
|
@@ -37,7 +37,7 @@ const DEVTOOLS_PORT_ALLOCATION_GUARD = util.getLockFileGuard(
|
|
|
37
37
|
|
|
38
38
|
const helpers = {};
|
|
39
39
|
|
|
40
|
-
function toDetailsCacheKey
|
|
40
|
+
function toDetailsCacheKey(adb, webview) {
|
|
41
41
|
return `${adb?.curDeviceId}:${webview}`;
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -51,13 +51,13 @@ function toDetailsCacheKey (adb, webview) {
|
|
|
51
51
|
*
|
|
52
52
|
* @return {Array.<string>} - a list of matching webview socket names (including the leading '@')
|
|
53
53
|
*/
|
|
54
|
-
async function getPotentialWebviewProcs
|
|
54
|
+
async function getPotentialWebviewProcs(adb) {
|
|
55
55
|
const out = await adb.shell(['cat', '/proc/net/unix']);
|
|
56
56
|
const names = [];
|
|
57
57
|
const allMatches = [];
|
|
58
58
|
for (const line of out.split('\n')) {
|
|
59
59
|
// Num RefCount Protocol Flags Type St Inode Path
|
|
60
|
-
const [
|
|
60
|
+
const [, , , flags, , st, , sockPath] = line.trim().split(/\s+/);
|
|
61
61
|
if (!sockPath) {
|
|
62
62
|
continue;
|
|
63
63
|
}
|
|
@@ -79,8 +79,10 @@ async function getPotentialWebviewProcs (adb) {
|
|
|
79
79
|
logger.debug(`Other sockets are: ${JSON.stringify(allMatches, null, 2)}`);
|
|
80
80
|
}
|
|
81
81
|
} else {
|
|
82
|
-
logger.debug(
|
|
83
|
-
|
|
82
|
+
logger.debug(
|
|
83
|
+
`Parsed ${names.length} active devtools ${util.pluralize('socket', names.length, false)}: ` +
|
|
84
|
+
JSON.stringify(names)
|
|
85
|
+
);
|
|
84
86
|
}
|
|
85
87
|
// sometimes the webview process shows up multiple times per app
|
|
86
88
|
return _.uniq(names);
|
|
@@ -104,7 +106,7 @@ async function getPotentialWebviewProcs (adb) {
|
|
|
104
106
|
*
|
|
105
107
|
* @return {Array.<WebviewProc>}
|
|
106
108
|
*/
|
|
107
|
-
async function webviewsFromProcs
|
|
109
|
+
async function webviewsFromProcs(adb, deviceSocket = null) {
|
|
108
110
|
const socketNames = await getPotentialWebviewProcs(adb);
|
|
109
111
|
const webviews = [];
|
|
110
112
|
for (const socketName of socketNames) {
|
|
@@ -120,16 +122,17 @@ async function webviewsFromProcs (adb, deviceSocket = null) {
|
|
|
120
122
|
if (!socketNameMatch) {
|
|
121
123
|
continue;
|
|
122
124
|
}
|
|
125
|
+
const matchedSocketName = socketNameMatch[2];
|
|
123
126
|
const crosswalkMatch = CROSSWALK_SOCKET_PATTERN.exec(socketName);
|
|
124
|
-
if (!
|
|
127
|
+
if (!matchedSocketName && !crosswalkMatch) {
|
|
125
128
|
continue;
|
|
126
129
|
}
|
|
127
130
|
|
|
128
|
-
if (deviceSocket && socketName === `@${deviceSocket}` || !deviceSocket) {
|
|
131
|
+
if ((deviceSocket && socketName === `@${deviceSocket}`) || !deviceSocket) {
|
|
129
132
|
webviews.push({
|
|
130
133
|
proc: socketName,
|
|
131
|
-
webview:
|
|
132
|
-
? `${WEBVIEW_BASE}${
|
|
134
|
+
webview: matchedSocketName
|
|
135
|
+
? `${WEBVIEW_BASE}${matchedSocketName}`
|
|
133
136
|
: `${WEBVIEW_BASE}${crosswalkMatch[1]}`,
|
|
134
137
|
});
|
|
135
138
|
}
|
|
@@ -148,7 +151,7 @@ async function webviewsFromProcs (adb, deviceSocket = null) {
|
|
|
148
151
|
* successfully or `null` otherwise
|
|
149
152
|
* @throws {Error} If there was an error while allocating the local port
|
|
150
153
|
*/
|
|
151
|
-
async function allocateDevtoolsPort
|
|
154
|
+
async function allocateDevtoolsPort(adb, socketName, webviewDevtoolsPort = null) {
|
|
152
155
|
// socket names come with '@', but this should not be a part of the abstract
|
|
153
156
|
// remote port, so remove it
|
|
154
157
|
const remotePort = socketName.replace(/^@/, '');
|
|
@@ -157,20 +160,25 @@ async function allocateDevtoolsPort (adb, socketName, webviewDevtoolsPort = null
|
|
|
157
160
|
endPort = webviewDevtoolsPort + (endPort - startPort);
|
|
158
161
|
startPort = webviewDevtoolsPort;
|
|
159
162
|
}
|
|
160
|
-
logger.debug(
|
|
161
|
-
`port in range ${startPort}..${endPort}`
|
|
163
|
+
logger.debug(
|
|
164
|
+
`Forwarding remote port ${remotePort} to a local ` + `port in range ${startPort}..${endPort}`
|
|
165
|
+
);
|
|
162
166
|
if (!webviewDevtoolsPort) {
|
|
163
|
-
logger.debug(
|
|
164
|
-
`the
|
|
167
|
+
logger.debug(
|
|
168
|
+
`You could use the 'webviewDevtoolsPort' capability to customize ` +
|
|
169
|
+
`the starting port number`
|
|
170
|
+
);
|
|
165
171
|
}
|
|
166
172
|
return await DEVTOOLS_PORT_ALLOCATION_GUARD(async () => {
|
|
167
173
|
let localPort;
|
|
168
174
|
try {
|
|
169
175
|
localPort = await findAPortNotInUse(startPort, endPort);
|
|
170
176
|
} catch (e) {
|
|
171
|
-
throw new Error(
|
|
172
|
-
`
|
|
173
|
-
|
|
177
|
+
throw new Error(
|
|
178
|
+
`Cannot find any free port to forward the Devtools socket ` +
|
|
179
|
+
`in range ${startPort}..${endPort}. You could set the starting port number ` +
|
|
180
|
+
`manually by providing the 'webviewDevtoolsPort' capability`
|
|
181
|
+
);
|
|
174
182
|
}
|
|
175
183
|
await adb.adbExec(['forward', `tcp:${localPort}`, `localabstract:${remotePort}`]);
|
|
176
184
|
return localPort;
|
|
@@ -213,7 +221,7 @@ async function allocateDevtoolsPort (adb, socketName, webviewDevtoolsPort = null
|
|
|
213
221
|
* `enableWebviewDetailsCollection` properties are falsy then no details collection
|
|
214
222
|
* is performed
|
|
215
223
|
*/
|
|
216
|
-
async function collectWebviewsDetails
|
|
224
|
+
async function collectWebviewsDetails(adb, webviewsMapping, opts = {}) {
|
|
217
225
|
if (_.isEmpty(webviewsMapping)) {
|
|
218
226
|
return;
|
|
219
227
|
}
|
|
@@ -225,14 +233,18 @@ async function collectWebviewsDetails (adb, webviewsMapping, opts = {}) {
|
|
|
225
233
|
} = opts;
|
|
226
234
|
|
|
227
235
|
if (!ensureWebviewsHavePages) {
|
|
228
|
-
logger.info(
|
|
229
|
-
`
|
|
236
|
+
logger.info(
|
|
237
|
+
`Not checking whether webviews have active pages; use the ` +
|
|
238
|
+
`'ensureWebviewsHavePages' cap to turn this check on`
|
|
239
|
+
);
|
|
230
240
|
}
|
|
231
241
|
|
|
232
242
|
if (!enableWebviewDetailsCollection) {
|
|
233
|
-
logger.info(
|
|
234
|
-
`
|
|
235
|
-
|
|
243
|
+
logger.info(
|
|
244
|
+
`Not collecting web view details. Details collection might help ` +
|
|
245
|
+
`to make Chromedriver initialization more precise. Use the 'enableWebviewDetailsCollection' ` +
|
|
246
|
+
`cap to turn it on`
|
|
247
|
+
);
|
|
236
248
|
}
|
|
237
249
|
|
|
238
250
|
if (!ensureWebviewsHavePages && !enableWebviewDetailsCollection) {
|
|
@@ -243,47 +255,53 @@ async function collectWebviewsDetails (adb, webviewsMapping, opts = {}) {
|
|
|
243
255
|
logger.debug(`Collecting CDP data of ${util.pluralize('webview', webviewsMapping.length, true)}`);
|
|
244
256
|
const detailCollectors = [];
|
|
245
257
|
for (const item of webviewsMapping) {
|
|
246
|
-
detailCollectors.push(
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
258
|
+
detailCollectors.push(
|
|
259
|
+
(async () => {
|
|
260
|
+
let localPort;
|
|
261
|
+
try {
|
|
262
|
+
localPort = await allocateDevtoolsPort(adb, item.proc, webviewDevtoolsPort);
|
|
263
|
+
if (enableWebviewDetailsCollection) {
|
|
264
|
+
item.info = await cdpInfo(localPort);
|
|
265
|
+
}
|
|
266
|
+
if (ensureWebviewsHavePages) {
|
|
267
|
+
item.pages = await cdpList(localPort);
|
|
268
|
+
}
|
|
269
|
+
} catch (e) {
|
|
270
|
+
logger.debug(e);
|
|
271
|
+
} finally {
|
|
272
|
+
if (localPort) {
|
|
273
|
+
try {
|
|
274
|
+
await adb.removePortForward(localPort);
|
|
275
|
+
} catch (e) {
|
|
276
|
+
logger.debug(e);
|
|
277
|
+
}
|
|
264
278
|
}
|
|
265
279
|
}
|
|
266
|
-
}
|
|
267
|
-
|
|
280
|
+
})()
|
|
281
|
+
);
|
|
268
282
|
}
|
|
269
283
|
await B.all(detailCollectors);
|
|
270
284
|
logger.debug(`CDP data collection completed`);
|
|
271
285
|
}
|
|
272
286
|
|
|
273
287
|
// https://chromedevtools.github.io/devtools-protocol/
|
|
274
|
-
async function cdpList
|
|
275
|
-
return (
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
288
|
+
async function cdpList(localPort) {
|
|
289
|
+
return (
|
|
290
|
+
await axios({
|
|
291
|
+
url: `http://127.0.0.1:${localPort}/json/list`,
|
|
292
|
+
timeout: CDP_REQ_TIMEOUT,
|
|
293
|
+
})
|
|
294
|
+
).data;
|
|
279
295
|
}
|
|
280
296
|
|
|
281
297
|
// https://chromedevtools.github.io/devtools-protocol/
|
|
282
|
-
async function cdpInfo
|
|
283
|
-
return (
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
298
|
+
async function cdpInfo(localPort) {
|
|
299
|
+
return (
|
|
300
|
+
await axios({
|
|
301
|
+
url: `http://127.0.0.1:${localPort}/json/version`,
|
|
302
|
+
timeout: CDP_REQ_TIMEOUT,
|
|
303
|
+
})
|
|
304
|
+
).data;
|
|
287
305
|
}
|
|
288
306
|
|
|
289
307
|
/**
|
|
@@ -298,7 +316,7 @@ async function cdpInfo (localPort) {
|
|
|
298
316
|
* @returns {string} - the package name of the app running the webview
|
|
299
317
|
* @throws {Error} If there was a failure while retrieving the process name
|
|
300
318
|
*/
|
|
301
|
-
helpers.procFromWebview = async function procFromWebview
|
|
319
|
+
helpers.procFromWebview = async function procFromWebview(adb, webview) {
|
|
302
320
|
const pidMatch = WEBVIEW_PID_PATTERN.exec(webview);
|
|
303
321
|
if (!pidMatch) {
|
|
304
322
|
throw new Error(`Could not find PID for webview '${webview}'`);
|
|
@@ -319,10 +337,10 @@ helpers.procFromWebview = async function procFromWebview (adb, webview) {
|
|
|
319
337
|
* @param {GetWebviewsOpts} opts See note on getWebViewsMapping
|
|
320
338
|
* @return {Array.<string>} - a list of webview names
|
|
321
339
|
*/
|
|
322
|
-
helpers.parseWebviewNames = function parseWebviewNames
|
|
323
|
-
|
|
324
|
-
isChromeSession = false
|
|
325
|
-
|
|
340
|
+
helpers.parseWebviewNames = function parseWebviewNames(
|
|
341
|
+
webviewsMapping,
|
|
342
|
+
{ensureWebviewsHavePages = true, isChromeSession = false} = {}
|
|
343
|
+
) {
|
|
326
344
|
if (isChromeSession) {
|
|
327
345
|
return [CHROMIUM_WIN];
|
|
328
346
|
}
|
|
@@ -330,15 +348,19 @@ helpers.parseWebviewNames = function parseWebviewNames (webviewsMapping, {
|
|
|
330
348
|
const result = [];
|
|
331
349
|
for (const {webview, pages, proc, webviewName} of webviewsMapping) {
|
|
332
350
|
if (ensureWebviewsHavePages && pages?.length === 0) {
|
|
333
|
-
logger.info(
|
|
334
|
-
`
|
|
351
|
+
logger.info(
|
|
352
|
+
`Skipping the webview '${webview}' at '${proc}' ` +
|
|
353
|
+
`since it has reported having zero pages`
|
|
354
|
+
);
|
|
335
355
|
continue;
|
|
336
356
|
}
|
|
337
357
|
if (webviewName) {
|
|
338
358
|
result.push(webviewName);
|
|
339
359
|
}
|
|
340
360
|
}
|
|
341
|
-
logger.debug(
|
|
361
|
+
logger.debug(
|
|
362
|
+
`Found ${util.pluralize('webview', result.length, true)}: ${JSON.stringify(result)}`
|
|
363
|
+
);
|
|
342
364
|
return result;
|
|
343
365
|
};
|
|
344
366
|
|
|
@@ -381,12 +403,15 @@ helpers.parseWebviewNames = function parseWebviewNames (webviewsMapping, {
|
|
|
381
403
|
*
|
|
382
404
|
* @return {Array<WebviewsMapping>} webviewsMapping
|
|
383
405
|
*/
|
|
384
|
-
helpers.getWebViewsMapping = async function getWebViewsMapping
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
406
|
+
helpers.getWebViewsMapping = async function getWebViewsMapping(
|
|
407
|
+
adb,
|
|
408
|
+
{
|
|
409
|
+
androidDeviceSocket = null,
|
|
410
|
+
ensureWebviewsHavePages = true,
|
|
411
|
+
webviewDevtoolsPort = null,
|
|
412
|
+
enableWebviewDetailsCollection = true,
|
|
413
|
+
} = {}
|
|
414
|
+
) {
|
|
390
415
|
logger.debug('Getting a list of available webviews');
|
|
391
416
|
const webviewsMapping = await webviewsFromProcs(adb, androidDeviceSocket);
|
|
392
417
|
|
|
@@ -423,7 +448,7 @@ helpers.getWebViewsMapping = async function getWebViewsMapping (adb, {
|
|
|
423
448
|
webviewMapping.webviewName = wvName;
|
|
424
449
|
const key = toDetailsCacheKey(adb, wvName);
|
|
425
450
|
if (info || process) {
|
|
426
|
-
WEBVIEWS_DETAILS_CACHE.set(key, {
|
|
451
|
+
WEBVIEWS_DETAILS_CACHE.set(key, {info, process});
|
|
427
452
|
} else if (WEBVIEWS_DETAILS_CACHE.has(key)) {
|
|
428
453
|
WEBVIEWS_DETAILS_CACHE.delete(key);
|
|
429
454
|
}
|
|
@@ -458,7 +483,7 @@ helpers.getWebViewsMapping = async function getWebViewsMapping (adb, {
|
|
|
458
483
|
* @param {string} webview The name of the web view
|
|
459
484
|
* @returns {?WebViewDetails} Either `undefined` or the recent web view details
|
|
460
485
|
*/
|
|
461
|
-
helpers.getWebviewDetails = function getWebviewDetails
|
|
486
|
+
helpers.getWebviewDetails = function getWebviewDetails(adb, webview) {
|
|
462
487
|
const key = toDetailsCacheKey(adb, webview);
|
|
463
488
|
return WEBVIEWS_DETAILS_CACHE.get(key);
|
|
464
489
|
};
|
|
@@ -473,12 +498,13 @@ helpers.getWebviewDetails = function getWebviewDetails (adb, webview) {
|
|
|
473
498
|
* @returns {Object} The capabilities object.
|
|
474
499
|
* See https://chromedriver.chromium.org/capabilities for more details.
|
|
475
500
|
*/
|
|
476
|
-
helpers.createChromedriverCaps = function createChromedriverCaps
|
|
477
|
-
const caps = {
|
|
501
|
+
helpers.createChromedriverCaps = function createChromedriverCaps(opts, deviceId, webViewDetails) {
|
|
502
|
+
const caps = {chromeOptions: {}};
|
|
478
503
|
|
|
479
|
-
const androidPackage =
|
|
480
|
-
|
|
481
|
-
||
|
|
504
|
+
const androidPackage =
|
|
505
|
+
opts.chromeOptions?.androidPackage ||
|
|
506
|
+
opts.appPackage ||
|
|
507
|
+
webViewDetails?.info?.['Android-Package'];
|
|
482
508
|
if (androidPackage) {
|
|
483
509
|
// chromedriver raises an invalid argument error when androidPackage is 'null'
|
|
484
510
|
caps.chromeOptions.androidPackage = androidPackage;
|
|
@@ -524,13 +550,13 @@ helpers.createChromedriverCaps = function createChromedriverCaps (opts, deviceId
|
|
|
524
550
|
caps.loggingPrefs = opts.chromeLoggingPrefs || opts.loggingPrefs;
|
|
525
551
|
}
|
|
526
552
|
if (opts.enablePerformanceLogging) {
|
|
527
|
-
logger.warn(
|
|
528
|
-
`
|
|
553
|
+
logger.warn(
|
|
554
|
+
`The 'enablePerformanceLogging' cap is deprecated; simply use ` +
|
|
555
|
+
`the 'chromeLoggingPrefs' cap instead, with a 'performance' key set to 'ALL'`
|
|
556
|
+
);
|
|
529
557
|
const newPref = {performance: 'ALL'};
|
|
530
558
|
// don't overwrite other logging prefs that have been sent in if they exist
|
|
531
|
-
caps.loggingPrefs = caps.loggingPrefs
|
|
532
|
-
? Object.assign({}, caps.loggingPrefs, newPref)
|
|
533
|
-
: newPref;
|
|
559
|
+
caps.loggingPrefs = caps.loggingPrefs ? Object.assign({}, caps.loggingPrefs, newPref) : newPref;
|
|
534
560
|
}
|
|
535
561
|
|
|
536
562
|
if (opts.chromeOptions?.Arguments) {
|
|
@@ -539,8 +565,9 @@ helpers.createChromedriverCaps = function createChromedriverCaps (opts, deviceId
|
|
|
539
565
|
delete opts.chromeOptions.Arguments;
|
|
540
566
|
}
|
|
541
567
|
|
|
542
|
-
logger.debug(
|
|
543
|
-
JSON.stringify(caps.chromeOptions, null, 2)
|
|
568
|
+
logger.debug(
|
|
569
|
+
'Precalculated Chromedriver capabilities: ' + JSON.stringify(caps.chromeOptions, null, 2)
|
|
570
|
+
);
|
|
544
571
|
|
|
545
572
|
const protectedCapNames = [];
|
|
546
573
|
for (const [opt, val] of _.toPairs(opts.chromeOptions)) {
|
|
@@ -551,8 +578,10 @@ helpers.createChromedriverCaps = function createChromedriverCaps (opts, deviceId
|
|
|
551
578
|
}
|
|
552
579
|
}
|
|
553
580
|
if (!_.isEmpty(protectedCapNames)) {
|
|
554
|
-
logger.info(
|
|
555
|
-
'
|
|
581
|
+
logger.info(
|
|
582
|
+
'The following Chromedriver capabilities cannot be overridden ' +
|
|
583
|
+
'by the provided chromeOptions:'
|
|
584
|
+
);
|
|
556
585
|
for (const optName of protectedCapNames) {
|
|
557
586
|
logger.info(` ${optName} (${JSON.stringify(opts.chromeOptions[optName])})`);
|
|
558
587
|
}
|
|
@@ -562,4 +591,12 @@ helpers.createChromedriverCaps = function createChromedriverCaps (opts, deviceId
|
|
|
562
591
|
};
|
|
563
592
|
|
|
564
593
|
export default helpers;
|
|
565
|
-
export {
|
|
594
|
+
export {
|
|
595
|
+
helpers,
|
|
596
|
+
NATIVE_WIN,
|
|
597
|
+
WEBVIEW_WIN,
|
|
598
|
+
WEBVIEW_BASE,
|
|
599
|
+
CHROMIUM_WIN,
|
|
600
|
+
KNOWN_CHROME_PACKAGE_NAMES,
|
|
601
|
+
DEVTOOLS_SOCKET_PATTERN,
|
|
602
|
+
};
|