appium-xcuitest-driver 12.22.1 → 12.22.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,9 @@
|
|
|
1
|
+
## [12.22.2](https://github.com/appium/appium-xcuitest-driver/compare/v12.22.1...v12.22.2) (2026-10-28)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* stop stale remote debugger listeners when switching webview contexts ([#3089](https://github.com/appium/appium-xcuitest-driver/issues/3089)) ([e963398](https://github.com/appium/appium-xcuitest-driver/commit/e96339839225581647e0f90ea0d98d0a825db2dd))
|
|
6
|
+
|
|
1
7
|
## [12.22.1](https://github.com/appium/appium-xcuitest-driver/compare/v12.22.0...v12.22.1) (2026-10-28)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,cAAc,EAA6B,MAAM,wBAAwB,CAAC;AAOxG,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAMtC,OAAO,KAAK,EAAC,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAC,MAAM,YAAY,CAAC;AAGjF,eAAO,MAAM,YAAY,aAAoB,CAAC;AAI9C;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAU9G;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC/E;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAoCjG;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBjF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,gBAAgB,GAAE,MAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA6BlH;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,cAAc,EACpB,sBAAsB,EAAE,sBAAsB,GAC7C,OAAO,CAAC,IAAI,CAAC,CAqGf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBpE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkB7B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CA4BxF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAK7E;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,GAAG;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,EAClC,QAAQ,CAAC,EAAE,GAAG,EACd,cAAc,GAAE,OAAe,GAC9B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,cAAc,EAA6B,MAAM,wBAAwB,CAAC;AAOxG,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAMtC,OAAO,KAAK,EAAC,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAC,MAAM,YAAY,CAAC;AAGjF,eAAO,MAAM,YAAY,aAAoB,CAAC;AAI9C;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAU9G;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC/E;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAoCjG;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBjF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,gBAAgB,GAAE,MAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA6BlH;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,cAAc,EACpB,sBAAsB,EAAE,sBAAsB,GAC7C,OAAO,CAAC,IAAI,CAAC,CAqGf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBpE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkB7B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CA4BxF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAK7E;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,GAAG;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,EAClC,QAAQ,CAAC,EAAE,GAAG,EACd,cAAc,GAAE,OAAe,GAC9B,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC,CAazF;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjF"}
|
|
@@ -395,14 +395,6 @@ export async function getCurrentContext() {
|
|
|
395
395
|
* @throws {errors.NoSuchContextError} If the specified context does not exist
|
|
396
396
|
*/
|
|
397
397
|
export async function setContext(name, callback, skipReadyCheck = false) {
|
|
398
|
-
function alreadyInContext(desired, current) {
|
|
399
|
-
return (desired === current ||
|
|
400
|
-
(desired === null && current === NATIVE_WIN) ||
|
|
401
|
-
(desired === NATIVE_WIN && current === null));
|
|
402
|
-
}
|
|
403
|
-
function isNativeContext(context) {
|
|
404
|
-
return context === NATIVE_WIN || context === null;
|
|
405
|
-
}
|
|
406
398
|
// allow the full context list to be passed in
|
|
407
399
|
const strName = String(typeof name === 'object' && name && 'id' in name ? name.id : name);
|
|
408
400
|
this.log.debug(`Attempting to set context to '${strName || NATIVE_WIN}' from '${this.curContext ? this.curContext : NATIVE_WIN}'`);
|
|
@@ -418,63 +410,16 @@ export async function setContext(name, callback, skipReadyCheck = false) {
|
|
|
418
410
|
await notifyBiDiContextChange.bind(this)();
|
|
419
411
|
return;
|
|
420
412
|
}
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
await this.getContexts();
|
|
425
|
-
}
|
|
426
|
-
let contextId = strName.replace(WEBVIEW_BASE, '');
|
|
427
|
-
if (contextId === '') {
|
|
428
|
-
// allow user to pass in "WEBVIEW" without an index
|
|
429
|
-
// the second context will be the first webview as
|
|
430
|
-
// the first is always NATIVE_APP
|
|
431
|
-
contextId = this.contexts[1];
|
|
432
|
-
}
|
|
433
|
-
if (!this.contexts.includes(contextId)) {
|
|
434
|
-
throw new errors.NoSuchContextError();
|
|
435
|
-
}
|
|
436
|
-
const oldContext = this.curContext;
|
|
437
|
-
this.curContext = this.curWindowHandle = contextId;
|
|
438
|
-
// `contextId` will be in the form of `appId.pageId` in this case
|
|
439
|
-
const [appIdKey, pageIdKey] = contextId.split('.').map((id) => parseInt(id, 10));
|
|
440
|
-
try {
|
|
441
|
-
this.selectingNewPage = true;
|
|
442
|
-
await this.remote.selectPage(appIdKey, pageIdKey, skipReadyCheck);
|
|
443
|
-
await notifyBiDiContextChange.bind(this)();
|
|
444
|
-
}
|
|
445
|
-
catch (err) {
|
|
446
|
-
this.curContext = this.curWindowHandle = oldContext;
|
|
447
|
-
throw err;
|
|
448
|
-
}
|
|
449
|
-
finally {
|
|
450
|
-
this.selectingNewPage = false;
|
|
451
|
-
}
|
|
413
|
+
const contextId = await resolveWebviewContextId.call(this, strName);
|
|
414
|
+
await stopPerformanceLog.call(this);
|
|
415
|
+
await selectWebviewPage.call(this, contextId, skipReadyCheck);
|
|
452
416
|
// attempt to start performance logging, if requested
|
|
453
417
|
if (this.opts.enablePerformanceLogging && this._remote) {
|
|
454
|
-
|
|
455
|
-
this.log.debug(`Starting performance log on '${context}'`);
|
|
456
|
-
this.logs.performance = assignBiDiLogListener(this.eventEmitter, new IOSPerformanceLog({
|
|
457
|
-
remoteDebugger: this.remote,
|
|
458
|
-
log: this.log,
|
|
459
|
-
}), {
|
|
460
|
-
type: 'performance',
|
|
461
|
-
context,
|
|
462
|
-
})[0];
|
|
463
|
-
await this.logs.performance?.startCapture();
|
|
418
|
+
await startPerformanceLog.call(this, contextId);
|
|
464
419
|
}
|
|
465
420
|
// start safari logging if the logs handlers are active
|
|
466
421
|
if (name && name !== NATIVE_WIN && this.logs) {
|
|
467
|
-
|
|
468
|
-
if (safariConsole) {
|
|
469
|
-
const consoleLog = safariConsole;
|
|
470
|
-
const eventListener = (error, event) => consoleLog.onConsoleLogEvent(error, event);
|
|
471
|
-
this.remote.startConsole(eventListener);
|
|
472
|
-
}
|
|
473
|
-
if (safariNetwork) {
|
|
474
|
-
const networkLog = safariNetwork;
|
|
475
|
-
const eventListener = (error, event, method) => networkLog.onNetworkEvent(error, event, method);
|
|
476
|
-
this.remote.startNetwork(eventListener);
|
|
477
|
-
}
|
|
422
|
+
restartSafariLogs.call(this);
|
|
478
423
|
}
|
|
479
424
|
}
|
|
480
425
|
/**
|
|
@@ -541,4 +486,119 @@ function isUrlIgnored(url, safariIgnoreWebHostnames) {
|
|
|
541
486
|
}
|
|
542
487
|
return false;
|
|
543
488
|
}
|
|
489
|
+
/**
|
|
490
|
+
* Checks if the desired context is the current one, treating `null` and `NATIVE_APP` as equal.
|
|
491
|
+
*
|
|
492
|
+
* @param desired - The context being switched to
|
|
493
|
+
* @param current - The current context
|
|
494
|
+
*/
|
|
495
|
+
function alreadyInContext(desired, current) {
|
|
496
|
+
return (desired === current || (desired === null && current === NATIVE_WIN) || (desired === NATIVE_WIN && current === null));
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Checks if the given context is the native one.
|
|
500
|
+
*
|
|
501
|
+
* @param context - The context to check
|
|
502
|
+
*/
|
|
503
|
+
function isNativeContext(context) {
|
|
504
|
+
return context === NATIVE_WIN || context === null;
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* Resolves the webview context id to switch to, retrieving the contexts first if needed.
|
|
508
|
+
* A bare `WEBVIEW` name resolves to the first webview, which is the second context
|
|
509
|
+
* since the first one is always `NATIVE_APP`.
|
|
510
|
+
*
|
|
511
|
+
* @param name - The requested context name
|
|
512
|
+
* @throws {errors.NoSuchContextError} If the resolved context does not exist
|
|
513
|
+
*/
|
|
514
|
+
async function resolveWebviewContextId(name) {
|
|
515
|
+
if (this.contexts === undefined) {
|
|
516
|
+
await this.getContexts();
|
|
517
|
+
}
|
|
518
|
+
let contextId = name.replace(WEBVIEW_BASE, '');
|
|
519
|
+
if (contextId === '') {
|
|
520
|
+
contextId = this.contexts[1];
|
|
521
|
+
}
|
|
522
|
+
if (!this.contexts.includes(contextId)) {
|
|
523
|
+
throw new errors.NoSuchContextError();
|
|
524
|
+
}
|
|
525
|
+
return contextId;
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Stops the current performance log and detaches its listeners, so it neither keeps
|
|
529
|
+
* capturing nor forwards events after a new one is created for the next webview.
|
|
530
|
+
*/
|
|
531
|
+
async function stopPerformanceLog() {
|
|
532
|
+
const performanceLog = this.logs.performance;
|
|
533
|
+
if (!performanceLog?.isCapturing) {
|
|
534
|
+
return;
|
|
535
|
+
}
|
|
536
|
+
try {
|
|
537
|
+
await performanceLog.stopCapture();
|
|
538
|
+
}
|
|
539
|
+
catch (err) {
|
|
540
|
+
this.log.warn(`Failed to stop the previous performance log: ${err.message}`);
|
|
541
|
+
}
|
|
542
|
+
performanceLog.removeAllListeners();
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* Selects the page behind the given webview context and makes it current.
|
|
546
|
+
* The context id is in the form of `appId.pageId`. The previous context is restored
|
|
547
|
+
* if the page cannot be selected.
|
|
548
|
+
*
|
|
549
|
+
* @param contextId - The webview context id
|
|
550
|
+
* @param skipReadyCheck - Whether to skip waiting for the page to be ready
|
|
551
|
+
*/
|
|
552
|
+
async function selectWebviewPage(contextId, skipReadyCheck) {
|
|
553
|
+
const oldContext = this.curContext;
|
|
554
|
+
this.curContext = this.curWindowHandle = contextId;
|
|
555
|
+
const [appIdKey, pageIdKey] = contextId.split('.').map((id) => parseInt(id, 10));
|
|
556
|
+
try {
|
|
557
|
+
this.selectingNewPage = true;
|
|
558
|
+
await this.remote.selectPage(appIdKey, pageIdKey, skipReadyCheck);
|
|
559
|
+
await notifyBiDiContextChange.bind(this)();
|
|
560
|
+
}
|
|
561
|
+
catch (err) {
|
|
562
|
+
this.curContext = this.curWindowHandle = oldContext;
|
|
563
|
+
throw err;
|
|
564
|
+
}
|
|
565
|
+
finally {
|
|
566
|
+
this.selectingNewPage = false;
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* Creates a performance log for the given webview context and starts capturing.
|
|
571
|
+
*
|
|
572
|
+
* @param context - The webview context id
|
|
573
|
+
*/
|
|
574
|
+
async function startPerformanceLog(context) {
|
|
575
|
+
this.log.debug(`Starting performance log on '${context}'`);
|
|
576
|
+
this.logs.performance = assignBiDiLogListener(this.eventEmitter, new IOSPerformanceLog({
|
|
577
|
+
remoteDebugger: this.remote,
|
|
578
|
+
log: this.log,
|
|
579
|
+
}), {
|
|
580
|
+
type: 'performance',
|
|
581
|
+
context,
|
|
582
|
+
})[0];
|
|
583
|
+
await this.logs.performance?.startCapture();
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Re-registers the Safari console and network listeners on the remote debugger,
|
|
587
|
+
* stopping the previous ones first so each event is recorded once.
|
|
588
|
+
*/
|
|
589
|
+
function restartSafariLogs() {
|
|
590
|
+
const { safariConsole, safariNetwork } = this.logs;
|
|
591
|
+
if (safariConsole) {
|
|
592
|
+
const consoleLog = safariConsole;
|
|
593
|
+
const eventListener = (error, event) => consoleLog.onConsoleLogEvent(error, event);
|
|
594
|
+
this.remote.stopConsole();
|
|
595
|
+
this.remote.startConsole(eventListener);
|
|
596
|
+
}
|
|
597
|
+
if (safariNetwork) {
|
|
598
|
+
const networkLog = safariNetwork;
|
|
599
|
+
const eventListener = (error, event, method) => networkLog.onNetworkEvent(error, event, method);
|
|
600
|
+
this.remote.stopNetwork();
|
|
601
|
+
this.remote.startNetwork(eventListener);
|
|
602
|
+
}
|
|
603
|
+
}
|
|
544
604
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/context.ts
CHANGED
|
@@ -464,17 +464,6 @@ export async function setContext(
|
|
|
464
464
|
callback?: any,
|
|
465
465
|
skipReadyCheck: boolean = false,
|
|
466
466
|
): Promise<void> {
|
|
467
|
-
function alreadyInContext(desired: string | null, current: string | null): boolean {
|
|
468
|
-
return (
|
|
469
|
-
desired === current ||
|
|
470
|
-
(desired === null && current === NATIVE_WIN) ||
|
|
471
|
-
(desired === NATIVE_WIN && current === null)
|
|
472
|
-
);
|
|
473
|
-
}
|
|
474
|
-
function isNativeContext(context: string | null): boolean {
|
|
475
|
-
return context === NATIVE_WIN || context === null;
|
|
476
|
-
}
|
|
477
|
-
|
|
478
467
|
// allow the full context list to be passed in
|
|
479
468
|
const strName = String(typeof name === 'object' && name && 'id' in name ? name.id : name);
|
|
480
469
|
|
|
@@ -497,73 +486,18 @@ export async function setContext(
|
|
|
497
486
|
return;
|
|
498
487
|
}
|
|
499
488
|
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
if (this.contexts === undefined) {
|
|
504
|
-
await this.getContexts();
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
let contextId = strName.replace(WEBVIEW_BASE, '');
|
|
508
|
-
if (contextId === '') {
|
|
509
|
-
// allow user to pass in "WEBVIEW" without an index
|
|
510
|
-
// the second context will be the first webview as
|
|
511
|
-
// the first is always NATIVE_APP
|
|
512
|
-
contextId = (this.contexts as string[])[1];
|
|
513
|
-
}
|
|
514
|
-
if (!this.contexts.includes(contextId)) {
|
|
515
|
-
throw new errors.NoSuchContextError();
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
const oldContext = this.curContext;
|
|
519
|
-
this.curContext = this.curWindowHandle = contextId;
|
|
520
|
-
|
|
521
|
-
// `contextId` will be in the form of `appId.pageId` in this case
|
|
522
|
-
const [appIdKey, pageIdKey] = contextId.split('.').map((id) => parseInt(id, 10));
|
|
523
|
-
try {
|
|
524
|
-
this.selectingNewPage = true;
|
|
525
|
-
await this.remote.selectPage(appIdKey, pageIdKey, skipReadyCheck);
|
|
526
|
-
await notifyBiDiContextChange.bind(this)();
|
|
527
|
-
} catch (err) {
|
|
528
|
-
this.curContext = this.curWindowHandle = oldContext;
|
|
529
|
-
throw err;
|
|
530
|
-
} finally {
|
|
531
|
-
this.selectingNewPage = false;
|
|
532
|
-
}
|
|
489
|
+
const contextId = await resolveWebviewContextId.call(this, strName);
|
|
490
|
+
await stopPerformanceLog.call(this);
|
|
491
|
+
await selectWebviewPage.call(this, contextId, skipReadyCheck);
|
|
533
492
|
|
|
534
493
|
// attempt to start performance logging, if requested
|
|
535
494
|
if (this.opts.enablePerformanceLogging && this._remote) {
|
|
536
|
-
|
|
537
|
-
this.log.debug(`Starting performance log on '${context}'`);
|
|
538
|
-
this.logs.performance = assignBiDiLogListener(
|
|
539
|
-
this.eventEmitter,
|
|
540
|
-
new IOSPerformanceLog({
|
|
541
|
-
remoteDebugger: this.remote,
|
|
542
|
-
log: this.log,
|
|
543
|
-
}),
|
|
544
|
-
{
|
|
545
|
-
type: 'performance',
|
|
546
|
-
context,
|
|
547
|
-
},
|
|
548
|
-
)[0];
|
|
549
|
-
await this.logs.performance?.startCapture();
|
|
495
|
+
await startPerformanceLog.call(this, contextId);
|
|
550
496
|
}
|
|
551
497
|
|
|
552
498
|
// start safari logging if the logs handlers are active
|
|
553
499
|
if (name && name !== NATIVE_WIN && this.logs) {
|
|
554
|
-
|
|
555
|
-
if (safariConsole) {
|
|
556
|
-
const consoleLog = safariConsole as SafariConsoleLog;
|
|
557
|
-
const eventListener = (error?: Error, event?: StringRecord) =>
|
|
558
|
-
consoleLog.onConsoleLogEvent(error, event as unknown as SafariConsoleEntry);
|
|
559
|
-
this.remote.startConsole(eventListener);
|
|
560
|
-
}
|
|
561
|
-
if (safariNetwork) {
|
|
562
|
-
const networkLog = safariNetwork as SafariNetworkLog;
|
|
563
|
-
const eventListener = (error?: Error, event?: StringRecord, method?: string) =>
|
|
564
|
-
networkLog.onNetworkEvent(error, event as unknown as SafariNetworkLogEntry, method);
|
|
565
|
-
this.remote.startNetwork(eventListener);
|
|
566
|
-
}
|
|
500
|
+
restartSafariLogs.call(this);
|
|
567
501
|
}
|
|
568
502
|
}
|
|
569
503
|
|
|
@@ -633,3 +567,132 @@ function isUrlIgnored(url: string, safariIgnoreWebHostnames?: string): boolean {
|
|
|
633
567
|
}
|
|
634
568
|
return false;
|
|
635
569
|
}
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* Checks if the desired context is the current one, treating `null` and `NATIVE_APP` as equal.
|
|
573
|
+
*
|
|
574
|
+
* @param desired - The context being switched to
|
|
575
|
+
* @param current - The current context
|
|
576
|
+
*/
|
|
577
|
+
function alreadyInContext(desired: string | null, current: string | null): boolean {
|
|
578
|
+
return (
|
|
579
|
+
desired === current || (desired === null && current === NATIVE_WIN) || (desired === NATIVE_WIN && current === null)
|
|
580
|
+
);
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Checks if the given context is the native one.
|
|
585
|
+
*
|
|
586
|
+
* @param context - The context to check
|
|
587
|
+
*/
|
|
588
|
+
function isNativeContext(context: string | null): boolean {
|
|
589
|
+
return context === NATIVE_WIN || context === null;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
/**
|
|
593
|
+
* Resolves the webview context id to switch to, retrieving the contexts first if needed.
|
|
594
|
+
* A bare `WEBVIEW` name resolves to the first webview, which is the second context
|
|
595
|
+
* since the first one is always `NATIVE_APP`.
|
|
596
|
+
*
|
|
597
|
+
* @param name - The requested context name
|
|
598
|
+
* @throws {errors.NoSuchContextError} If the resolved context does not exist
|
|
599
|
+
*/
|
|
600
|
+
async function resolveWebviewContextId(this: XCUITestDriver, name: string): Promise<string> {
|
|
601
|
+
if (this.contexts === undefined) {
|
|
602
|
+
await this.getContexts();
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
let contextId = name.replace(WEBVIEW_BASE, '');
|
|
606
|
+
if (contextId === '') {
|
|
607
|
+
contextId = (this.contexts as string[])[1];
|
|
608
|
+
}
|
|
609
|
+
if (!this.contexts.includes(contextId)) {
|
|
610
|
+
throw new errors.NoSuchContextError();
|
|
611
|
+
}
|
|
612
|
+
return contextId;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* Stops the current performance log and detaches its listeners, so it neither keeps
|
|
617
|
+
* capturing nor forwards events after a new one is created for the next webview.
|
|
618
|
+
*/
|
|
619
|
+
async function stopPerformanceLog(this: XCUITestDriver): Promise<void> {
|
|
620
|
+
const performanceLog = this.logs.performance;
|
|
621
|
+
if (!performanceLog?.isCapturing) {
|
|
622
|
+
return;
|
|
623
|
+
}
|
|
624
|
+
try {
|
|
625
|
+
await performanceLog.stopCapture();
|
|
626
|
+
} catch (err) {
|
|
627
|
+
this.log.warn(`Failed to stop the previous performance log: ${(err as Error).message}`);
|
|
628
|
+
}
|
|
629
|
+
performanceLog.removeAllListeners();
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
/**
|
|
633
|
+
* Selects the page behind the given webview context and makes it current.
|
|
634
|
+
* The context id is in the form of `appId.pageId`. The previous context is restored
|
|
635
|
+
* if the page cannot be selected.
|
|
636
|
+
*
|
|
637
|
+
* @param contextId - The webview context id
|
|
638
|
+
* @param skipReadyCheck - Whether to skip waiting for the page to be ready
|
|
639
|
+
*/
|
|
640
|
+
async function selectWebviewPage(this: XCUITestDriver, contextId: string, skipReadyCheck: boolean): Promise<void> {
|
|
641
|
+
const oldContext = this.curContext;
|
|
642
|
+
this.curContext = this.curWindowHandle = contextId;
|
|
643
|
+
|
|
644
|
+
const [appIdKey, pageIdKey] = contextId.split('.').map((id) => parseInt(id, 10));
|
|
645
|
+
try {
|
|
646
|
+
this.selectingNewPage = true;
|
|
647
|
+
await this.remote.selectPage(appIdKey, pageIdKey, skipReadyCheck);
|
|
648
|
+
await notifyBiDiContextChange.bind(this)();
|
|
649
|
+
} catch (err) {
|
|
650
|
+
this.curContext = this.curWindowHandle = oldContext;
|
|
651
|
+
throw err;
|
|
652
|
+
} finally {
|
|
653
|
+
this.selectingNewPage = false;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
/**
|
|
658
|
+
* Creates a performance log for the given webview context and starts capturing.
|
|
659
|
+
*
|
|
660
|
+
* @param context - The webview context id
|
|
661
|
+
*/
|
|
662
|
+
async function startPerformanceLog(this: XCUITestDriver, context: string): Promise<void> {
|
|
663
|
+
this.log.debug(`Starting performance log on '${context}'`);
|
|
664
|
+
this.logs.performance = assignBiDiLogListener(
|
|
665
|
+
this.eventEmitter,
|
|
666
|
+
new IOSPerformanceLog({
|
|
667
|
+
remoteDebugger: this.remote,
|
|
668
|
+
log: this.log,
|
|
669
|
+
}),
|
|
670
|
+
{
|
|
671
|
+
type: 'performance',
|
|
672
|
+
context,
|
|
673
|
+
},
|
|
674
|
+
)[0];
|
|
675
|
+
await this.logs.performance?.startCapture();
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
/**
|
|
679
|
+
* Re-registers the Safari console and network listeners on the remote debugger,
|
|
680
|
+
* stopping the previous ones first so each event is recorded once.
|
|
681
|
+
*/
|
|
682
|
+
function restartSafariLogs(this: XCUITestDriver): void {
|
|
683
|
+
const {safariConsole, safariNetwork} = this.logs;
|
|
684
|
+
if (safariConsole) {
|
|
685
|
+
const consoleLog = safariConsole as SafariConsoleLog;
|
|
686
|
+
const eventListener = (error?: Error, event?: StringRecord) =>
|
|
687
|
+
consoleLog.onConsoleLogEvent(error, event as unknown as SafariConsoleEntry);
|
|
688
|
+
this.remote.stopConsole();
|
|
689
|
+
this.remote.startConsole(eventListener);
|
|
690
|
+
}
|
|
691
|
+
if (safariNetwork) {
|
|
692
|
+
const networkLog = safariNetwork as SafariNetworkLog;
|
|
693
|
+
const eventListener = (error?: Error, event?: StringRecord, method?: string) =>
|
|
694
|
+
networkLog.onNetworkEvent(error, event as unknown as SafariNetworkLogEntry, method);
|
|
695
|
+
this.remote.stopNetwork();
|
|
696
|
+
this.remote.startNetwork(eventListener);
|
|
697
|
+
}
|
|
698
|
+
}
|