appium-xcuitest-driver 12.18.2 → 12.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## [12.19.0](https://github.com/appium/appium-xcuitest-driver/compare/v12.18.3...v12.19.0) (2026-10-18)
2
+
3
+ ### Features
4
+
5
+ * capture selected simulator displays through CoreSim fallback ([#3030](https://github.com/appium/appium-xcuitest-driver/issues/3030)) ([80b341c](https://github.com/appium/appium-xcuitest-driver/commit/80b341c929b26a3ac278089a5fd1c3af8ca9a943))
6
+
7
+ ### Bug Fixes
8
+
9
+ * preserve recording padding when MJPEG frame geometry changes ([#3048](https://github.com/appium/appium-xcuitest-driver/issues/3048)) ([c860f30](https://github.com/appium/appium-xcuitest-driver/commit/c860f308b23c29e33d2bfa37773e691045c15c4c))
10
+ * retain and clean up screen recorder after stop failure ([#3049](https://github.com/appium/appium-xcuitest-driver/issues/3049)) ([a4b262a](https://github.com/appium/appium-xcuitest-driver/commit/a4b262a642da4e5f9a6a83a99959bdba9f7dce8c))
11
+
12
+ ## [12.18.3](https://github.com/appium/appium-xcuitest-driver/compare/v12.18.2...v12.18.3) (2026-10-18)
13
+
14
+ ### Bug Fixes
15
+
16
+ * preserve calibrated scale and viewport origin for native web taps ([#3046](https://github.com/appium/appium-xcuitest-driver/issues/3046)) ([e62b338](https://github.com/appium/appium-xcuitest-driver/commit/e62b338a21f6f8ce401d93c81801e42e26047a45))
17
+
1
18
  ## [12.18.2](https://github.com/appium/appium-xcuitest-driver/compare/v12.18.1...v12.18.2) (2026-10-18)
2
19
 
3
20
  ### Bug Fixes
@@ -27,6 +27,7 @@ export declare class ScreenRecorder {
27
27
  private readonly udid;
28
28
  private mainProcess;
29
29
  private timeoutHandler;
30
+ private stopFailed;
30
31
  constructor(udid: string, log: any, videoPath: string, opts: ScreenRecorderOptions);
31
32
  start(timeoutMs: number): Promise<void>;
32
33
  interrupt(force?: boolean): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"recordscreen.d.ts","sourceRoot":"","sources":["../../../lib/commands/recordscreen.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,MAAM,YAAY,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,wCAAwC,wOAiBgB,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,uCAAuC,6FAQgB,CAAC;AAuErE,UAAU,qBAAqB;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,cAAc,CAAwB;gBAElC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB;IAS5E,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0GvC,SAAS,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB1C,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAKzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAK/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,MAAM,CAAC,CAkGjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBxB;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1G;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMhH"}
1
+ {"version":3,"file":"recordscreen.d.ts","sourceRoot":"","sources":["../../../lib/commands/recordscreen.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,MAAM,YAAY,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,wCAAwC,wOAiBgB,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,uCAAuC,6FAQgB,CAAC;AAuErE,UAAU,qBAAqB;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,UAAU,CAAS;gBAEf,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB;IAS5E,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8IvC,SAAS,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAsC1C,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAQzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAK/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,MAAM,CAAC,CAkGjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBxB;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1G;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMhH"}
@@ -1,7 +1,7 @@
1
1
  import { WDA_BASE_URL } from 'appium-webdriveragent';
2
2
  import { fs, tempDir, logger, util } from 'appium/support.js';
3
3
  import { waitForCondition } from 'asyncbox';
4
- import { SubProcess } from 'teen_process';
4
+ import { exec, SubProcess } from 'teen_process';
5
5
  import { encodeBase64OrUpload } from './helpers/index.js';
6
6
  /**
7
7
  * Optional execute-script keys for `mobile: startScreenRecording`, in Appium flattened-arg order.
@@ -103,6 +103,7 @@ export class ScreenRecorder {
103
103
  udid;
104
104
  mainProcess;
105
105
  timeoutHandler;
106
+ stopFailed = false;
106
107
  constructor(udid, log, videoPath, opts) {
107
108
  this.videoPath = videoPath;
108
109
  this.log = log;
@@ -143,19 +144,51 @@ export class ScreenRecorder {
143
144
  // Raw MJPEG has no timestamps; override ffmpeg's 25 fps default for every codec.
144
145
  args.push('-r', String(videoFps || DEFAULT_FPS));
145
146
  const useAutomaticCanvas = !videoFilters && !videoScale && !hardwareAcceleration;
147
+ const parsed = new URL(remoteUrl);
148
+ const streamUrl = `${parsed.protocol}//${parsed.hostname}:${remotePort}`;
149
+ let canvas;
146
150
  if (useAutomaticCanvas) {
147
- // Preserve the first frame's filter geometry across input size changes.
148
- // Let ffmpeg establish the canvas without a separate stream probe.
151
+ // pad must recalculate its offsets when frames change size, but its canvas
152
+ // must remain fixed. Probe with ffmpeg itself to support raw and multipart
153
+ // MJPEG without requiring ffprobe or an optional image library.
154
+ const { stdout } = await exec(FFMPEG_BINARY, [
155
+ '-v',
156
+ 'error',
157
+ '-f',
158
+ 'mjpeg',
159
+ '-probesize',
160
+ '32',
161
+ '-analyzeduration',
162
+ '0',
163
+ '-i',
164
+ streamUrl,
165
+ '-frames:v',
166
+ '1',
167
+ '-c:v',
168
+ 'png',
169
+ '-f',
170
+ 'image2pipe',
171
+ 'pipe:1',
172
+ ], { isBuffer: true, timeout: Math.min(timeoutMs, 10000), maxStdoutBufferSize: 32 * 1024 * 1024 });
173
+ if (stdout.length < 24 || !stdout.subarray(0, 8).equals(Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]))) {
174
+ throw new Error('Cannot determine the recording canvas from the first MJPEG frame');
175
+ }
176
+ canvas = {
177
+ width: Math.ceil(stdout.readUInt32BE(16) / 2) * 2,
178
+ height: Math.ceil(stdout.readUInt32BE(20) / 2) * 2,
179
+ };
180
+ if (!canvas.width || !canvas.height) {
181
+ throw new Error('The first MJPEG frame has invalid dimensions');
182
+ }
149
183
  args.push('-reinit_filter', '0');
150
184
  }
151
- const parsed = new URL(remoteUrl);
152
- args.push('-i', `${parsed.protocol}//${parsed.hostname}:${remotePort}`);
185
+ args.push('-i', streamUrl);
153
186
  if (videoFilters || videoScale) {
154
187
  args.push('-vf', videoFilters || `${scaleFilterHWAccel || 'scale'}=${videoScale}`);
155
188
  }
156
- else if (useAutomaticCanvas) {
157
- args.push('-vf', 'scale=ceil(iw/2)*2:ceil(ih/2)*2:force_original_aspect_ratio=decrease:force_divisible_by=2,' +
158
- 'pad=ceil(iw/2)*2:ceil(ih/2)*2:(ow-iw)/2:(oh-ih)/2,setsar=1');
189
+ else if (canvas) {
190
+ args.push('-vf', `scale=${canvas.width}:${canvas.height}:force_original_aspect_ratio=decrease:force_divisible_by=2:eval=frame,` +
191
+ `pad=${canvas.width}:${canvas.height}:(ow-iw)/2:(oh-ih)/2:eval=frame,setsar=1`);
159
192
  }
160
193
  // Quicktime compatibility via pixelFormat: 'yuv420p'
161
194
  if (pixelFormat) {
@@ -204,21 +237,40 @@ export class ScreenRecorder {
204
237
  clearTimeout(this.timeoutHandler);
205
238
  this.timeoutHandler = null;
206
239
  }
207
- if (this.mainProcess?.isRunning) {
208
- const interruptPromise = this.mainProcess.stop(force ? 'SIGTERM' : 'SIGINT');
209
- this.mainProcess = null;
240
+ const process = this.mainProcess;
241
+ if (process?.isRunning) {
210
242
  try {
211
- await interruptPromise;
243
+ await process.stop(force ? 'SIGTERM' : 'SIGINT');
212
244
  }
213
245
  catch (e) {
246
+ // A disconnected MJPEG source can leave ffmpeg waiting to reconnect. Keep
247
+ // its handle so cleanup can retry; its MP4 trailer may not be written.
248
+ this.stopFailed = true;
214
249
  this.log.warn(`Cannot ${force ? 'terminate' : 'interrupt'} ${FFMPEG_BINARY}. ` + `Original error: ${e.message}`);
215
250
  result = false;
251
+ if (force && process.isRunning) {
252
+ try {
253
+ await process.stop('SIGKILL');
254
+ result = true;
255
+ }
256
+ catch (killError) {
257
+ this.log.warn(`Cannot kill ${FFMPEG_BINARY}. Original error: ${killError.message}`);
258
+ }
259
+ }
260
+ }
261
+ finally {
262
+ if (!process.isRunning && this.mainProcess === process) {
263
+ this.mainProcess = null;
264
+ }
216
265
  }
217
266
  }
218
267
  return result;
219
268
  }
220
269
  async finish() {
221
- await this.interrupt();
270
+ const stopped = await this.interrupt();
271
+ if (!stopped || this.stopFailed) {
272
+ throw new Error(`Cannot finalize the screen recording because ${FFMPEG_BINARY} failed to stop gracefully`);
273
+ }
222
274
  return this.videoPath;
223
275
  }
224
276
  async cleanup() {
@@ -1 +1 @@
1
- {"version":3,"file":"recordscreen.js","sourceRoot":"","sources":["../../../lib/commands/recordscreen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recordscreen.js","sourceRoot":"","sources":["../../../lib/commands/recordscreen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"screenshots.d.ts","sourceRoot":"","sources":["../../../lib/commands/screenshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAM3C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAGjD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAuEzE;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9G;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCjF"}
1
+ {"version":3,"file":"screenshots.d.ts","sourceRoot":"","sources":["../../../lib/commands/screenshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAM3C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAGjD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAyEzE;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9G;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCjF"}
@@ -32,16 +32,11 @@ export async function getScreenshot() {
32
32
  }
33
33
  return data;
34
34
  };
35
- // The current MJPEG stream and simulator fallback do not select a display.
36
- // CoreSim supports display selection, but requires a display port UUID rather
37
- // than WDA's numeric display ID. Use WDA until that mapping is implemented.
38
35
  const { currentDisplayId } = await this.settings.getSettings();
39
- if (currentDisplayId !== undefined && currentDisplayId !== null) {
40
- return await getScreenshotFromWDA();
41
- }
36
+ const hasSelectedDisplay = currentDisplayId !== undefined && currentDisplayId !== null;
42
37
  // Frames carry no display identity. Once selection changes, even resetting to
43
38
  // the main display cannot safely reuse this stream (old frames may be queued).
44
- if (this.mjpegStream && !this._hasUpdatedDisplaySelection) {
39
+ if (this.mjpegStream && !hasSelectedDisplay && !this._hasUpdatedDisplaySelection) {
45
40
  this.log.info(`mjpeg video stream provided, returning latest frame as screenshot`);
46
41
  // Preserve legacy conversion unless orientation correction was explicitly enabled.
47
42
  const fixOrientation = this.settings.getSettings().mjpegFixOrientation === true;
@@ -52,22 +47,28 @@ export async function getScreenshot() {
52
47
  this.log.warn('Tried to get screenshot from active MJPEG stream, but there ' +
53
48
  'was no data yet. Falling back to regular screenshot methods.');
54
49
  }
50
+ let wdaError;
55
51
  try {
56
52
  return await getScreenshotFromWDA();
57
53
  }
58
54
  catch (err) {
55
+ wdaError = err;
59
56
  this.log.warn(`Error getting screenshot: ${err.message}`);
60
57
  }
61
- // simulator attempt
62
58
  if (this.isSimulator()) {
63
- this.log.info(`Falling back to 'simctl io screenshot' API`);
64
- const payload = await this.device.getScreenshot();
59
+ this.log.info('Falling back to CoreSimulator screenshot capture');
60
+ const payload = await this.device.getScreenshot({
61
+ displayId: currentDisplayId ?? undefined,
62
+ });
65
63
  if (!payload || payload.length === 0) {
66
64
  throw new errors.UnableToCaptureScreen();
67
65
  }
68
66
  return payload.toString('base64');
69
67
  }
70
- // Retry for real devices only. Fail fast on Simulator if simctl does not work as expected
68
+ if (hasSelectedDisplay) {
69
+ throw wdaError;
70
+ }
71
+ // Retry for real devices only.
71
72
  return (await retryInterval(2, 1000, getScreenshotFromWDA));
72
73
  }
73
74
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"screenshots.js","sourceRoot":"","sources":["../../../lib/commands/screenshots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenshots.js","sourceRoot":"","sources":["../../../lib/commands/screenshots.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-native-bridge.d.ts","sourceRoot":"","sources":["../../../lib/commands/web-native-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAQ,IAAI,EAAC,MAAM,eAAe,CAAC;AAIjE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAwB,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AA6J1G;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,GAAG,eAAe,CAwCzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAK9D;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9F;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9E;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7E;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/E;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,EAC7B,QAAQ,EAAE;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,OAAO,EACjB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsCtG;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,8CAA8C,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CASnH"}
1
+ {"version":3,"file":"web-native-bridge.d.ts","sourceRoot":"","sources":["../../../lib/commands/web-native-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAQ,IAAI,EAAC,MAAM,eAAe,CAAC;AAIjE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAwB,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAgK1G;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,GAAG,eAAe,CAwCzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAK9D;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9F;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9E;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7E;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/E;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,EAC7B,QAAQ,EAAE;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,OAAO,EACjB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA2BtG;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,8CAA8C,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CASnH"}
@@ -52,7 +52,10 @@ const INJECT_CALIBRATION_OVERLAY_SCRIPT = `(function () {
52
52
  (document.body || document.documentElement).appendChild(overlay);
53
53
  var taps = window.${CALIBRATION_TAPS_MARKER};
54
54
  overlay.contentDocument.addEventListener('click', function (e) {
55
- taps.push({x: e.clientX, y: e.clientY});
55
+ // Match the parent-page client coordinates used by element geometry atoms.
56
+ // A fixed iframe can move relative to that viewport when Safari zooms/pans.
57
+ var rect = overlay.getBoundingClientRect();
58
+ taps.push({x: e.clientX + rect.left, y: e.clientY + rect.top});
56
59
  }, true);
57
60
  window.${CALIBRATION_OVERLAY_MARKER} = overlay;
58
61
  })();`;
@@ -310,14 +313,11 @@ export async function translateWebCoords(x, y) {
310
313
  }
311
314
  const frameX = x + frameOffset.offsetX;
312
315
  const frameY = y + frameOffset.offsetY;
313
- const cmd = '(function () {return {innerWidth: window.innerWidth, innerHeight: window.innerHeight, ' +
314
- 'outerWidth: window.outerWidth, outerHeight: window.outerHeight}; })()';
315
- const wvDims = await this.waitForAtom(this.remote.execute(cmd));
316
- // https://tripleodeon.com/2011/12/first-understand-your-screen/
317
- const shouldApplyPixelRatio = wvDims.innerWidth > wvDims.outerWidth || wvDims.innerHeight > wvDims.outerHeight;
316
+ // Calibration already measures the CSS-to-native scale, including viewport zoom.
317
+ // Inner/outer window dimensions cannot determine whether that fitted scale applies.
318
318
  const newCoords = {
319
- x: offsetX + frameX * (shouldApplyPixelRatio ? pixelRatioX : 1),
320
- y: offsetY + frameY * (shouldApplyPixelRatio ? pixelRatioY : 1),
319
+ x: offsetX + frameX * pixelRatioX,
320
+ y: offsetY + frameY * pixelRatioY,
321
321
  };
322
322
  this.log.debug(`Converted web coords ${JSON.stringify({ x, y })} into real coords ${JSON.stringify(newCoords)}`);
323
323
  return newCoords;
@@ -1 +1 @@
1
- {"version":3,"file":"web-native-bridge.js","sourceRoot":"","sources":["../../../lib/commands/web-native-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-native-bridge.js","sourceRoot":"","sources":["../../../lib/commands/web-native-bridge.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import {WDA_BASE_URL} from 'appium-webdriveragent';
2
2
  import type {WDASettings} from 'appium-webdriveragent';
3
3
  import {fs, tempDir, logger, util} from 'appium/support.js';
4
4
  import {waitForCondition} from 'asyncbox';
5
- import {SubProcess} from 'teen_process';
5
+ import {exec, SubProcess} from 'teen_process';
6
6
 
7
7
  import type {XCUITestDriver} from '../driver.js';
8
8
  import {encodeBase64OrUpload} from './helpers/index.js';
@@ -132,6 +132,7 @@ export class ScreenRecorder {
132
132
  private readonly udid: string;
133
133
  private mainProcess: SubProcess | null;
134
134
  private timeoutHandler: NodeJS.Timeout | null;
135
+ private stopFailed = false;
135
136
 
136
137
  constructor(udid: string, log: any, videoPath: string, opts: ScreenRecorderOptions) {
137
138
  this.videoPath = videoPath;
@@ -182,21 +183,57 @@ export class ScreenRecorder {
182
183
  // Raw MJPEG has no timestamps; override ffmpeg's 25 fps default for every codec.
183
184
  args.push('-r', String(videoFps || DEFAULT_FPS));
184
185
  const useAutomaticCanvas = !videoFilters && !videoScale && !hardwareAcceleration;
186
+ const parsed = new URL(remoteUrl);
187
+ const streamUrl = `${parsed.protocol}//${parsed.hostname}:${remotePort}`;
188
+ let canvas: {width: number; height: number} | undefined;
185
189
  if (useAutomaticCanvas) {
186
- // Preserve the first frame's filter geometry across input size changes.
187
- // Let ffmpeg establish the canvas without a separate stream probe.
190
+ // pad must recalculate its offsets when frames change size, but its canvas
191
+ // must remain fixed. Probe with ffmpeg itself to support raw and multipart
192
+ // MJPEG without requiring ffprobe or an optional image library.
193
+ const {stdout} = await exec(
194
+ FFMPEG_BINARY,
195
+ [
196
+ '-v',
197
+ 'error',
198
+ '-f',
199
+ 'mjpeg',
200
+ '-probesize',
201
+ '32',
202
+ '-analyzeduration',
203
+ '0',
204
+ '-i',
205
+ streamUrl,
206
+ '-frames:v',
207
+ '1',
208
+ '-c:v',
209
+ 'png',
210
+ '-f',
211
+ 'image2pipe',
212
+ 'pipe:1',
213
+ ],
214
+ {isBuffer: true, timeout: Math.min(timeoutMs, 10000), maxStdoutBufferSize: 32 * 1024 * 1024},
215
+ );
216
+ if (stdout.length < 24 || !stdout.subarray(0, 8).equals(Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]))) {
217
+ throw new Error('Cannot determine the recording canvas from the first MJPEG frame');
218
+ }
219
+ canvas = {
220
+ width: Math.ceil(stdout.readUInt32BE(16) / 2) * 2,
221
+ height: Math.ceil(stdout.readUInt32BE(20) / 2) * 2,
222
+ };
223
+ if (!canvas.width || !canvas.height) {
224
+ throw new Error('The first MJPEG frame has invalid dimensions');
225
+ }
188
226
  args.push('-reinit_filter', '0');
189
227
  }
190
- const parsed = new URL(remoteUrl);
191
- args.push('-i', `${parsed.protocol}//${parsed.hostname}:${remotePort}`);
228
+ args.push('-i', streamUrl);
192
229
 
193
230
  if (videoFilters || videoScale) {
194
231
  args.push('-vf', videoFilters || `${scaleFilterHWAccel || 'scale'}=${videoScale}`);
195
- } else if (useAutomaticCanvas) {
232
+ } else if (canvas) {
196
233
  args.push(
197
234
  '-vf',
198
- 'scale=ceil(iw/2)*2:ceil(ih/2)*2:force_original_aspect_ratio=decrease:force_divisible_by=2,' +
199
- 'pad=ceil(iw/2)*2:ceil(ih/2)*2:(ow-iw)/2:(oh-ih)/2,setsar=1',
235
+ `scale=${canvas.width}:${canvas.height}:force_original_aspect_ratio=decrease:force_divisible_by=2:eval=frame,` +
236
+ `pad=${canvas.width}:${canvas.height}:(ow-iw)/2:(oh-ih)/2:eval=frame,setsar=1`,
200
237
  );
201
238
  }
202
239
 
@@ -256,16 +293,30 @@ export class ScreenRecorder {
256
293
  this.timeoutHandler = null;
257
294
  }
258
295
 
259
- if (this.mainProcess?.isRunning) {
260
- const interruptPromise = this.mainProcess.stop(force ? 'SIGTERM' : 'SIGINT');
261
- this.mainProcess = null;
296
+ const process = this.mainProcess;
297
+ if (process?.isRunning) {
262
298
  try {
263
- await interruptPromise;
299
+ await process.stop(force ? 'SIGTERM' : 'SIGINT');
264
300
  } catch (e: any) {
301
+ // A disconnected MJPEG source can leave ffmpeg waiting to reconnect. Keep
302
+ // its handle so cleanup can retry; its MP4 trailer may not be written.
303
+ this.stopFailed = true;
265
304
  this.log.warn(
266
305
  `Cannot ${force ? 'terminate' : 'interrupt'} ${FFMPEG_BINARY}. ` + `Original error: ${e.message}`,
267
306
  );
268
307
  result = false;
308
+ if (force && process.isRunning) {
309
+ try {
310
+ await process.stop('SIGKILL');
311
+ result = true;
312
+ } catch (killError: any) {
313
+ this.log.warn(`Cannot kill ${FFMPEG_BINARY}. Original error: ${killError.message}`);
314
+ }
315
+ }
316
+ } finally {
317
+ if (!process.isRunning && this.mainProcess === process) {
318
+ this.mainProcess = null;
319
+ }
269
320
  }
270
321
  }
271
322
 
@@ -273,7 +324,10 @@ export class ScreenRecorder {
273
324
  }
274
325
 
275
326
  async finish(): Promise<string> {
276
- await this.interrupt();
327
+ const stopped = await this.interrupt();
328
+ if (!stopped || this.stopFailed) {
329
+ throw new Error(`Cannot finalize the screen recording because ${FFMPEG_BINARY} failed to stop gracefully`);
330
+ }
277
331
  return this.videoPath;
278
332
  }
279
333
 
@@ -41,17 +41,12 @@ export async function getScreenshot(this: XCUITestDriver): Promise<string> {
41
41
  return data;
42
42
  };
43
43
 
44
- // The current MJPEG stream and simulator fallback do not select a display.
45
- // CoreSim supports display selection, but requires a display port UUID rather
46
- // than WDA's numeric display ID. Use WDA until that mapping is implemented.
47
44
  const {currentDisplayId} = await this.settings.getSettings();
48
- if (currentDisplayId !== undefined && currentDisplayId !== null) {
49
- return await getScreenshotFromWDA();
50
- }
45
+ const hasSelectedDisplay = currentDisplayId !== undefined && currentDisplayId !== null;
51
46
 
52
47
  // Frames carry no display identity. Once selection changes, even resetting to
53
48
  // the main display cannot safely reuse this stream (old frames may be queued).
54
- if (this.mjpegStream && !this._hasUpdatedDisplaySelection) {
49
+ if (this.mjpegStream && !hasSelectedDisplay && !this._hasUpdatedDisplaySelection) {
55
50
  this.log.info(`mjpeg video stream provided, returning latest frame as screenshot`);
56
51
  // Preserve legacy conversion unless orientation correction was explicitly enabled.
57
52
  const fixOrientation = this.settings.getSettings().mjpegFixOrientation === true;
@@ -65,23 +60,30 @@ export async function getScreenshot(this: XCUITestDriver): Promise<string> {
65
60
  );
66
61
  }
67
62
 
63
+ let wdaError: unknown;
68
64
  try {
69
65
  return await getScreenshotFromWDA();
70
66
  } catch (err: any) {
67
+ wdaError = err;
71
68
  this.log.warn(`Error getting screenshot: ${err.message}`);
72
69
  }
73
70
 
74
- // simulator attempt
75
71
  if (this.isSimulator()) {
76
- this.log.info(`Falling back to 'simctl io screenshot' API`);
77
- const payload = await (this.device as Simulator).getScreenshot();
72
+ this.log.info('Falling back to CoreSimulator screenshot capture');
73
+ const payload = await (this.device as Simulator).getScreenshot({
74
+ displayId: currentDisplayId ?? undefined,
75
+ });
78
76
  if (!payload || payload.length === 0) {
79
77
  throw new errors.UnableToCaptureScreen();
80
78
  }
81
79
  return payload.toString('base64');
82
80
  }
83
81
 
84
- // Retry for real devices only. Fail fast on Simulator if simctl does not work as expected
82
+ if (hasSelectedDisplay) {
83
+ throw wdaError;
84
+ }
85
+
86
+ // Retry for real devices only.
85
87
  return (await retryInterval(2, 1000, getScreenshotFromWDA)) as string;
86
88
  }
87
89
 
@@ -61,7 +61,10 @@ const INJECT_CALIBRATION_OVERLAY_SCRIPT = `(function () {
61
61
  (document.body || document.documentElement).appendChild(overlay);
62
62
  var taps = window.${CALIBRATION_TAPS_MARKER};
63
63
  overlay.contentDocument.addEventListener('click', function (e) {
64
- taps.push({x: e.clientX, y: e.clientY});
64
+ // Match the parent-page client coordinates used by element geometry atoms.
65
+ // A fixed iframe can move relative to that viewport when Safari zooms/pans.
66
+ var rect = overlay.getBoundingClientRect();
67
+ taps.push({x: e.clientX + rect.left, y: e.clientY + rect.top});
65
68
  }, true);
66
69
  window.${CALIBRATION_OVERLAY_MARKER} = overlay;
67
70
  })();`;
@@ -362,22 +365,11 @@ export async function translateWebCoords(this: XCUITestDriver, x: number, y: num
362
365
  const frameX = x + frameOffset.offsetX;
363
366
  const frameY = y + frameOffset.offsetY;
364
367
 
365
- const cmd =
366
- '(function () {return {innerWidth: window.innerWidth, innerHeight: window.innerHeight, ' +
367
- 'outerWidth: window.outerWidth, outerHeight: window.outerHeight}; })()';
368
- const wvDims = await this.waitForAtom(
369
- this.remote.execute<{
370
- innerWidth: number;
371
- innerHeight: number;
372
- outerWidth: number;
373
- outerHeight: number;
374
- }>(cmd),
375
- );
376
- // https://tripleodeon.com/2011/12/first-understand-your-screen/
377
- const shouldApplyPixelRatio = wvDims.innerWidth > wvDims.outerWidth || wvDims.innerHeight > wvDims.outerHeight;
368
+ // Calibration already measures the CSS-to-native scale, including viewport zoom.
369
+ // Inner/outer window dimensions cannot determine whether that fitted scale applies.
378
370
  const newCoords = {
379
- x: offsetX + frameX * (shouldApplyPixelRatio ? pixelRatioX : 1),
380
- y: offsetY + frameY * (shouldApplyPixelRatio ? pixelRatioY : 1),
371
+ x: offsetX + frameX * pixelRatioX,
372
+ y: offsetY + frameY * pixelRatioY,
381
373
  };
382
374
 
383
375
  this.log.debug(`Converted web coords ${JSON.stringify({x, y})} into real coords ${JSON.stringify(newCoords)}`);
@@ -3,6 +3,20 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [16.16.2](https://github.com/appium/appium-ios/compare/appium-webdriveragent@16.16.1...appium-webdriveragent@16.16.2) (2026-10-18)
7
+
8
+ ### Bug Fixes
9
+
10
+ * **webdriveragent:** use Home to background watchOS apps ([#84](https://github.com/appium/appium-ios/issues/84)) ([b1dd12e](https://github.com/appium/appium-ios/commit/b1dd12e93d8eb0f6acc0a0addaf8733b2bfb0b19))
11
+
12
+
13
+ ## [16.16.1](https://github.com/appium/appium-ios/compare/appium-webdriveragent@16.16.0...appium-webdriveragent@16.16.1) (2026-10-18)
14
+
15
+ ### Bug Fixes
16
+
17
+ * **webdriveragent:** use the remote Home button to background tvOS apps ([#83](https://github.com/appium/appium-ios/issues/83)) ([2d953f4](https://github.com/appium/appium-ios/commit/2d953f41a598ddcb2ebe10398aecf3164bd00ad4))
18
+
19
+
6
20
  ## 16.16.0 (2026-10-17)
7
21
 
8
22
  ### Features
@@ -22,10 +22,15 @@
22
22
  #import "FBXCodeCompatibility.h"
23
23
  #import "FBXCTestDaemonsProxy.h"
24
24
  #import "XCUIDevice.h"
25
+ #import "XCUIApplication.h"
25
26
 
26
27
  static const NSTimeInterval FBHomeButtonCoolOffTime = 1.;
27
28
  static const NSTimeInterval FBScreenLockTimeout = 5.;
28
29
 
30
+ #if TARGET_OS_WATCH
31
+ static NSString *const FBClockFaceBundleId = @"com.apple.clockface";
32
+ #endif
33
+
29
34
  #if TARGET_OS_TV
30
35
  NSDictionary<NSString *, NSNumber *> *fb_availableButtonNames(void) {
31
36
  static dispatch_once_t onceToken;
@@ -136,8 +141,58 @@ static bool fb_isLocked;
136
141
 
137
142
  - (BOOL)fb_goToHomescreenWithError:(NSError **)error
138
143
  {
144
+ #if TARGET_OS_TV
145
+ return [self fb_goToHomescreenOnTVWithError:error];
146
+ #elif TARGET_OS_WATCH
147
+ return [self fb_goToHomescreenOnWatchWithError:error];
148
+ #else
139
149
  return [XCUIApplication fb_switchToSystemApplicationWithError:error];
150
+ #endif
151
+ }
152
+
153
+ #if TARGET_OS_WATCH
154
+ - (BOOL)fb_goToHomescreenOnWatchWithError:(NSError **)error
155
+ {
156
+ // Carousel rejects launch/activate requests on watchOS 27.0.
157
+ XCUIApplication *foregroundApp = XCUIApplication.fb_activeApplication;
158
+ // The watch face is a separate foreground application from Carousel.
159
+ if ([foregroundApp.bundleID isEqualToString:FBClockFaceBundleId]
160
+ || [foregroundApp fb_isSameAppAs:XCUIApplication.fb_systemApplication]) {
161
+ return YES;
162
+ }
163
+ @try {
164
+ [self pressButton:XCUIDeviceButtonHome];
165
+ } @catch (NSException *exception) {
166
+ return [[[FBErrorBuilder alloc] withDescription:exception.reason] buildError:error];
167
+ }
168
+ return [[[[FBRunLoopSpinner new] timeout:5]
169
+ timeoutErrorMessage:@"Timed out while waiting for the home screen"]
170
+ spinUntilTrue:^BOOL{
171
+ return foregroundApp.state != XCUIApplicationStateRunningForeground;
172
+ } error:error];
173
+ }
174
+ #endif
175
+
176
+ #if TARGET_OS_TV
177
+ - (BOOL)fb_goToHomescreenOnTVWithError:(NSError **)error
178
+ {
179
+ // PineBoard rejects launch/activate requests on tvOS 26.5 and 27.0.
180
+ XCUIApplication *foregroundApp = XCUIApplication.fb_activeApplication;
181
+ if ([foregroundApp fb_isSameAppAs:XCUIApplication.fb_systemApplication]) {
182
+ return YES;
183
+ }
184
+ @try {
185
+ [XCUIRemote.sharedRemote pressButton:XCUIRemoteButtonHome];
186
+ } @catch (NSException *exception) {
187
+ return [[[FBErrorBuilder alloc] withDescription:exception.reason] buildError:error];
188
+ }
189
+ return [[[[FBRunLoopSpinner new] timeout:5]
190
+ timeoutErrorMessage:@"Timed out while waiting for the home screen"]
191
+ spinUntilTrue:^BOOL{
192
+ return foregroundApp.state != XCUIApplicationStateRunningForeground;
193
+ } error:error];
140
194
  }
195
+ #endif
141
196
 
142
197
  - (BOOL)fb_lockScreen:(NSError **)error
143
198
  {
@@ -15,11 +15,11 @@
15
15
  <key>CFBundlePackageType</key>
16
16
  <string>FMWK</string>
17
17
  <key>CFBundleShortVersionString</key>
18
- <string>16.16.0</string>
18
+ <string>16.16.2</string>
19
19
  <key>CFBundleSignature</key>
20
20
  <string>????</string>
21
21
  <key>CFBundleVersion</key>
22
- <string>16.16.0</string>
22
+ <string>16.16.2</string>
23
23
  <key>NSPrincipalClass</key>
24
24
  <string/>
25
25
  </dict>
@@ -7,6 +7,8 @@
7
7
  */
8
8
 
9
9
  #import <XCTest/XCTest.h>
10
+ #import "XCUIApplication+FBHelpers.h"
11
+ #import "XCUIDevice+FBHelpers.h"
10
12
 
11
13
  #if TARGET_OS_TV
12
14
 
@@ -79,6 +81,25 @@
79
81
  XCTAssertFalse(disabled.hasFocus);
80
82
  }
81
83
 
84
+ - (void)testHomeAndInputAfterDeactivate
85
+ {
86
+ NSError *error = nil;
87
+ XCTAssertTrue([XCUIDevice.sharedDevice fb_goToHomescreenWithError:&error], @"%@", error);
88
+ XCTAssertNotEqual(self.app.state, XCUIApplicationStateRunningForeground);
89
+ XCTAssertEqual(XCUIApplication.fb_systemApplication.state, XCUIApplicationStateRunningForeground);
90
+ [self.app activate];
91
+ for (NSNumber *duration in @[@0, @2]) {
92
+ [self.app launch];
93
+ XCTAssertTrue([self.app fb_deactivateWithDuration:duration.doubleValue error:&error], @"%@", error);
94
+ XCTAssertEqual(self.app.state, XCUIApplicationStateRunningForeground);
95
+ XCTAssertTrue([self.app.buttons[@"cell_1_2"] fb_selectWithError:&error], @"%@", error);
96
+ XCTNSPredicateExpectation *updated = [[XCTNSPredicateExpectation alloc]
97
+ initWithPredicate:[NSPredicate predicateWithFormat:@"label == %@", @"cell_1_2"]
98
+ object:self.app.staticTexts[@"lastSelectedLabel"]];
99
+ [self waitForExpectations:@[updated] timeout:5];
100
+ }
101
+ }
102
+
82
103
  @end
83
104
 
84
105
  #endif
@@ -34,4 +34,16 @@ final class WDAAppLifecycleIntegrationTests: WDAWatchInProcessTestCase {
34
34
  app.activate()
35
35
  XCTAssertEqual(app.state, .runningForeground)
36
36
  }
37
+ func testHomeAndDeactivate() throws {
38
+ try XCUIDevice.shared.fb_goToHomescreen()
39
+ XCTAssertNotEqual(app.state, .runningForeground)
40
+ try XCUIDevice.shared.fb_goToHomescreen()
41
+ XCTAssertNotEqual(app.state, .runningForeground)
42
+ for duration in [0.0, 2.0] {
43
+ app.activate()
44
+ try app.fb_deactivate(withDuration: duration)
45
+ XCTAssertEqual(app.state, .runningForeground)
46
+ }
47
+ }
48
+
37
49
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-webdriveragent",
3
- "version": "16.16.0",
3
+ "version": "16.16.2",
4
4
  "description": "Package bundling WebDriverAgent",
5
5
  "keywords": [
6
6
  "Appium",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-xcuitest-driver",
3
- "version": "12.18.2",
3
+ "version": "12.19.0",
4
4
  "description": "Appium driver for iOS using XCUITest for backend",
5
5
  "keywords": [
6
6
  "appium",
@@ -48,7 +48,7 @@
48
48
  "appium-ios-device": "3.1.24",
49
49
  "appium-ios-simulator": "10.9.1",
50
50
  "appium-remote-debugger": "17.7.3",
51
- "appium-webdriveragent": "16.16.0",
51
+ "appium-webdriveragent": "16.16.2",
52
52
  "appium-xcode": "7.2.3",
53
53
  "async-lock": "1.4.1",
54
54
  "asyncbox": "6.4.3",