appium-xcuitest-driver 12.22.1 → 12.22.3

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,15 @@
1
+ ## [12.22.3](https://github.com/appium/appium-xcuitest-driver/compare/v12.22.2...v12.22.3) (2026-10-28)
2
+
3
+ ### Bug Fixes
4
+
5
+ * remove perf recording temp files when start or upload fails ([#3092](https://github.com/appium/appium-xcuitest-driver/issues/3092)) ([edc9a19](https://github.com/appium/appium-xcuitest-driver/commit/edc9a192397db0343858cb5b4e0b4defbaede681))
6
+
7
+ ## [12.22.2](https://github.com/appium/appium-xcuitest-driver/compare/v12.22.1...v12.22.2) (2026-10-28)
8
+
9
+ ### Bug Fixes
10
+
11
+ * 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))
12
+
1
13
  ## [12.22.1](https://github.com/appium/appium-xcuitest-driver/compare/v12.22.0...v12.22.1) (2026-10-28)
2
14
 
3
15
  ### 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,CAsGf;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"}
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
- // switching into a webview context
422
- // if contexts have not already been retrieved, get them
423
- if (this.contexts === undefined) {
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
- const context = this.curContext;
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
- const { safariConsole, safariNetwork } = this.logs;
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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"}
@@ -20,6 +20,7 @@ export declare class PerfRecorder {
20
20
  getZippedReportPath(): Promise<string>;
21
21
  isRunning(): boolean;
22
22
  start(): Promise<void>;
23
+ private _startRecording;
23
24
  stop(force?: boolean): Promise<string>;
24
25
  private getOriginalReportPath;
25
26
  private _enforceTermination;
@@ -1 +1 @@
1
- {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../lib/commands/performance.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAuB,KAAK,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAkB5E,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;IAC9B,OAAO,CAAC,eAAe,CAAyB;gBAEpC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB;IAe5E,IAAI,WAAW,IAAI,MAAM,CAExB;IAEK,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAwB5C,SAAS,IAAI,OAAO;IAId,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyFtB,IAAI,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAsB5B,qBAAqB;YAIrB,mBAAmB;CA4BlC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,cAAc,EACpB,OAAO,SAAqB,EAC5B,WAAW,SAAuB,EAClC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,cAAc,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,EAChC,WAAW,SAAuB,EAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,aAAa,CAAC,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GACjD,OAAO,CAAC,MAAM,CAAC,CA8CjB"}
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../lib/commands/performance.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAuB,KAAK,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAkB5E,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;IAC9B,OAAO,CAAC,eAAe,CAAyB;gBAEpC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB;IAe5E,IAAI,WAAW,IAAI,MAAM,CAExB;IAEK,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAwB5C,SAAS,IAAI,OAAO;IAId,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YASd,eAAe;IAwFvB,IAAI,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAsB5B,qBAAqB;YAIrB,mBAAmB;CA4BlC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,cAAc,EACpB,OAAO,SAAqB,EAC5B,WAAW,SAAuB,EAClC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,cAAc,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,EAChC,WAAW,SAAuB,EAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,aAAa,CAAC,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GACjD,OAAO,CAAC,MAAM,CAAC,CAgDjB"}
@@ -68,6 +68,15 @@ export class PerfRecorder {
68
68
  return !!this._process?.isRunning;
69
69
  }
70
70
  async start() {
71
+ try {
72
+ await this._startRecording();
73
+ }
74
+ catch (e) {
75
+ await this._enforceTermination();
76
+ throw e;
77
+ }
78
+ }
79
+ async _startRecording() {
71
80
  let binaryPath;
72
81
  try {
73
82
  binaryPath = await requireXctrace();
@@ -135,7 +144,6 @@ export class PerfRecorder {
135
144
  });
136
145
  }
137
146
  catch {
138
- await this._enforceTermination();
139
147
  const listProfilesCommand = toolName === XCTRACE ? `${XCRUN} ${XCTRACE} list templates` : `${INSTRUMENTS} -s`;
140
148
  throw this._logger.errorWithException(`There is no ${DEFAULT_EXT} file found for performance profile ` +
141
149
  `'${this._profileName}'. Make sure the profile is supported on this device. ` +
@@ -296,20 +304,23 @@ export async function mobileStopPerfRecord(remotePath, user, pass, method, profi
296
304
  throw this.log.errorWithException(`There is no ${DEFAULT_EXT} file found for performance profile '${profileName}' ` +
297
305
  `and device ${this.device.udid}. Make sure the selected profile is supported on this device`);
298
306
  }
299
- const result = await encodeBase64OrUpload(resultPath, remotePath, {
300
- user,
301
- pass,
302
- method,
303
- headers,
304
- fileFieldName,
305
- formFields,
306
- });
307
- const recorderIndex = this._perfRecorders.indexOf(recorder);
308
- if (recorderIndex >= 0) {
309
- this._perfRecorders.splice(recorderIndex, 1);
307
+ try {
308
+ return await encodeBase64OrUpload(resultPath, remotePath, {
309
+ user,
310
+ pass,
311
+ method,
312
+ headers,
313
+ fileFieldName,
314
+ formFields,
315
+ });
316
+ }
317
+ finally {
318
+ const recorderIndex = this._perfRecorders.indexOf(recorder);
319
+ if (recorderIndex >= 0) {
320
+ this._perfRecorders.splice(recorderIndex, 1);
321
+ }
322
+ await fs.rimraf(resultPath);
310
323
  }
311
- await fs.rimraf(resultPath);
312
- return result;
313
324
  }
314
325
  async function requireXctrace() {
315
326
  const xcrunPath = await requireXcrun();
@@ -1 +1 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../lib/commands/performance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../lib/commands/performance.ts"],"names":[],"mappings":"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"}
@@ -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
- // switching into a webview context
501
-
502
- // if contexts have not already been retrieved, get them
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
- const context = this.curContext;
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
- const {safariConsole, safariNetwork} = this.logs;
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
+ }
@@ -89,6 +89,15 @@ export class PerfRecorder {
89
89
  }
90
90
 
91
91
  async start(): Promise<void> {
92
+ try {
93
+ await this._startRecording();
94
+ } catch (e) {
95
+ await this._enforceTermination();
96
+ throw e;
97
+ }
98
+ }
99
+
100
+ private async _startRecording(): Promise<void> {
92
101
  let binaryPath: string;
93
102
  try {
94
103
  binaryPath = await requireXctrace();
@@ -165,7 +174,6 @@ export class PerfRecorder {
165
174
  },
166
175
  );
167
176
  } catch {
168
- await this._enforceTermination();
169
177
  const listProfilesCommand = toolName === XCTRACE ? `${XCRUN} ${XCTRACE} list templates` : `${INSTRUMENTS} -s`;
170
178
  throw this._logger.errorWithException(
171
179
  `There is no ${DEFAULT_EXT} file found for performance profile ` +
@@ -363,20 +371,22 @@ export async function mobileStopPerfRecord(
363
371
  );
364
372
  }
365
373
 
366
- const result = await encodeBase64OrUpload(resultPath, remotePath, {
367
- user,
368
- pass,
369
- method,
370
- headers,
371
- fileFieldName,
372
- formFields,
373
- });
374
- const recorderIndex = this._perfRecorders.indexOf(recorder);
375
- if (recorderIndex >= 0) {
376
- this._perfRecorders.splice(recorderIndex, 1);
374
+ try {
375
+ return await encodeBase64OrUpload(resultPath, remotePath, {
376
+ user,
377
+ pass,
378
+ method,
379
+ headers,
380
+ fileFieldName,
381
+ formFields,
382
+ });
383
+ } finally {
384
+ const recorderIndex = this._perfRecorders.indexOf(recorder);
385
+ if (recorderIndex >= 0) {
386
+ this._perfRecorders.splice(recorderIndex, 1);
387
+ }
388
+ await fs.rimraf(resultPath);
377
389
  }
378
- await fs.rimraf(resultPath);
379
- return result;
380
390
  }
381
391
 
382
392
  async function requireXctrace(): Promise<string> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-xcuitest-driver",
3
- "version": "12.22.1",
3
+ "version": "12.22.3",
4
4
  "description": "Appium driver for iOS using XCUITest for backend",
5
5
  "keywords": [
6
6
  "appium",