appium-xcuitest-driver 12.0.0 → 12.1.1

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,19 @@
1
+ ## [12.1.1](https://github.com/appium/appium-xcuitest-driver/compare/v12.1.0...v12.1.1) (2026-07-29)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * Integrate oxc and release configs ([#2925](https://github.com/appium/appium-xcuitest-driver/issues/2925)) ([6711a34](https://github.com/appium/appium-xcuitest-driver/commit/6711a34419402894d25cae00811da25cef6cc4ae))
6
+
7
+ ## [12.1.0](https://github.com/appium/appium-xcuitest-driver/compare/v12.0.0...v12.1.0) (2026-07-24)
8
+
9
+ ### Features
10
+
11
+ * Add codegraph support ([#2916](https://github.com/appium/appium-xcuitest-driver/issues/2916)) ([d23ae2c](https://github.com/appium/appium-xcuitest-driver/commit/d23ae2c451fa0d55da0489a2487d36dcb54ea570))
12
+
13
+ ### Code Refactoring
14
+
15
+ * Isolate MJPEG helpers in the driver ([#2915](https://github.com/appium/appium-xcuitest-driver/issues/2915)) ([6fb7426](https://github.com/appium/appium-xcuitest-driver/commit/6fb7426c3948a91bec712bfff47bdb1b8ed35ab1))
16
+
1
17
  ## [12.0.0](https://github.com/appium/appium-xcuitest-driver/compare/v11.17.7...v12.0.0) (2026-07-23)
2
18
 
3
19
  ### ⚠ BREAKING CHANGES
@@ -4,6 +4,8 @@ export { requireRealDevice, requireSimulator } from './guards.js';
4
4
  export type { DeviceGuardDriver } from './guards.js';
5
5
  export { encodeBase64OrUpload, getPIDsListeningOnPort, isLocalHost } from './network.js';
6
6
  export type { UploadOptions } from './network.js';
7
+ export { handleMjpegOptions } from './mjpeg.js';
8
+ export type { MJpegStream } from './mjpeg.js';
7
9
  export { getDriverInfo, printUser } from './runtime.js';
8
10
  export type { DriverInfo } from './runtime.js';
9
11
  export { getAndCheckIosSdkVersion, getAndCheckXcodeVersion } from './xcode.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/commands/helpers/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,QAAQ,EACR,UAAU,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAErD,OAAO,EAAC,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAChE,YAAY,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAC,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,EAAC,MAAM,cAAc,CAAC;AACvF,YAAY,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AACtD,YAAY,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAC,wBAAwB,EAAE,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAC1F,YAAY,EAAC,oBAAoB,EAAE,2BAA2B,EAAC,MAAM,cAAc,CAAC;AAEpF,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAE,wBAAwB,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/commands/helpers/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,QAAQ,EACR,UAAU,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAErD,OAAO,EAAC,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAChE,YAAY,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAC,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,EAAC,MAAM,cAAc,CAAC;AACvF,YAAY,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AACtD,YAAY,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAC,wBAAwB,EAAE,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAC1F,YAAY,EAAC,oBAAoB,EAAE,2BAA2B,EAAC,MAAM,cAAc,CAAC;AAEpF,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAE,wBAAwB,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC"}
@@ -3,6 +3,7 @@ export { SAFARI_BUNDLE_ID, buildSafariPreferences, checkAutInstallationState, fi
3
3
  export { TimeoutError, withTimeout } from './async.js';
4
4
  export { requireRealDevice, requireSimulator } from './guards.js';
5
5
  export { encodeBase64OrUpload, getPIDsListeningOnPort, isLocalHost } from './network.js';
6
+ export { handleMjpegOptions } from './mjpeg.js';
6
7
  export { getDriverInfo, printUser } from './runtime.js';
7
8
  export { getAndCheckIosSdkVersion, getAndCheckXcodeVersion } from './xcode.js';
8
9
  export { removeAllSessionWebSocketHandlers, shouldSetInitialSafariUrl } from './session.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/commands/helpers/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,QAAQ,EACR,UAAU,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAErD,OAAO,EAAC,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGhE,OAAO,EAAC,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,EAAC,MAAM,cAAc,CAAC;AAGvF,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAC,wBAAwB,EAAE,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAG1F,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAE,wBAAwB,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/commands/helpers/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,QAAQ,EACR,UAAU,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAErD,OAAO,EAAC,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGhE,OAAO,EAAC,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,EAAC,MAAM,cAAc,CAAC;AAGvF,OAAO,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAC,wBAAwB,EAAE,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAG1F,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAE,wBAAwB,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { Writable, type WritableOptions } from 'node:stream';
2
+ import type { XCUITestDriver } from '../../driver.js';
3
+ /**
4
+ * Connects to an MJPEG-over-HTTP stream and keeps track of the last JPEG frame received,
5
+ * so that it can be used as a cheap, low-latency screenshot source.
6
+ */
7
+ export declare class MJpegStream extends Writable {
8
+ readonly errorHandler: (err: Error) => void;
9
+ readonly url: string;
10
+ private updateCount;
11
+ private lastChunk;
12
+ private registerStartSuccess;
13
+ private registerStartFailure;
14
+ private responseStream;
15
+ private consumer;
16
+ /**
17
+ * @param mJpegUrl - URL of the MJPEG-over-HTTP stream
18
+ * @param errorHandler - additional function that will be called in the case of any errors
19
+ * @param options - Options to pass to the Writable constructor
20
+ */
21
+ constructor(mJpegUrl: string, errorHandler?: (err: Error) => void, options?: WritableOptions);
22
+ get lastChunkBase64(): string | null;
23
+ lastChunkPNG(): Promise<Buffer | null>;
24
+ lastChunkPNGBase64(): Promise<string | null>;
25
+ clear(): void;
26
+ start(serverTimeout?: number): Promise<void>;
27
+ stop(): void;
28
+ _write(chunk: Buffer | string, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
29
+ }
30
+ /**
31
+ * Forwards the device's MJPEG broadcast port and starts reading the MJPEG stream
32
+ * if `mjpegScreenshotUrl` was requested.
33
+ */
34
+ export declare function handleMjpegOptions(driver: XCUITestDriver): Promise<void>;
35
+ /**
36
+ * Forwards the device's MJPEG broadcast port to the local port of the same number.
37
+ */
38
+ export declare function allocateMjpegServerPort(driver: XCUITestDriver): Promise<void>;
39
+ //# sourceMappingURL=mjpeg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mjpeg.d.ts","sourceRoot":"","sources":["../../../../lib/commands/helpers/mjpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAyC,KAAK,eAAe,EAAC,MAAM,aAAa,CAAC;AAM7G,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAyGpD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACvC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;;;OAIG;gBACS,QAAQ,EAAE,MAAM,EAAE,YAAY,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAW,EAAE,OAAO,GAAE,eAAoB;IAOtG,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAGnC;IAEK,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IActC,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKlD,KAAK,IAAI,IAAI;IASP,KAAK,CAAC,aAAa,SAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAsErE,IAAI,IAAI,IAAI;IAcH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;CAUnH;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9E;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BnF"}
@@ -0,0 +1,274 @@
1
+ import { Transform, Writable } from 'node:stream';
2
+ import { logger } from 'appium/support.js';
3
+ import axios from 'axios';
4
+ const log = logger.getLogger('MJPEG');
5
+ const DEFAULT_SERVER_TIMEOUT_MS = 10000;
6
+ const DEFAULT_MJPEG_SERVER_PORT = 9100;
7
+ const JPEG_SOI = Buffer.from([0xff, 0xd8]);
8
+ const JPEG_EOI = Buffer.from([0xff, 0xd9]);
9
+ const CONTENT_LENGTH_RE = /Content-Length:\s*(\d+)/i;
10
+ /**
11
+ * Extracts individual JPEG frames out of a multipart MJPEG-over-HTTP byte stream by
12
+ * scanning for JPEG start/end-of-image markers and the multipart `Content-Length` header.
13
+ */
14
+ class MjpegFrameParser extends Transform {
15
+ buffer = null;
16
+ expectedLength = 0;
17
+ bytesWritten = 0;
18
+ isReading = false;
19
+ /* eslint-disable promise/prefer-await-to-callbacks -- Transform._transform is callback-based */
20
+ _transform(chunk, _encoding, callback) {
21
+ const startIdx = chunk.indexOf(JPEG_SOI);
22
+ const endIdx = chunk.indexOf(JPEG_EOI);
23
+ const lengthMatch = CONTENT_LENGTH_RE.exec(chunk.toString('latin1'));
24
+ if (this.buffer && (this.isReading || startIdx > -1)) {
25
+ this.appendChunk(chunk, startIdx, endIdx);
26
+ }
27
+ if (lengthMatch) {
28
+ this.startFrame(Number(lengthMatch[1]), chunk, startIdx, endIdx);
29
+ }
30
+ callback();
31
+ }
32
+ /* eslint-enable promise/prefer-await-to-callbacks */
33
+ startFrame(length, chunk, start, end) {
34
+ this.expectedLength = length;
35
+ this.buffer = Buffer.alloc(length);
36
+ this.bytesWritten = 0;
37
+ this.isReading = false;
38
+ if (start < 0) {
39
+ return;
40
+ }
41
+ const hasEnd = end > start;
42
+ const copyEnd = hasEnd ? end + JPEG_EOI.length : chunk.length;
43
+ // Buffer.copy() silently truncates if the destination has less room than requested,
44
+ // so bytesWritten must track what was actually copied, not the requested range size.
45
+ this.bytesWritten = chunk.copy(this.buffer, 0, start, copyEnd);
46
+ if (hasEnd) {
47
+ this.emitFrame();
48
+ }
49
+ else {
50
+ this.isReading = true;
51
+ }
52
+ }
53
+ appendChunk(chunk, start, end) {
54
+ if (!this.buffer) {
55
+ return;
56
+ }
57
+ const copyStart = start > -1 ? start : 0;
58
+ const copyEnd = end > -1 ? end + JPEG_EOI.length : chunk.length;
59
+ // Buffer.copy() silently truncates if the destination has less room than requested,
60
+ // so bytesWritten must track what was actually copied, not the requested range size.
61
+ this.bytesWritten += chunk.copy(this.buffer, this.bytesWritten, copyStart, copyEnd);
62
+ if (end > -1 || this.bytesWritten === this.expectedLength) {
63
+ this.emitFrame();
64
+ }
65
+ else {
66
+ this.isReading = true;
67
+ }
68
+ }
69
+ emitFrame() {
70
+ this.isReading = false;
71
+ if (this.buffer) {
72
+ this.push(this.buffer);
73
+ }
74
+ }
75
+ }
76
+ let sharpModule = null;
77
+ async function requireSharp() {
78
+ if (sharpModule) {
79
+ return sharpModule;
80
+ }
81
+ try {
82
+ sharpModule = (await import('sharp')).default;
83
+ return sharpModule;
84
+ }
85
+ catch (err) {
86
+ const message = err instanceof Error ? err.message : String(err);
87
+ throw new Error(`Cannot load the 'sharp' module needed for MJPEG frame processing. ` +
88
+ `Consider visiting https://sharp.pixelplumbing.com/install for troubleshooting. ` +
89
+ `Original error: ${message}`, { cause: err });
90
+ }
91
+ }
92
+ const noop = () => { };
93
+ /**
94
+ * Connects to an MJPEG-over-HTTP stream and keeps track of the last JPEG frame received,
95
+ * so that it can be used as a cheap, low-latency screenshot source.
96
+ */
97
+ export class MJpegStream extends Writable {
98
+ errorHandler;
99
+ url;
100
+ updateCount = 0;
101
+ lastChunk = null;
102
+ registerStartSuccess = null;
103
+ registerStartFailure = null;
104
+ responseStream = null;
105
+ consumer = null;
106
+ /**
107
+ * @param mJpegUrl - URL of the MJPEG-over-HTTP stream
108
+ * @param errorHandler - additional function that will be called in the case of any errors
109
+ * @param options - Options to pass to the Writable constructor
110
+ */
111
+ constructor(mJpegUrl, errorHandler = noop, options = {}) {
112
+ super(options);
113
+ this.errorHandler = errorHandler;
114
+ this.url = mJpegUrl;
115
+ this.clear();
116
+ }
117
+ get lastChunkBase64() {
118
+ const lastChunk = this.lastChunk;
119
+ return lastChunk && lastChunk.length > 0 ? lastChunk.toString('base64') : null;
120
+ }
121
+ async lastChunkPNG() {
122
+ const chunk = this.lastChunk;
123
+ if (!chunk || chunk.length === 0) {
124
+ return null;
125
+ }
126
+ try {
127
+ const sharp = await requireSharp();
128
+ return await sharp(chunk).png().toBuffer();
129
+ }
130
+ catch (err) {
131
+ log.warn(`Cannot convert MJPEG chunk to PNG: ${err.message}`);
132
+ return null;
133
+ }
134
+ }
135
+ async lastChunkPNGBase64() {
136
+ const png = await this.lastChunkPNG();
137
+ return png ? png.toString('base64') : null;
138
+ }
139
+ clear() {
140
+ this.registerStartSuccess = null;
141
+ this.registerStartFailure = null;
142
+ this.responseStream = null;
143
+ this.consumer = null;
144
+ this.lastChunk = null;
145
+ this.updateCount = 0;
146
+ }
147
+ async start(serverTimeout = DEFAULT_SERVER_TIMEOUT_MS) {
148
+ this.stop();
149
+ this.consumer = new MjpegFrameParser();
150
+ const url = this.url;
151
+ // Bound only the connect phase with an abort signal; axios's own `timeout` option would
152
+ // otherwise keep ticking for the whole request lifetime and race with the "first frame"
153
+ // watchdog below, since both would share the same deadline.
154
+ const connectController = new AbortController();
155
+ const connectTimeoutId = setTimeout(() => connectController.abort(), serverTimeout);
156
+ try {
157
+ try {
158
+ this.responseStream = (await axios({
159
+ url,
160
+ responseType: 'stream',
161
+ signal: connectController.signal,
162
+ })).data;
163
+ }
164
+ catch (e) {
165
+ let message;
166
+ if (e && typeof e === 'object' && 'response' in e) {
167
+ message = JSON.stringify(e.response);
168
+ }
169
+ else if (e instanceof Error) {
170
+ message = e.message;
171
+ }
172
+ else {
173
+ message = String(e);
174
+ }
175
+ throw new Error(`Cannot connect to the MJPEG stream at ${url}. Original error: ${message}`, {
176
+ cause: e,
177
+ });
178
+ }
179
+ }
180
+ finally {
181
+ clearTimeout(connectTimeoutId);
182
+ }
183
+ const onErr = (err) => {
184
+ this.lastChunk = null;
185
+ log.error(`Error getting MJPEG screenshot chunk: ${err.message}`);
186
+ this.errorHandler(err);
187
+ this.registerStartFailure?.(err);
188
+ };
189
+ const onClose = () => {
190
+ log.debug(`The connection to MJPEG server at ${url} has been closed`);
191
+ this.lastChunk = null;
192
+ };
193
+ let timeoutId;
194
+ const startPromise = new Promise((resolve, reject) => {
195
+ this.registerStartSuccess = resolve;
196
+ this.registerStartFailure = reject;
197
+ timeoutId = setTimeout(() => reject(new Error(`Waited ${serverTimeout}ms but the MJPEG server never sent any images`)), serverTimeout);
198
+ });
199
+ this.responseStream
200
+ .once('close', onClose)
201
+ .on('error', onErr)
202
+ .pipe(this.consumer)
203
+ .pipe(this);
204
+ try {
205
+ await startPromise;
206
+ }
207
+ finally {
208
+ clearTimeout(timeoutId);
209
+ }
210
+ }
211
+ stop() {
212
+ if (this.consumer) {
213
+ this.consumer.unpipe(this);
214
+ }
215
+ if (this.responseStream) {
216
+ if (this.consumer) {
217
+ this.responseStream.unpipe(this.consumer);
218
+ }
219
+ this.responseStream.destroy();
220
+ }
221
+ this.clear();
222
+ }
223
+ /* eslint-disable promise/prefer-await-to-callbacks -- Writable._write is callback-based */
224
+ _write(chunk, _encoding, callback) {
225
+ this.lastChunk = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
226
+ this.updateCount++;
227
+ if (this.registerStartSuccess) {
228
+ this.registerStartSuccess();
229
+ this.registerStartSuccess = null;
230
+ }
231
+ callback();
232
+ }
233
+ }
234
+ /**
235
+ * Forwards the device's MJPEG broadcast port and starts reading the MJPEG stream
236
+ * if `mjpegScreenshotUrl` was requested.
237
+ */
238
+ export async function handleMjpegOptions(driver) {
239
+ await allocateMjpegServerPort(driver);
240
+ // turn on mjpeg stream reading if requested
241
+ if (driver.opts.mjpegScreenshotUrl) {
242
+ driver.log.info(`Starting MJPEG stream reading URL: '${driver.opts.mjpegScreenshotUrl}'`);
243
+ driver.mjpegStream = new MJpegStream(driver.opts.mjpegScreenshotUrl);
244
+ await driver.mjpegStream.start();
245
+ }
246
+ }
247
+ /**
248
+ * Forwards the device's MJPEG broadcast port to the local port of the same number.
249
+ */
250
+ export async function allocateMjpegServerPort(driver) {
251
+ const mjpegServerPort = Number(driver.opts.mjpegServerPort || DEFAULT_MJPEG_SERVER_PORT);
252
+ driver.log.debug(`Forwarding MJPEG server port ${mjpegServerPort} to local port ${mjpegServerPort}`);
253
+ try {
254
+ await driver.deviceConnectionsFactory.requestConnection(driver.opts.udid, mjpegServerPort, {
255
+ devicePort: mjpegServerPort,
256
+ usePortForwarding: driver.isRealDevice(),
257
+ remoteXPCFacade: driver.isRealDevice() ? driver.remoteXPCFacade : null,
258
+ });
259
+ }
260
+ catch (error) {
261
+ if (driver.opts.mjpegServerPort === undefined) {
262
+ driver.log.warn(`Cannot forward the device port ${DEFAULT_MJPEG_SERVER_PORT} to the local port ${DEFAULT_MJPEG_SERVER_PORT}. ` +
263
+ `Certain features, like MJPEG-based screen recording, will be unavailable during this session. ` +
264
+ `Try to customize the value of 'mjpegServerPort' capability as a possible solution`);
265
+ }
266
+ else {
267
+ driver.log.debug(error.stack);
268
+ throw new Error(`Cannot ensure MJPEG broadcast functionality by forwarding the local port ${mjpegServerPort} ` +
269
+ `requested by the 'mjpegServerPort' capability to the device port ${mjpegServerPort}. ` +
270
+ `Original error: ${error}`, { cause: error });
271
+ }
272
+ }
273
+ }
274
+ //# sourceMappingURL=mjpeg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mjpeg.js","sourceRoot":"","sources":["../../../../lib/commands/helpers/mjpeg.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { KeyboardKey } from './types.js';
5
5
  *
6
6
  * @deprecated
7
7
  */
8
- export declare function hideKeyboard(this: XCUITestDriver, strategy?: string, ...possibleKeys: string[]): Promise<boolean>;
8
+ export declare function hideKeyboard(this: XCUITestDriver, _strategy?: string, ...possibleKeys: string[]): Promise<boolean>;
9
9
  /**
10
10
  * Hides the keyboard using the specified key names.
11
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../lib/commands/keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAE5C;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,cAAc,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,YAAY,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjG;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,EAC9B,SAAS,GAAE,MAAM,GAAG,IAAW,GAC9B,OAAO,CAAC,IAAI,CAAC,CAGf"}
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../lib/commands/keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAE5C;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,cAAc,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,GAAG,YAAY,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjG;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,EAC9B,SAAS,GAAE,MAAM,GAAG,IAAW,GAC9B,OAAO,CAAC,IAAI,CAAC,CAGf"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @deprecated
5
5
  */
6
- export async function hideKeyboard(strategy, ...possibleKeys) {
6
+ export async function hideKeyboard(_strategy, ...possibleKeys) {
7
7
  // last parameter is the session id
8
8
  const keyNames = possibleKeys
9
9
  .slice(0, -1)
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../../lib/commands/keyboard.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAEhC,QAAiB,EACjB,GAAG,YAAsB;IAEzB,mCAAmC;IACnC,MAAM,QAAQ,GAAG,YAAY;SAC1B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACZ,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtB,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAuB,OAAiB,EAAE;IAChF,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,EAAE;QACvD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;KAC3D,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAE9B,IAA8B,EAC9B,YAA2B,IAAI;IAE/B,MAAM,GAAG,GAAG,gBAAgB,SAAS,IAAI,CAAC,gBAAgB,CAAC;IAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../../lib/commands/keyboard.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAEhC,SAAkB,EAClB,GAAG,YAAsB;IAEzB,mCAAmC;IACnC,MAAM,QAAQ,GAAG,YAAY;SAC1B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACZ,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtB,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAuB,OAAiB,EAAE;IAChF,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,EAAE;QACvD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;KAC3D,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAE9B,IAA8B,EAC9B,YAA2B,IAAI;IAE/B,MAAM,GAAG,GAAG,gBAAgB,SAAS,IAAI,CAAC,gBAAgB,CAAC;IAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;AAC/C,CAAC"}
@@ -44,7 +44,7 @@ export declare function startLogCapture(this: XCUITestDriver): Promise<boolean>;
44
44
  * If the websocket is already running, this command does nothing.
45
45
  *
46
46
  * Each connected websocket listener will receive syslog lines as soon as they are visible to Appium.
47
- * @see https://appiumpro.com/editions/55-using-mobile-execution-commands-to-continuously-stream-device-logs-with-appium
47
+ * @see https://www.headspin.io/blog/using-mobile-execution-commands-to-continuously-stream-device-logs-with-appium
48
48
  */
49
49
  export declare function mobileStartLogsBroadcast(this: XCUITestDriver): Promise<void>;
50
50
  /**
@@ -166,7 +166,7 @@ export async function startLogCapture() {
166
166
  * If the websocket is already running, this command does nothing.
167
167
  *
168
168
  * Each connected websocket listener will receive syslog lines as soon as they are visible to Appium.
169
- * @see https://appiumpro.com/editions/55-using-mobile-execution-commands-to-continuously-stream-device-logs-with-appium
169
+ * @see https://www.headspin.io/blog/using-mobile-execution-commands-to-continuously-stream-device-logs-with-appium
170
170
  */
171
171
  export async function mobileStartLogsBroadcast() {
172
172
  const pathname = WEBSOCKET_ENDPOINT(this.sessionId);
@@ -4,7 +4,6 @@ import type { RemoteDebugger } from 'appium-remote-debugger';
4
4
  import { WebDriverAgent } from 'appium-webdriveragent';
5
5
  import type { XcodeVersion } from 'appium-xcode';
6
6
  import { BaseDriver } from 'appium/driver.js';
7
- import { mjpeg } from 'appium/support.js';
8
7
  import { LRUCache } from 'lru-cache';
9
8
  import { AppInfosCache } from './app-infos-cache.js';
10
9
  import * as activeAppInfoCommands from './commands/active-app-info.js';
@@ -28,6 +27,7 @@ import * as findCommands from './commands/find.js';
28
27
  import * as generalCommands from './commands/general.js';
29
28
  import * as geolocationCommands from './commands/geolocation.js';
30
29
  import * as gestureCommands from './commands/gesture.js';
30
+ import { type MJpegStream } from './commands/helpers/index.js';
31
31
  import * as increaseContrastCommands from './commands/increase-contrast.js';
32
32
  import * as iohidCommands from './commands/iohid.js';
33
33
  import * as keyboardCommands from './commands/keyboard.js';
@@ -905,7 +905,7 @@ export declare class XCUITestDriver extends BaseDriver<XCUITestDriverConstraints
905
905
  _currentUrl: string | null;
906
906
  pageLoadMs: number;
907
907
  landscapeWebCoordsOffset: number;
908
- mjpegStream?: mjpeg.MJpegStream;
908
+ mjpegStream?: MJpegStream;
909
909
  readonly deviceConnectionsFactory: DeviceConnectionsFactory;
910
910
  mobileGetActiveAppInfo: typeof activeAppInfoCommands.mobileGetActiveAppInfo;
911
911
  getAlertText: typeof alertCommands.getAlertText;
@@ -1176,8 +1176,6 @@ export declare class XCUITestDriver extends BaseDriver<XCUITestDriverConstraints
1176
1176
  private isXcodebuildNeeded;
1177
1177
  private onSettingsUpdate;
1178
1178
  private mergeCliArgsToOpts;
1179
- private handleMjpegOptions;
1180
- private allocateMjpegServerPort;
1181
1179
  private getDefaultUrl;
1182
1180
  private start;
1183
1181
  private runReset;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import EventEmitter from 'node:events';
2
2
  import { WebDriverAgent } from 'appium-webdriveragent';
3
3
  import { BaseDriver, DeviceSettings } from 'appium/driver.js';
4
- import { mjpeg, util } from 'appium/support.js';
4
+ import { util } from 'appium/support.js';
5
5
  import { LRUCache } from 'lru-cache';
6
6
  import { AppInfosCache } from './app-infos-cache.js';
7
7
  import * as activeAppInfoCommands from './commands/active-app-info.js';
@@ -27,7 +27,7 @@ import * as findCommands from './commands/find.js';
27
27
  import * as generalCommands from './commands/general.js';
28
28
  import * as geolocationCommands from './commands/geolocation.js';
29
29
  import * as gestureCommands from './commands/gesture.js';
30
- import { DEFAULT_TIMEOUT_KEY, SAFARI_BUNDLE_ID, checkAppPresent, getAndCheckXcodeVersion, getDriverInfo, installAUT, normalizeCommandTimeouts, onDownloadApp, onPostConfigureApp, printUser, removeAllSessionWebSocketHandlers, shouldSetInitialSafariUrl, } from './commands/helpers/index.js';
30
+ import { DEFAULT_TIMEOUT_KEY, SAFARI_BUNDLE_ID, checkAppPresent, getAndCheckXcodeVersion, getDriverInfo, handleMjpegOptions, installAUT, normalizeCommandTimeouts, onDownloadApp, onPostConfigureApp, printUser, removeAllSessionWebSocketHandlers, shouldSetInitialSafariUrl, } from './commands/helpers/index.js';
31
31
  import * as increaseContrastCommands from './commands/increase-contrast.js';
32
32
  import * as iohidCommands from './commands/iohid.js';
33
33
  import * as keyboardCommands from './commands/keyboard.js';
@@ -100,7 +100,6 @@ const DEFAULT_SETTINGS = {
100
100
  // affect shared resources of the other parallel sessions
101
101
  const WEB_ELEMENTS_CACHE_SIZE = 500;
102
102
  const SUPPORTED_ORIENATIONS = ['LANDSCAPE', 'PORTRAIT'];
103
- const DEFAULT_MJPEG_SERVER_PORT = 9100;
104
103
  /* eslint-disable no-useless-escape */
105
104
  const NO_PROXY_NATIVE_LIST = [
106
105
  ['DELETE', /window/],
@@ -710,7 +709,7 @@ export class XCUITestDriver extends BaseDriver {
710
709
  }
711
710
  // ensure WDA gets our defaults instead of whatever its own might be
712
711
  await this.updateSettings(wdaSettings);
713
- await this.handleMjpegOptions();
712
+ await handleMjpegOptions(this);
714
713
  return [sessionId, caps];
715
714
  }
716
715
  catch (e) {
@@ -970,39 +969,6 @@ export class XCUITestDriver extends BaseDriver {
970
969
  }
971
970
  return didMerge;
972
971
  }
973
- async handleMjpegOptions() {
974
- await this.allocateMjpegServerPort();
975
- // turn on mjpeg stream reading if requested
976
- if (this.opts.mjpegScreenshotUrl) {
977
- this.log.info(`Starting MJPEG stream reading URL: '${this.opts.mjpegScreenshotUrl}'`);
978
- this.mjpegStream = new mjpeg.MJpegStream(this.opts.mjpegScreenshotUrl);
979
- await this.mjpegStream.start();
980
- }
981
- }
982
- async allocateMjpegServerPort() {
983
- const mjpegServerPort = Number(this.opts.mjpegServerPort || DEFAULT_MJPEG_SERVER_PORT);
984
- this.log.debug(`Forwarding MJPEG server port ${mjpegServerPort} to local port ${mjpegServerPort}`);
985
- try {
986
- await this.deviceConnectionsFactory.requestConnection(this.opts.udid, mjpegServerPort, {
987
- devicePort: mjpegServerPort,
988
- usePortForwarding: this.isRealDevice(),
989
- remoteXPCFacade: this.isRealDevice() ? this.remoteXPCFacade : null,
990
- });
991
- }
992
- catch (error) {
993
- if (this.opts.mjpegServerPort === undefined) {
994
- this.log.warn(`Cannot forward the device port ${DEFAULT_MJPEG_SERVER_PORT} to the local port ${DEFAULT_MJPEG_SERVER_PORT}. ` +
995
- `Certain features, like MJPEG-based screen recording, will be unavailable during this session. ` +
996
- `Try to customize the value of 'mjpegServerPort' capability as a possible solution`);
997
- }
998
- else {
999
- this.log.debug(error.stack);
1000
- throw new Error(`Cannot ensure MJPEG broadcast functionality by forwarding the local port ${mjpegServerPort} ` +
1001
- `requested by the 'mjpegServerPort' capability to the device port ${mjpegServerPort}. ` +
1002
- `Original error: ${error}`, { cause: error });
1003
- }
1004
- }
1005
- }
1006
972
  getDefaultUrl() {
1007
973
  // Setting this to some external URL slows down the session init
1008
974
  return `${this.getWdaLocalhostRoot()}/health`;