appium-safari-driver 4.1.12 → 4.1.14
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 +12 -0
- package/build/lib/commands/record-screen.d.ts +32 -32
- package/build/lib/commands/record-screen.d.ts.map +1 -1
- package/build/lib/commands/record-screen.js +26 -30
- package/build/lib/commands/record-screen.js.map +1 -1
- package/build/lib/driver.d.ts +9 -9
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +7 -7
- package/build/lib/driver.js.map +1 -1
- package/build/lib/safari.d.ts.map +1 -1
- package/build/lib/safari.js +1 -1
- package/build/lib/safari.js.map +1 -1
- package/build/lib/utils.d.ts +5 -0
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +7 -6
- package/build/lib/utils.js.map +1 -1
- package/lib/commands/record-screen.ts +75 -76
- package/lib/driver.ts +13 -12
- package/lib/safari.ts +2 -1
- package/lib/utils.ts +7 -3
- package/npm-shrinkwrap.json +57 -64
- package/package.json +1 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [4.1.14](https://github.com/appium/appium-safari-driver/compare/v4.1.13...v4.1.14) (2026-05-01)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* remove lodash ([#166](https://github.com/appium/appium-safari-driver/issues/166)) ([aca1cf6](https://github.com/appium/appium-safari-driver/commit/aca1cf6bf3dd921d561d4baf61e5a73e4be339fe))
|
|
6
|
+
|
|
7
|
+
## [4.1.13](https://github.com/appium/appium-safari-driver/compare/v4.1.12...v4.1.13) (2026-05-01)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* lint ([#165](https://github.com/appium/appium-safari-driver/issues/165)) ([1c062e8](https://github.com/appium/appium-safari-driver/commit/1c062e8460697db4daa38bb8d1303b1e711c424e))
|
|
12
|
+
|
|
1
13
|
## [4.1.12](https://github.com/appium/appium-safari-driver/compare/v4.1.11...v4.1.12) (2026-04-17)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
import type { AppiumLogger } from '@appium/types';
|
|
2
2
|
import type { SafariDriver } from '../driver';
|
|
3
|
-
interface ScreenRecorderOptions {
|
|
4
|
-
codec?: string;
|
|
5
|
-
display?: string;
|
|
6
|
-
mask?: string;
|
|
7
|
-
timeLimit?: string | number;
|
|
8
|
-
}
|
|
9
|
-
export declare class ScreenRecorder {
|
|
10
|
-
private log;
|
|
11
|
-
private _process;
|
|
12
|
-
private _udid;
|
|
13
|
-
private _videoPath;
|
|
14
|
-
private _codec?;
|
|
15
|
-
private _display?;
|
|
16
|
-
private _mask?;
|
|
17
|
-
private _timeLimitMs;
|
|
18
|
-
private _timer;
|
|
19
|
-
constructor(udid: string, videoPath: string, log: AppiumLogger, opts?: ScreenRecorderOptions);
|
|
20
|
-
getVideoPath(): Promise<string>;
|
|
21
|
-
get isRunning(): boolean;
|
|
22
|
-
start(): Promise<void>;
|
|
23
|
-
stop(force?: boolean): Promise<string>;
|
|
24
|
-
private _enforceTermination;
|
|
25
|
-
}
|
|
26
3
|
export interface StartRecordingOptions {
|
|
27
4
|
/** Specifies the codec type: "h264" or "hevc" */
|
|
28
5
|
codec?: string;
|
|
@@ -41,15 +18,6 @@ export interface StartRecordingOptions {
|
|
|
41
18
|
*/
|
|
42
19
|
forceRestart?: boolean;
|
|
43
20
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Record the Simulator's display in background while the automated test is running.
|
|
46
|
-
* This method uses `xcrun simctl io recordVideo` helper under the hood.
|
|
47
|
-
* Check the output of `xcrun simctl io` command for more details.
|
|
48
|
-
*
|
|
49
|
-
* @param options - The available options.
|
|
50
|
-
* @throws {Error} If screen recording has failed to start or is not supported for the destination device.
|
|
51
|
-
*/
|
|
52
|
-
export declare function startRecordingScreen(this: SafariDriver, options?: StartRecordingOptions): Promise<void>;
|
|
53
21
|
export interface StopRecordingOptions {
|
|
54
22
|
/** The path to the remote location, where the resulting video should be uploaded.
|
|
55
23
|
* The following protocols are supported: http/https, ftp.
|
|
@@ -72,6 +40,38 @@ export interface StopRecordingOptions {
|
|
|
72
40
|
/** Additional form fields for multipart http(s) uploads */
|
|
73
41
|
formFields?: Record<string, string> | Array<[string, string]>;
|
|
74
42
|
}
|
|
43
|
+
interface ScreenRecorderOptions {
|
|
44
|
+
codec?: string;
|
|
45
|
+
display?: string;
|
|
46
|
+
mask?: string;
|
|
47
|
+
timeLimit?: string | number;
|
|
48
|
+
}
|
|
49
|
+
export declare class ScreenRecorder {
|
|
50
|
+
private log;
|
|
51
|
+
private _process;
|
|
52
|
+
private _udid;
|
|
53
|
+
private _videoPath;
|
|
54
|
+
private _codec?;
|
|
55
|
+
private _display?;
|
|
56
|
+
private _mask?;
|
|
57
|
+
private _timeLimitMs;
|
|
58
|
+
private _timer;
|
|
59
|
+
constructor(udid: string, videoPath: string, log: AppiumLogger, opts?: ScreenRecorderOptions);
|
|
60
|
+
get isRunning(): boolean;
|
|
61
|
+
getVideoPath(): Promise<string>;
|
|
62
|
+
start(): Promise<void>;
|
|
63
|
+
stop(force?: boolean): Promise<string>;
|
|
64
|
+
private _enforceTermination;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Record the Simulator's display in background while the automated test is running.
|
|
68
|
+
* This method uses `xcrun simctl io recordVideo` helper under the hood.
|
|
69
|
+
* Check the output of `xcrun simctl io` command for more details.
|
|
70
|
+
*
|
|
71
|
+
* @param options - The available options.
|
|
72
|
+
* @throws {Error} If screen recording has failed to start or is not supported for the destination device.
|
|
73
|
+
*/
|
|
74
|
+
export declare function startRecordingScreen(this: SafariDriver, options?: StartRecordingOptions): Promise<void>;
|
|
75
75
|
/**
|
|
76
76
|
* Stop recording the screen.
|
|
77
77
|
* If no screen recording has been started before then the method returns an empty string.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAe,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAiD5C,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,mGAAmG;IACnG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/D;AAED,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,MAAM,CAA+B;gBAG3C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE,qBAA0B;IAgBlC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiEtB,IAAI,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;YA6BrC,mBAAmB;CAelC;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.ScreenRecorder = void 0;
|
|
7
4
|
exports.startRecordingScreen = startRecordingScreen;
|
|
8
5
|
exports.stopRecordingScreen = stopRecordingScreen;
|
|
9
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
10
6
|
const support_1 = require("appium/support");
|
|
11
7
|
const asyncbox_1 = require("asyncbox");
|
|
12
8
|
const node_simctl_1 = require("node-simctl");
|
|
@@ -16,7 +12,7 @@ const DEFAULT_TIME_LIMIT_MS = 60 * 10 * 1000; // 10 minutes
|
|
|
16
12
|
const PROCESS_SHUTDOWN_TIMEOUT_MS = 10 * 1000;
|
|
17
13
|
const DEFAULT_EXT = '.mp4';
|
|
18
14
|
async function uploadRecordedMedia(localFile, remotePath = null, uploadOptions = {}) {
|
|
19
|
-
if (
|
|
15
|
+
if (!remotePath) {
|
|
20
16
|
return (await support_1.util.toInMemoryBase64(localFile)).toString();
|
|
21
17
|
}
|
|
22
18
|
const { user, pass, method, headers, fileFieldName, formFields } = uploadOptions;
|
|
@@ -65,6 +61,9 @@ class ScreenRecorder {
|
|
|
65
61
|
}
|
|
66
62
|
}
|
|
67
63
|
}
|
|
64
|
+
get isRunning() {
|
|
65
|
+
return !!this._process?.isRunning;
|
|
66
|
+
}
|
|
68
67
|
async getVideoPath() {
|
|
69
68
|
if (await support_1.fs.exists(this._videoPath)) {
|
|
70
69
|
VIDEO_FILES.add(this._videoPath);
|
|
@@ -72,9 +71,6 @@ class ScreenRecorder {
|
|
|
72
71
|
}
|
|
73
72
|
return '';
|
|
74
73
|
}
|
|
75
|
-
get isRunning() {
|
|
76
|
-
return !!this._process?.isRunning;
|
|
77
|
-
}
|
|
78
74
|
async start() {
|
|
79
75
|
const args = [this._udid, 'recordVideo'];
|
|
80
76
|
if (this._display) {
|
|
@@ -93,7 +89,7 @@ class ScreenRecorder {
|
|
|
93
89
|
});
|
|
94
90
|
this.log.debug(`Starting video recording with arguments: ${support_1.util.quote(args)}`);
|
|
95
91
|
this._process.on('output', (stdout, stderr) => {
|
|
96
|
-
const line =
|
|
92
|
+
const line = (stdout || stderr)?.trim() ?? '';
|
|
97
93
|
if (line) {
|
|
98
94
|
this.log.debug(`[recordVideo@${this._udid.substring(0, 8)}] ${line}`);
|
|
99
95
|
}
|
|
@@ -179,26 +175,6 @@ class ScreenRecorder {
|
|
|
179
175
|
}
|
|
180
176
|
}
|
|
181
177
|
exports.ScreenRecorder = ScreenRecorder;
|
|
182
|
-
async function extractSimulatorUdid(caps) {
|
|
183
|
-
if (caps['safari:useSimulator'] === false) {
|
|
184
|
-
return null;
|
|
185
|
-
}
|
|
186
|
-
const allDevices = lodash_1.default.flatMap(lodash_1.default.values(await new node_simctl_1.Simctl().getDevices(null, 'iOS')));
|
|
187
|
-
for (const { name, udid, state, sdk } of allDevices) {
|
|
188
|
-
if (state !== 'Booted') {
|
|
189
|
-
continue;
|
|
190
|
-
}
|
|
191
|
-
if (lodash_1.default.toLower(caps['safari:deviceUDID']) === lodash_1.default.toLower(udid)) {
|
|
192
|
-
return udid;
|
|
193
|
-
}
|
|
194
|
-
if (lodash_1.default.toLower(caps['safari:deviceName']) === lodash_1.default.toLower(name) &&
|
|
195
|
-
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
|
|
196
|
-
!caps['safari:platformVersion'])) {
|
|
197
|
-
return udid;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
return null;
|
|
201
|
-
}
|
|
202
178
|
/**
|
|
203
179
|
* Record the Simulator's display in background while the automated test is running.
|
|
204
180
|
* This method uses `xcrun simctl io recordVideo` helper under the hood.
|
|
@@ -264,10 +240,30 @@ async function stopRecordingScreen(options) {
|
|
|
264
240
|
this.log.info('No video data is found. Returning an empty string');
|
|
265
241
|
return '';
|
|
266
242
|
}
|
|
267
|
-
if (
|
|
243
|
+
if (!options?.remotePath) {
|
|
268
244
|
const { size } = await support_1.fs.stat(videoPath);
|
|
269
245
|
this.log.debug(`The size of the resulting screen recording is ${support_1.util.toReadableSizeString(size)}`);
|
|
270
246
|
}
|
|
271
247
|
return await uploadRecordedMedia(videoPath, options?.remotePath ?? null, options ?? {});
|
|
272
248
|
}
|
|
249
|
+
async function extractSimulatorUdid(caps) {
|
|
250
|
+
if (caps['safari:useSimulator'] === false) {
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
const allDevices = Object.values(await new node_simctl_1.Simctl().getDevices(null, 'iOS')).flat();
|
|
254
|
+
for (const { name, udid, state, sdk } of allDevices) {
|
|
255
|
+
if (state !== 'Booted') {
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
if (caps['safari:deviceUDID']?.toLowerCase() === udid.toLowerCase()) {
|
|
259
|
+
return udid;
|
|
260
|
+
}
|
|
261
|
+
if (caps['safari:deviceName']?.toLowerCase() === name.toLowerCase() &&
|
|
262
|
+
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
|
|
263
|
+
!caps['safari:platformVersion'])) {
|
|
264
|
+
return udid;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
273
269
|
//# sourceMappingURL=record-screen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-screen.js","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"record-screen.js","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"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"}
|
package/build/lib/driver.d.ts
CHANGED
|
@@ -5,11 +5,8 @@ import { type SafariConstraints } from './desired-caps';
|
|
|
5
5
|
import * as cookieCommands from './commands/cookies';
|
|
6
6
|
import * as findCommands from './commands/find';
|
|
7
7
|
import * as recordScreenCommands from './commands/record-screen';
|
|
8
|
+
type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
|
|
8
9
|
export declare class SafariDriver extends BaseDriver<SafariConstraints, StringRecord> implements ExternalDriver<SafariConstraints, string, StringRecord> {
|
|
9
|
-
private isProxyActive;
|
|
10
|
-
private _safari;
|
|
11
|
-
proxyReqRes: ((...args: any[]) => any) | null;
|
|
12
|
-
_screenRecorder: recordScreenCommands.ScreenRecorder | null;
|
|
13
10
|
static newMethodMap: {
|
|
14
11
|
readonly '/session/:sessionId/appium/start_recording_screen': {
|
|
15
12
|
readonly POST: {
|
|
@@ -28,6 +25,14 @@ export declare class SafariDriver extends BaseDriver<SafariConstraints, StringRe
|
|
|
28
25
|
};
|
|
29
26
|
};
|
|
30
27
|
};
|
|
28
|
+
proxyReqRes: ((...args: any[]) => any) | null;
|
|
29
|
+
_screenRecorder: recordScreenCommands.ScreenRecorder | null;
|
|
30
|
+
deleteCookies: typeof cookieCommands.deleteCookies;
|
|
31
|
+
findElOrEls: typeof findCommands.findElOrEls;
|
|
32
|
+
startRecordingScreen: typeof recordScreenCommands.startRecordingScreen;
|
|
33
|
+
stopRecordingScreen: typeof recordScreenCommands.stopRecordingScreen;
|
|
34
|
+
private isProxyActive;
|
|
35
|
+
private _safari;
|
|
31
36
|
constructor(opts?: InitialOpts);
|
|
32
37
|
get safari(): SafariDriverServer;
|
|
33
38
|
proxyActive(): boolean;
|
|
@@ -36,11 +41,6 @@ export declare class SafariDriver extends BaseDriver<SafariConstraints, StringRe
|
|
|
36
41
|
createSession(w3cCaps1: W3CSafariDriverCaps, w3cCaps2?: W3CSafariDriverCaps, w3cCaps3?: W3CSafariDriverCaps, driverData?: DriverData[]): Promise<DefaultCreateSessionResult<SafariConstraints>>;
|
|
37
42
|
deleteSession(): Promise<void>;
|
|
38
43
|
private resetState;
|
|
39
|
-
deleteCookies: typeof cookieCommands.deleteCookies;
|
|
40
|
-
findElOrEls: typeof findCommands.findElOrEls;
|
|
41
|
-
startRecordingScreen: typeof recordScreenCommands.startRecordingScreen;
|
|
42
|
-
stopRecordingScreen: typeof recordScreenCommands.stopRecordingScreen;
|
|
43
44
|
}
|
|
44
45
|
export default SafariDriver;
|
|
45
|
-
type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
|
|
46
46
|
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAwB,KAAK,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AAajE,qBAAa,YACX,SAAQ,UAAU,CAAC,iBAAiB,EAAE,YAAY,CAClD,YAAW,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC;IAElE,
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAwB,KAAK,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AAajE,KAAK,mBAAmB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAE5D,qBAAa,YACX,SAAQ,UAAU,CAAC,iBAAiB,EAAE,YAAY,CAClD,YAAW,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC;IAElE,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;MAAgB;IAEnC,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;IAE5D,aAAa,sCAAgC;IAE7C,WAAW,kCAA4B;IAEvC,oBAAoB,mDAA6C;IACjE,mBAAmB,kDAA4C;IAE/D,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,OAAO,CAA4B;gBAE/B,IAAI,GAAE,WAA+B;IAgBjD,IAAI,MAAM,IAAI,kBAAkB,CAK/B;IAEQ,WAAW,IAAI,OAAO;IAItB,iBAAiB,IAAI,YAAY,EAAE;IAInC,QAAQ,IAAI,OAAO;IAIb,aAAa,CAC1B,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,UAAU,CAAC,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IAgB1C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAS7C,OAAO,CAAC,UAAU;CAMnB;AAED,eAAe,YAAY,CAAC"}
|
package/build/lib/driver.js
CHANGED
|
@@ -50,11 +50,15 @@ const NO_PROXY = [
|
|
|
50
50
|
['DELETE', new RegExp('^/session/[^/]+/cookie$')],
|
|
51
51
|
];
|
|
52
52
|
class SafariDriver extends driver_1.BaseDriver {
|
|
53
|
-
|
|
54
|
-
_safari;
|
|
53
|
+
static newMethodMap = method_map_1.newMethodMap;
|
|
55
54
|
proxyReqRes;
|
|
56
55
|
_screenRecorder;
|
|
57
|
-
|
|
56
|
+
deleteCookies = cookieCommands.deleteCookies;
|
|
57
|
+
findElOrEls = findCommands.findElOrEls;
|
|
58
|
+
startRecordingScreen = recordScreenCommands.startRecordingScreen;
|
|
59
|
+
stopRecordingScreen = recordScreenCommands.stopRecordingScreen;
|
|
60
|
+
isProxyActive;
|
|
61
|
+
_safari;
|
|
58
62
|
constructor(opts = {}) {
|
|
59
63
|
super(opts);
|
|
60
64
|
this.desiredCapConstraints = desired_caps_1.desiredCapConstraints;
|
|
@@ -114,10 +118,6 @@ class SafariDriver extends driver_1.BaseDriver {
|
|
|
114
118
|
this.isProxyActive = false;
|
|
115
119
|
this._screenRecorder = null;
|
|
116
120
|
}
|
|
117
|
-
deleteCookies = cookieCommands.deleteCookies;
|
|
118
|
-
findElOrEls = findCommands.findElOrEls;
|
|
119
|
-
startRecordingScreen = recordScreenCommands.startRecordingScreen;
|
|
120
|
-
stopRecordingScreen = recordScreenCommands.stopRecordingScreen;
|
|
121
121
|
}
|
|
122
122
|
exports.SafariDriver = SafariDriver;
|
|
123
123
|
exports.default = SafariDriver;
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,0CAAyC;AACzC,qCAA4C;AAC5C,iDAA6E;AAC7E,mEAAqD;AACrD,8DAAgD;AAChD,+EAAiE;AACjE,mCAA4C;AAC5C,6CAA0C;AAE1C,MAAM,QAAQ,GAAmB;IAC/B,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC7C,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAElD,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,yBAAyB,CAAC,CAAC;CAClD,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAS,MAAM,eAAe,CAAC;AAM9C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAYpF,cAAM,WAAY,SAAQ,OAAO;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IAEV,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,QAAe;CASnF;
|
|
1
|
+
{"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAS,MAAM,eAAe,CAAC;AAM9C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAYpF,cAAM,WAAY,SAAQ,OAAO;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IAEV,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,QAAe;CASnF;AA0ED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,GAAG,EAAE,YAAY;IAI7B,IAAI,KAAK,IAAI,WAAW,CAKvB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DnE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAc5B;AAED,eAAe,kBAAkB,CAAC"}
|
package/build/lib/safari.js
CHANGED
package/build/lib/safari.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari.js","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAC7B,0CAA8C;AAC9C,4CAAgD;AAChD,+CAAwC;AACxC,uCAA0C;AAC1C,6CAA8C;AAC9C,2DAA4C;AAG5C,MAAM,SAAS,GAAG,cAAc,CAAC;AACjC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,UAAU;AACzC,MAAM,iBAAiB,GAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACzD,oCAAoC;AACpC,4EAA4E;AAC5E,MAAM,mBAAmB,GAAG,cAAI,CAAC,gBAAgB,CAC/C,mBAAI,CAAC,OAAO,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,EACrD,EAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAChC,CAAC;AAEF,MAAM,WAAY,SAAQ,gBAAO;IAC/B,cAAc,CAAW;IAEhB,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,MAAkB,EAAE,OAAiB,IAAI;QAChF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,eAAM,CAAC,mBAAmB,CAClC,IAAI,MAAM,IAAI,GAAG,sDAAsD;gBACrE,sFAAsF,CACzF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAED,MAAM,mBAAmB;
|
|
1
|
+
{"version":3,"file":"safari.js","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"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"}
|
package/build/lib/utils.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { StringRecord } from '@appium/types';
|
|
2
|
+
/**
|
|
3
|
+
* Formats the given capabilities for use with Safari Driver Server.
|
|
4
|
+
* @param caps - The capabilities to format.
|
|
5
|
+
* @returns The formatted capabilities.
|
|
6
|
+
*/
|
|
2
7
|
declare function formatCapsForServer(caps: StringRecord): StringRecord;
|
|
3
8
|
export { formatCapsForServer };
|
|
4
9
|
//# sourceMappingURL=utils.d.ts.map
|
package/build/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAIhD;;;;GAIG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAc7D;AAED,OAAO,EAAC,mBAAmB,EAAC,CAAC"}
|
package/build/lib/utils.js
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.formatCapsForServer = formatCapsForServer;
|
|
7
4
|
const driver_1 = require("appium/driver");
|
|
8
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
9
5
|
const SAFARI_CAP_PREFIXES = ['safari:', 'webkit:'];
|
|
6
|
+
/**
|
|
7
|
+
* Formats the given capabilities for use with Safari Driver Server.
|
|
8
|
+
* @param caps - The capabilities to format.
|
|
9
|
+
* @returns The formatted capabilities.
|
|
10
|
+
*/
|
|
10
11
|
function formatCapsForServer(caps) {
|
|
11
12
|
const result = {
|
|
12
13
|
browserName: 'Safari',
|
|
13
14
|
browserVersion: caps.browserVersion,
|
|
14
15
|
platformName: caps.platformName || 'iOS',
|
|
15
16
|
};
|
|
16
|
-
for (const [name, value] of
|
|
17
|
+
for (const [name, value] of Object.entries(caps)) {
|
|
17
18
|
if (SAFARI_CAP_PREFIXES.some((prefix) => name.startsWith(prefix))) {
|
|
18
19
|
result[name] = value;
|
|
19
20
|
}
|
|
20
|
-
else if (!
|
|
21
|
+
else if (!Object.hasOwn(result, name) && driver_1.STANDARD_CAPS.has(name)) {
|
|
21
22
|
result[name] = value;
|
|
22
23
|
}
|
|
23
24
|
}
|
package/build/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":";;AA0BQ,kDAAmB;AA1B3B,0CAA4C;AAG5C,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEnD;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,IAAkB;IAC7C,MAAM,MAAM,GAAiB;QAC3B,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;KACzC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,CAAC,IAAW,CAAC,EAAE,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _ from 'lodash';
|
|
2
1
|
import {util, fs, net, tempDir} from 'appium/support';
|
|
3
2
|
import {waitForCondition} from 'asyncbox';
|
|
4
3
|
import {Simctl} from 'node-simctl';
|
|
@@ -26,7 +25,7 @@ async function uploadRecordedMedia(
|
|
|
26
25
|
remotePath: string | null = null,
|
|
27
26
|
uploadOptions: UploadOptions = {},
|
|
28
27
|
): Promise<string> {
|
|
29
|
-
if (
|
|
28
|
+
if (!remotePath) {
|
|
30
29
|
return (await util.toInMemoryBase64(localFile)).toString();
|
|
31
30
|
}
|
|
32
31
|
|
|
@@ -53,6 +52,48 @@ process.on('exit', () => {
|
|
|
53
52
|
}
|
|
54
53
|
});
|
|
55
54
|
|
|
55
|
+
export interface StartRecordingOptions {
|
|
56
|
+
/** Specifies the codec type: "h264" or "hevc" */
|
|
57
|
+
codec?: string;
|
|
58
|
+
/** Supports "internal" or "external". Default is "internal" */
|
|
59
|
+
display?: string;
|
|
60
|
+
/** For non-rectangular displays, handle the mask by policy:
|
|
61
|
+
* - ignored: The mask is ignored and the unmasked framebuffer is saved.
|
|
62
|
+
* - alpha: Not supported, but retained for compatibility; the mask is rendered black.
|
|
63
|
+
* - black: The mask is rendered black.
|
|
64
|
+
*/
|
|
65
|
+
mask?: string;
|
|
66
|
+
/** The maximum recording time, in seconds. The default value is 600 seconds (10 minutes). */
|
|
67
|
+
timeLimit?: string | number;
|
|
68
|
+
/** Whether to ignore the call if a screen recording is currently running
|
|
69
|
+
* (`false`) or to start a new recording immediately and terminate the existing one if running (`true`).
|
|
70
|
+
*/
|
|
71
|
+
forceRestart?: boolean;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface StopRecordingOptions {
|
|
75
|
+
/** The path to the remote location, where the resulting video should be uploaded.
|
|
76
|
+
* The following protocols are supported: http/https, ftp.
|
|
77
|
+
* Null or empty string value (the default setting) means the content of resulting
|
|
78
|
+
* file should be encoded as Base64 and passed as the endpoint response value.
|
|
79
|
+
* An exception will be thrown if the generated media file is too big to
|
|
80
|
+
* fit into the available process memory.
|
|
81
|
+
*/
|
|
82
|
+
remotePath?: string;
|
|
83
|
+
/** The name of the user for the remote authentication. */
|
|
84
|
+
user?: string;
|
|
85
|
+
/** The password for the remote authentication. */
|
|
86
|
+
pass?: string;
|
|
87
|
+
/** The http multipart upload method name. The 'PUT' one is used by default. */
|
|
88
|
+
method?: string;
|
|
89
|
+
/** Additional headers mapping for multipart http(s) uploads */
|
|
90
|
+
headers?: Record<string, string>;
|
|
91
|
+
/** The name of the form field, where the file content BLOB should be stored for http(s) uploads */
|
|
92
|
+
fileFieldName?: string;
|
|
93
|
+
/** Additional form fields for multipart http(s) uploads */
|
|
94
|
+
formFields?: Record<string, string> | Array<[string, string]>;
|
|
95
|
+
}
|
|
96
|
+
|
|
56
97
|
interface ScreenRecorderOptions {
|
|
57
98
|
codec?: string;
|
|
58
99
|
display?: string;
|
|
@@ -91,6 +132,10 @@ export class ScreenRecorder {
|
|
|
91
132
|
}
|
|
92
133
|
}
|
|
93
134
|
|
|
135
|
+
get isRunning(): boolean {
|
|
136
|
+
return !!this._process?.isRunning;
|
|
137
|
+
}
|
|
138
|
+
|
|
94
139
|
async getVideoPath(): Promise<string> {
|
|
95
140
|
if (await fs.exists(this._videoPath)) {
|
|
96
141
|
VIDEO_FILES.add(this._videoPath);
|
|
@@ -99,10 +144,6 @@ export class ScreenRecorder {
|
|
|
99
144
|
return '';
|
|
100
145
|
}
|
|
101
146
|
|
|
102
|
-
get isRunning(): boolean {
|
|
103
|
-
return !!this._process?.isRunning;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
147
|
async start(): Promise<void> {
|
|
107
148
|
const args: string[] = [this._udid, 'recordVideo'];
|
|
108
149
|
if (this._display) {
|
|
@@ -121,7 +162,7 @@ export class ScreenRecorder {
|
|
|
121
162
|
});
|
|
122
163
|
this.log.debug(`Starting video recording with arguments: ${util.quote(args)}`);
|
|
123
164
|
this._process.on('output', (stdout, stderr) => {
|
|
124
|
-
const line =
|
|
165
|
+
const line = (stdout || stderr)?.trim() ?? '';
|
|
125
166
|
if (line) {
|
|
126
167
|
this.log.debug(`[recordVideo@${this._udid.substring(0, 8)}] ${line}`);
|
|
127
168
|
}
|
|
@@ -214,51 +255,6 @@ export class ScreenRecorder {
|
|
|
214
255
|
}
|
|
215
256
|
}
|
|
216
257
|
|
|
217
|
-
async function extractSimulatorUdid(caps: StringRecord): Promise<string | null> {
|
|
218
|
-
if (caps['safari:useSimulator'] === false) {
|
|
219
|
-
return null;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
const allDevices = _.flatMap(_.values(await new Simctl().getDevices(null, 'iOS')));
|
|
223
|
-
for (const {name, udid, state, sdk} of allDevices) {
|
|
224
|
-
if (state !== 'Booted') {
|
|
225
|
-
continue;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
if (_.toLower(caps['safari:deviceUDID']) === _.toLower(udid)) {
|
|
229
|
-
return udid;
|
|
230
|
-
}
|
|
231
|
-
if (
|
|
232
|
-
_.toLower(caps['safari:deviceName']) === _.toLower(name) &&
|
|
233
|
-
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
|
|
234
|
-
!caps['safari:platformVersion'])
|
|
235
|
-
) {
|
|
236
|
-
return udid;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
return null;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
export interface StartRecordingOptions {
|
|
244
|
-
/** Specifies the codec type: "h264" or "hevc" */
|
|
245
|
-
codec?: string;
|
|
246
|
-
/** Supports "internal" or "external". Default is "internal" */
|
|
247
|
-
display?: string;
|
|
248
|
-
/** For non-rectangular displays, handle the mask by policy:
|
|
249
|
-
* - ignored: The mask is ignored and the unmasked framebuffer is saved.
|
|
250
|
-
* - alpha: Not supported, but retained for compatibility; the mask is rendered black.
|
|
251
|
-
* - black: The mask is rendered black.
|
|
252
|
-
*/
|
|
253
|
-
mask?: string;
|
|
254
|
-
/** The maximum recording time, in seconds. The default value is 600 seconds (10 minutes). */
|
|
255
|
-
timeLimit?: string | number;
|
|
256
|
-
/** Whether to ignore the call if a screen recording is currently running
|
|
257
|
-
* (`false`) or to start a new recording immediately and terminate the existing one if running (`true`).
|
|
258
|
-
*/
|
|
259
|
-
forceRestart?: boolean;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
258
|
/**
|
|
263
259
|
* Record the Simulator's display in background while the automated test is running.
|
|
264
260
|
* This method uses `xcrun simctl io recordVideo` helper under the hood.
|
|
@@ -309,29 +305,6 @@ export async function startRecordingScreen(
|
|
|
309
305
|
}
|
|
310
306
|
}
|
|
311
307
|
|
|
312
|
-
export interface StopRecordingOptions {
|
|
313
|
-
/** The path to the remote location, where the resulting video should be uploaded.
|
|
314
|
-
* The following protocols are supported: http/https, ftp.
|
|
315
|
-
* Null or empty string value (the default setting) means the content of resulting
|
|
316
|
-
* file should be encoded as Base64 and passed as the endpoint response value.
|
|
317
|
-
* An exception will be thrown if the generated media file is too big to
|
|
318
|
-
* fit into the available process memory.
|
|
319
|
-
*/
|
|
320
|
-
remotePath?: string;
|
|
321
|
-
/** The name of the user for the remote authentication. */
|
|
322
|
-
user?: string;
|
|
323
|
-
/** The password for the remote authentication. */
|
|
324
|
-
pass?: string;
|
|
325
|
-
/** The http multipart upload method name. The 'PUT' one is used by default. */
|
|
326
|
-
method?: string;
|
|
327
|
-
/** Additional headers mapping for multipart http(s) uploads */
|
|
328
|
-
headers?: Record<string, string>;
|
|
329
|
-
/** The name of the form field, where the file content BLOB should be stored for http(s) uploads */
|
|
330
|
-
fileFieldName?: string;
|
|
331
|
-
/** Additional form fields for multipart http(s) uploads */
|
|
332
|
-
formFields?: Record<string, string> | Array<[string, string]>;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
308
|
/**
|
|
336
309
|
* Stop recording the screen.
|
|
337
310
|
* If no screen recording has been started before then the method returns an empty string.
|
|
@@ -358,7 +331,7 @@ export async function stopRecordingScreen(
|
|
|
358
331
|
this.log.info('No video data is found. Returning an empty string');
|
|
359
332
|
return '';
|
|
360
333
|
}
|
|
361
|
-
if (
|
|
334
|
+
if (!options?.remotePath) {
|
|
362
335
|
const {size} = await fs.stat(videoPath);
|
|
363
336
|
this.log.debug(
|
|
364
337
|
`The size of the resulting screen recording is ${util.toReadableSizeString(size)}`,
|
|
@@ -366,3 +339,29 @@ export async function stopRecordingScreen(
|
|
|
366
339
|
}
|
|
367
340
|
return await uploadRecordedMedia(videoPath, options?.remotePath ?? null, options ?? {});
|
|
368
341
|
}
|
|
342
|
+
|
|
343
|
+
async function extractSimulatorUdid(caps: StringRecord): Promise<string | null> {
|
|
344
|
+
if (caps['safari:useSimulator'] === false) {
|
|
345
|
+
return null;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
const allDevices = Object.values(await new Simctl().getDevices(null, 'iOS')).flat();
|
|
349
|
+
for (const {name, udid, state, sdk} of allDevices) {
|
|
350
|
+
if (state !== 'Booted') {
|
|
351
|
+
continue;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
if (caps['safari:deviceUDID']?.toLowerCase() === udid.toLowerCase()) {
|
|
355
|
+
return udid;
|
|
356
|
+
}
|
|
357
|
+
if (
|
|
358
|
+
caps['safari:deviceName']?.toLowerCase() === name.toLowerCase() &&
|
|
359
|
+
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
|
|
360
|
+
!caps['safari:platformVersion'])
|
|
361
|
+
) {
|
|
362
|
+
return udid;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
return null;
|
|
367
|
+
}
|
package/lib/driver.ts
CHANGED
|
@@ -25,16 +25,26 @@ const NO_PROXY: RouteMatcher[] = [
|
|
|
25
25
|
['DELETE', new RegExp('^/session/[^/]+/cookie$')],
|
|
26
26
|
];
|
|
27
27
|
|
|
28
|
+
type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
|
|
29
|
+
|
|
28
30
|
export class SafariDriver
|
|
29
31
|
extends BaseDriver<SafariConstraints, StringRecord>
|
|
30
32
|
implements ExternalDriver<SafariConstraints, string, StringRecord>
|
|
31
33
|
{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
static newMethodMap = newMethodMap;
|
|
35
|
+
|
|
34
36
|
proxyReqRes: ((...args: any[]) => any) | null;
|
|
35
37
|
_screenRecorder: recordScreenCommands.ScreenRecorder | null;
|
|
36
38
|
|
|
37
|
-
|
|
39
|
+
deleteCookies = cookieCommands.deleteCookies;
|
|
40
|
+
|
|
41
|
+
findElOrEls = findCommands.findElOrEls;
|
|
42
|
+
|
|
43
|
+
startRecordingScreen = recordScreenCommands.startRecordingScreen;
|
|
44
|
+
stopRecordingScreen = recordScreenCommands.stopRecordingScreen;
|
|
45
|
+
|
|
46
|
+
private isProxyActive: boolean;
|
|
47
|
+
private _safari: SafariDriverServer | null;
|
|
38
48
|
|
|
39
49
|
constructor(opts: InitialOpts = {} as InitialOpts) {
|
|
40
50
|
super(opts);
|
|
@@ -107,15 +117,6 @@ export class SafariDriver
|
|
|
107
117
|
this.isProxyActive = false;
|
|
108
118
|
this._screenRecorder = null;
|
|
109
119
|
}
|
|
110
|
-
|
|
111
|
-
deleteCookies = cookieCommands.deleteCookies;
|
|
112
|
-
|
|
113
|
-
findElOrEls = findCommands.findElOrEls;
|
|
114
|
-
|
|
115
|
-
startRecordingScreen = recordScreenCommands.startRecordingScreen;
|
|
116
|
-
stopRecordingScreen = recordScreenCommands.stopRecordingScreen;
|
|
117
120
|
}
|
|
118
121
|
|
|
119
122
|
export default SafariDriver;
|
|
120
|
-
|
|
121
|
-
type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
|
package/lib/safari.ts
CHANGED
|
@@ -33,10 +33,11 @@ class SafariProxy extends JWProxy {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
class SafariDriverProcess {
|
|
36
|
-
private readonly log: AppiumLogger;
|
|
37
36
|
public port: number | null = null;
|
|
38
37
|
public proc: SubProcess | null = null;
|
|
39
38
|
|
|
39
|
+
private readonly log: AppiumLogger;
|
|
40
|
+
|
|
40
41
|
constructor() {
|
|
41
42
|
this.log = logger.getLogger('SafariDriverProcess');
|
|
42
43
|
}
|
package/lib/utils.ts
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import {STANDARD_CAPS} from 'appium/driver';
|
|
2
|
-
import _ from 'lodash';
|
|
3
2
|
import type {StringRecord} from '@appium/types';
|
|
4
3
|
|
|
5
4
|
const SAFARI_CAP_PREFIXES = ['safari:', 'webkit:'];
|
|
6
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Formats the given capabilities for use with Safari Driver Server.
|
|
8
|
+
* @param caps - The capabilities to format.
|
|
9
|
+
* @returns The formatted capabilities.
|
|
10
|
+
*/
|
|
7
11
|
function formatCapsForServer(caps: StringRecord): StringRecord {
|
|
8
12
|
const result: StringRecord = {
|
|
9
13
|
browserName: 'Safari',
|
|
10
14
|
browserVersion: caps.browserVersion,
|
|
11
15
|
platformName: caps.platformName || 'iOS',
|
|
12
16
|
};
|
|
13
|
-
for (const [name, value] of
|
|
17
|
+
for (const [name, value] of Object.entries(caps)) {
|
|
14
18
|
if (SAFARI_CAP_PREFIXES.some((prefix) => name.startsWith(prefix))) {
|
|
15
19
|
result[name] = value;
|
|
16
|
-
} else if (!
|
|
20
|
+
} else if (!Object.hasOwn(result, name) && STANDARD_CAPS.has(name as any)) {
|
|
17
21
|
result[name] = value;
|
|
18
22
|
}
|
|
19
23
|
}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-safari-driver",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.14",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-safari-driver",
|
|
9
|
-
"version": "4.1.
|
|
9
|
+
"version": "4.1.14",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"asyncbox": "^6.1.0",
|
|
13
13
|
"bluebird": "^3.5.1",
|
|
14
|
-
"lodash": "^4.17.4",
|
|
15
14
|
"node-simctl": "^8.0.0",
|
|
16
15
|
"portscanner": "2.2.0",
|
|
17
16
|
"teen_process": "^4.0.4"
|
|
@@ -23,7 +22,6 @@
|
|
|
23
22
|
"@semantic-release/changelog": "^6.0.1",
|
|
24
23
|
"@semantic-release/git": "^10.0.1",
|
|
25
24
|
"@types/bluebird": "^3.5.38",
|
|
26
|
-
"@types/lodash": "^4.14.196",
|
|
27
25
|
"@types/mocha": "^10.0.1",
|
|
28
26
|
"@types/node": "^25.0.0",
|
|
29
27
|
"chai": "^6.0.0",
|
|
@@ -45,14 +43,14 @@
|
|
|
45
43
|
}
|
|
46
44
|
},
|
|
47
45
|
"node_modules/@appium/logger": {
|
|
48
|
-
"version": "2.0.
|
|
49
|
-
"resolved": "https://registry.npmjs.org/@appium/logger/-/logger-2.0.
|
|
50
|
-
"integrity": "sha512-
|
|
46
|
+
"version": "2.0.7",
|
|
47
|
+
"resolved": "https://registry.npmjs.org/@appium/logger/-/logger-2.0.7.tgz",
|
|
48
|
+
"integrity": "sha512-WqagwYDZlPsSkICrXL9wB1E7qgErnwmYc/Q6NLVAC2ckXkWioh3fZ49AK5zevbJCnnkQbU2y8497Mk4xWDetkg==",
|
|
51
49
|
"license": "ISC",
|
|
52
50
|
"dependencies": {
|
|
53
51
|
"console-control-strings": "1.1.0",
|
|
54
52
|
"lodash": "4.18.1",
|
|
55
|
-
"lru-cache": "11.3.
|
|
53
|
+
"lru-cache": "11.3.5",
|
|
56
54
|
"set-blocking": "2.0.0"
|
|
57
55
|
},
|
|
58
56
|
"engines": {
|
|
@@ -87,15 +85,15 @@
|
|
|
87
85
|
}
|
|
88
86
|
},
|
|
89
87
|
"node_modules/@appium/types": {
|
|
90
|
-
"version": "1.3.
|
|
91
|
-
"resolved": "https://registry.npmjs.org/@appium/types/-/types-1.3.
|
|
92
|
-
"integrity": "sha512-
|
|
88
|
+
"version": "1.3.1",
|
|
89
|
+
"resolved": "https://registry.npmjs.org/@appium/types/-/types-1.3.1.tgz",
|
|
90
|
+
"integrity": "sha512-SWTntQ8EAI1m6P2LWqcqASGkRLk5HiKv2V2x7DSfknS8AsiF2ymr6T6oPJ7hUrTkEUA/3ncTSZji5Oq4h5TjzA==",
|
|
93
91
|
"license": "Apache-2.0",
|
|
94
92
|
"dependencies": {
|
|
95
|
-
"@appium/logger": "2.0.
|
|
93
|
+
"@appium/logger": "2.0.7",
|
|
96
94
|
"@appium/schema": "1.1.0",
|
|
97
95
|
"@appium/tsconfig": "1.1.2",
|
|
98
|
-
"type-fest": "5.
|
|
96
|
+
"type-fest": "5.6.0"
|
|
99
97
|
},
|
|
100
98
|
"engines": {
|
|
101
99
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
@@ -437,9 +435,9 @@
|
|
|
437
435
|
}
|
|
438
436
|
},
|
|
439
437
|
"node_modules/b4a": {
|
|
440
|
-
"version": "1.8.
|
|
441
|
-
"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.
|
|
442
|
-
"integrity": "sha512-
|
|
438
|
+
"version": "1.8.1",
|
|
439
|
+
"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz",
|
|
440
|
+
"integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==",
|
|
443
441
|
"extraneous": true,
|
|
444
442
|
"license": "Apache-2.0",
|
|
445
443
|
"peerDependencies": {
|
|
@@ -499,9 +497,9 @@
|
|
|
499
497
|
}
|
|
500
498
|
},
|
|
501
499
|
"node_modules/bare-os": {
|
|
502
|
-
"version": "3.
|
|
503
|
-
"resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.
|
|
504
|
-
"integrity": "sha512-
|
|
500
|
+
"version": "3.9.0",
|
|
501
|
+
"resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.0.tgz",
|
|
502
|
+
"integrity": "sha512-JTjuZyNIDpw+GytMO4a6TK1VXdVKKJr6DRxEHasyuYyShV2deuiHJK/ahGZlebc+SG0/wJCB9XK8gprBGDFi/Q==",
|
|
505
503
|
"extraneous": true,
|
|
506
504
|
"license": "Apache-2.0",
|
|
507
505
|
"engines": {
|
|
@@ -519,9 +517,9 @@
|
|
|
519
517
|
}
|
|
520
518
|
},
|
|
521
519
|
"node_modules/bare-stream": {
|
|
522
|
-
"version": "2.13.
|
|
523
|
-
"resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.
|
|
524
|
-
"integrity": "sha512-
|
|
520
|
+
"version": "2.13.1",
|
|
521
|
+
"resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.1.tgz",
|
|
522
|
+
"integrity": "sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow==",
|
|
525
523
|
"extraneous": true,
|
|
526
524
|
"license": "Apache-2.0",
|
|
527
525
|
"dependencies": {
|
|
@@ -546,9 +544,9 @@
|
|
|
546
544
|
}
|
|
547
545
|
},
|
|
548
546
|
"node_modules/bare-url": {
|
|
549
|
-
"version": "2.4.
|
|
550
|
-
"resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.
|
|
551
|
-
"integrity": "sha512
|
|
547
|
+
"version": "2.4.2",
|
|
548
|
+
"resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.2.tgz",
|
|
549
|
+
"integrity": "sha512-/9a2j4ac6ckpmAHvod/ob7x439OAHst/drc2Clnq+reRYd/ovddwcF4LfoxHyNk5AuGBnPg+HqFjmE/Zpq6v0A==",
|
|
552
550
|
"extraneous": true,
|
|
553
551
|
"license": "Apache-2.0",
|
|
554
552
|
"dependencies": {
|
|
@@ -1244,9 +1242,9 @@
|
|
|
1244
1242
|
"license": "MIT"
|
|
1245
1243
|
},
|
|
1246
1244
|
"node_modules/lru-cache": {
|
|
1247
|
-
"version": "11.3.
|
|
1248
|
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.
|
|
1249
|
-
"integrity": "sha512-
|
|
1245
|
+
"version": "11.3.5",
|
|
1246
|
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz",
|
|
1247
|
+
"integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==",
|
|
1250
1248
|
"license": "BlueOak-1.0.0",
|
|
1251
1249
|
"engines": {
|
|
1252
1250
|
"node": "20 || >=22"
|
|
@@ -1279,19 +1277,16 @@
|
|
|
1279
1277
|
"license": "MIT"
|
|
1280
1278
|
},
|
|
1281
1279
|
"node_modules/node-simctl": {
|
|
1282
|
-
"version": "8.1
|
|
1283
|
-
"resolved": "https://registry.npmjs.org/node-simctl/-/node-simctl-8.1.
|
|
1284
|
-
"integrity": "sha512-
|
|
1280
|
+
"version": "8.2.1",
|
|
1281
|
+
"resolved": "https://registry.npmjs.org/node-simctl/-/node-simctl-8.2.1.tgz",
|
|
1282
|
+
"integrity": "sha512-1TINHk372IOVjVKPADOqwjU42fPi1S8Db+jJu5G83AHwsniewZdt1rG4dYzGRV+mcLWzg8GlIy1pE5ldpRdZYw==",
|
|
1285
1283
|
"license": "Apache-2.0",
|
|
1286
1284
|
"dependencies": {
|
|
1287
1285
|
"@appium/logger": "^2.0.0-rc.1",
|
|
1288
1286
|
"asyncbox": "^6.0.1",
|
|
1289
|
-
"bluebird": "^3.5.1",
|
|
1290
|
-
"lodash": "^4.2.1",
|
|
1291
1287
|
"rimraf": "^6.0.1",
|
|
1292
1288
|
"semver": "^7.0.0",
|
|
1293
1289
|
"teen_process": "^4.0.4",
|
|
1294
|
-
"uuid": "^13.0.0",
|
|
1295
1290
|
"which": "^6.0.0"
|
|
1296
1291
|
},
|
|
1297
1292
|
"engines": {
|
|
@@ -1701,14 +1696,7 @@
|
|
|
1701
1696
|
"spdx-license-ids": "^3.0.0"
|
|
1702
1697
|
}
|
|
1703
1698
|
},
|
|
1704
|
-
"node_modules/spdx-
|
|
1705
|
-
"version": "2.5.0",
|
|
1706
|
-
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
|
|
1707
|
-
"integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
|
|
1708
|
-
"extraneous": true,
|
|
1709
|
-
"license": "CC-BY-3.0"
|
|
1710
|
-
},
|
|
1711
|
-
"node_modules/spdx-expression-parse": {
|
|
1699
|
+
"node_modules/spdx-correct/node_modules/spdx-expression-parse": {
|
|
1712
1700
|
"version": "3.0.1",
|
|
1713
1701
|
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
|
|
1714
1702
|
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
|
|
@@ -1719,6 +1707,13 @@
|
|
|
1719
1707
|
"spdx-license-ids": "^3.0.0"
|
|
1720
1708
|
}
|
|
1721
1709
|
},
|
|
1710
|
+
"node_modules/spdx-exceptions": {
|
|
1711
|
+
"version": "2.5.0",
|
|
1712
|
+
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
|
|
1713
|
+
"integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
|
|
1714
|
+
"extraneous": true,
|
|
1715
|
+
"license": "CC-BY-3.0"
|
|
1716
|
+
},
|
|
1722
1717
|
"node_modules/spdx-license-ids": {
|
|
1723
1718
|
"version": "3.0.23",
|
|
1724
1719
|
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz",
|
|
@@ -1873,9 +1868,9 @@
|
|
|
1873
1868
|
}
|
|
1874
1869
|
},
|
|
1875
1870
|
"node_modules/tar-stream": {
|
|
1876
|
-
"version": "3.
|
|
1877
|
-
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.
|
|
1878
|
-
"integrity": "sha512-
|
|
1871
|
+
"version": "3.2.0",
|
|
1872
|
+
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.0.tgz",
|
|
1873
|
+
"integrity": "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==",
|
|
1879
1874
|
"extraneous": true,
|
|
1880
1875
|
"license": "MIT",
|
|
1881
1876
|
"dependencies": {
|
|
@@ -1886,9 +1881,9 @@
|
|
|
1886
1881
|
}
|
|
1887
1882
|
},
|
|
1888
1883
|
"node_modules/teen_process": {
|
|
1889
|
-
"version": "4.1.
|
|
1890
|
-
"resolved": "https://registry.npmjs.org/teen_process/-/teen_process-4.1.
|
|
1891
|
-
"integrity": "sha512-
|
|
1884
|
+
"version": "4.1.2",
|
|
1885
|
+
"resolved": "https://registry.npmjs.org/teen_process/-/teen_process-4.1.2.tgz",
|
|
1886
|
+
"integrity": "sha512-MLmWBU1vLjzYuz0BMWtEnriZl9ikFiCQWUKTmVIhnOErJ7jlHOIUEaqrPFGr0lCMxN6hhUl5pPGc3ya7Huj3jA==",
|
|
1892
1887
|
"license": "Apache-2.0",
|
|
1893
1888
|
"dependencies": {
|
|
1894
1889
|
"lodash": "^4.17.21",
|
|
@@ -1927,9 +1922,9 @@
|
|
|
1927
1922
|
"license": "0BSD"
|
|
1928
1923
|
},
|
|
1929
1924
|
"node_modules/type-fest": {
|
|
1930
|
-
"version": "5.
|
|
1931
|
-
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.
|
|
1932
|
-
"integrity": "sha512-
|
|
1925
|
+
"version": "5.6.0",
|
|
1926
|
+
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.6.0.tgz",
|
|
1927
|
+
"integrity": "sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==",
|
|
1933
1928
|
"license": "(MIT OR CC0-1.0)",
|
|
1934
1929
|
"dependencies": {
|
|
1935
1930
|
"tagged-tag": "^1.0.0"
|
|
@@ -1961,19 +1956,6 @@
|
|
|
1961
1956
|
"extraneous": true,
|
|
1962
1957
|
"license": "MIT"
|
|
1963
1958
|
},
|
|
1964
|
-
"node_modules/uuid": {
|
|
1965
|
-
"version": "13.0.0",
|
|
1966
|
-
"resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz",
|
|
1967
|
-
"integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==",
|
|
1968
|
-
"funding": [
|
|
1969
|
-
"https://github.com/sponsors/broofa",
|
|
1970
|
-
"https://github.com/sponsors/ctavan"
|
|
1971
|
-
],
|
|
1972
|
-
"license": "MIT",
|
|
1973
|
-
"bin": {
|
|
1974
|
-
"uuid": "dist-node/bin/uuid"
|
|
1975
|
-
}
|
|
1976
|
-
},
|
|
1977
1959
|
"node_modules/validate-npm-package-license": {
|
|
1978
1960
|
"version": "3.0.4",
|
|
1979
1961
|
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
|
|
@@ -1985,6 +1967,17 @@
|
|
|
1985
1967
|
"spdx-expression-parse": "^3.0.0"
|
|
1986
1968
|
}
|
|
1987
1969
|
},
|
|
1970
|
+
"node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": {
|
|
1971
|
+
"version": "3.0.1",
|
|
1972
|
+
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
|
|
1973
|
+
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
|
|
1974
|
+
"extraneous": true,
|
|
1975
|
+
"license": "MIT",
|
|
1976
|
+
"dependencies": {
|
|
1977
|
+
"spdx-exceptions": "^2.1.0",
|
|
1978
|
+
"spdx-license-ids": "^3.0.0"
|
|
1979
|
+
}
|
|
1980
|
+
},
|
|
1988
1981
|
"node_modules/which": {
|
|
1989
1982
|
"version": "6.0.1",
|
|
1990
1983
|
"resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"appium",
|
|
6
6
|
"safari"
|
|
7
7
|
],
|
|
8
|
-
"version": "4.1.
|
|
8
|
+
"version": "4.1.14",
|
|
9
9
|
"author": "Appium Contributors",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"repository": {
|
|
@@ -49,7 +49,6 @@
|
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"asyncbox": "^6.1.0",
|
|
51
51
|
"bluebird": "^3.5.1",
|
|
52
|
-
"lodash": "^4.17.4",
|
|
53
52
|
"node-simctl": "^8.0.0",
|
|
54
53
|
"portscanner": "2.2.0",
|
|
55
54
|
"teen_process": "^4.0.4"
|
|
@@ -77,7 +76,6 @@
|
|
|
77
76
|
"@semantic-release/changelog": "^6.0.1",
|
|
78
77
|
"@semantic-release/git": "^10.0.1",
|
|
79
78
|
"@types/bluebird": "^3.5.38",
|
|
80
|
-
"@types/lodash": "^4.14.196",
|
|
81
79
|
"@types/mocha": "^10.0.1",
|
|
82
80
|
"@types/node": "^25.0.0",
|
|
83
81
|
"chai": "^6.0.0",
|