appium-safari-driver 5.0.4 → 5.0.6
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 +13 -0
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/record-screen.d.ts.map +1 -1
- package/build/lib/commands/record-screen.js +2 -4
- package/build/lib/commands/record-screen.js.map +1 -1
- package/build/lib/driver.d.ts +2 -2
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +3 -3
- package/build/lib/driver.js.map +1 -1
- package/build/lib/method-map.d.ts.map +1 -1
- package/build/lib/method-map.js.map +1 -1
- package/build/lib/safari.d.ts +1 -1
- package/build/lib/safari.d.ts.map +1 -1
- package/build/lib/safari.js +7 -5
- package/build/lib/safari.js.map +1 -1
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js.map +1 -1
- package/lib/commands/find.ts +1 -0
- package/lib/commands/record-screen.ts +8 -24
- package/lib/driver.ts +4 -3
- package/lib/method-map.ts +2 -1
- package/lib/safari.ts +9 -11
- package/lib/utils.ts +1 -1
- package/npm-shrinkwrap.json +161 -202
- package/package.json +39 -50
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
## [5.0.6](https://github.com/appium/appium-safari-driver/compare/v5.0.5...v5.0.6) (2026-07-27)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* Integrate oxc and release configs ([#187](https://github.com/appium/appium-safari-driver/issues/187)) ([dc4697f](https://github.com/appium/appium-safari-driver/commit/dc4697f7a189221b923d1015e6dd54f6e3507123))
|
|
6
|
+
|
|
7
|
+
## [5.0.5](https://github.com/appium/appium-safari-driver/compare/v5.0.4...v5.0.5) (2026-07-27)
|
|
8
|
+
|
|
9
|
+
### Miscellaneous Chores
|
|
10
|
+
|
|
11
|
+
* **deps:** bump actions/setup-node from 6 to 7 ([#182](https://github.com/appium/appium-safari-driver/issues/182)) ([2dbb41c](https://github.com/appium/appium-safari-driver/commit/2dbb41c34205fd23b63e1436f8d891e3defb2515))
|
|
12
|
+
* **deps:** bump node-simctl from 8.2.9 to 9.1.0 ([#185](https://github.com/appium/appium-safari-driver/issues/185)) ([f62427c](https://github.com/appium/appium-safari-driver/commit/f62427ca2821e7eb606a5c07a5a98df1b1371e00))
|
|
13
|
+
|
|
1
14
|
## [5.0.4](https://github.com/appium/appium-safari-driver/compare/v5.0.3...v5.0.4) (2026-07-01)
|
|
2
15
|
|
|
3
16
|
### Miscellaneous Chores
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,CAAC,CAMd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAIvC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAE/B,QAAgB,EAChB,QAAgB,EAChB,IAAa,EACb,OAAgB;IAEhB,MAAM,QAAQ,GAAG,WAAW,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACzG,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;QACvD,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -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":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAe,MAAM,eAAe,CAAC;AAM9D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAiD/C,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;gBAEjC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,GAAE,qBAA0B;IAehG,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,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC7G;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB7G"}
|
|
@@ -191,8 +191,7 @@ export async function startRecordingScreen(options) {
|
|
|
191
191
|
this._screenRecorder = null;
|
|
192
192
|
const udid = await extractSimulatorUdid(this.caps);
|
|
193
193
|
if (!udid) {
|
|
194
|
-
throw new Error('Cannot determine Simulator UDID to record the video from. '
|
|
195
|
-
'Double check your session capabilities');
|
|
194
|
+
throw new Error('Cannot determine Simulator UDID to record the video from. Double check your session capabilities');
|
|
196
195
|
}
|
|
197
196
|
const videoPath = await tempDir.path({
|
|
198
197
|
prefix: util.uuidV4().substring(0, 8),
|
|
@@ -253,8 +252,7 @@ async function extractSimulatorUdid(caps) {
|
|
|
253
252
|
return udid;
|
|
254
253
|
}
|
|
255
254
|
if (caps['safari:deviceName']?.toLowerCase() === name.toLowerCase() &&
|
|
256
|
-
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
|
|
257
|
-
!caps['safari:platformVersion'])) {
|
|
255
|
+
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) || !caps['safari:platformVersion'])) {
|
|
258
256
|
return udid;
|
|
259
257
|
}
|
|
260
258
|
}
|
|
@@ -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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { RouteMatcher, DefaultCreateSessionResult, DriverData, InitialOpts, StringRecord, ExternalDriver, W3CDriverCaps } from '@appium/types';
|
|
2
2
|
import { BaseDriver } from 'appium/driver.js';
|
|
3
|
-
import { SafariDriverServer } from './safari.js';
|
|
4
|
-
import { type SafariConstraints } from './desired-caps.js';
|
|
5
3
|
import * as cookieCommands from './commands/cookies.js';
|
|
6
4
|
import * as findCommands from './commands/find.js';
|
|
7
5
|
import * as recordScreenCommands from './commands/record-screen.js';
|
|
6
|
+
import { type SafariConstraints } from './desired-caps.js';
|
|
7
|
+
import { SafariDriverServer } from './safari.js';
|
|
8
8
|
type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
|
|
9
9
|
export declare class SafariDriver extends BaseDriver<SafariConstraints, StringRecord> implements ExternalDriver<SafariConstraints, string, StringRecord> {
|
|
10
10
|
static newMethodMap: {
|
|
@@ -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,kBAAkB,CAAC;
|
|
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,kBAAkB,CAAC;AAE5C,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAwB,KAAK,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAY/C,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,CAAQ;IACrD,eAAe,EAAE,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAQ;IAEnE,aAAa,sCAAgC;IAE7C,WAAW,kCAA4B;IAEvC,oBAAoB,mDAA6C;IACjE,mBAAmB,kDAA4C;IAE/D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAmC;gBAEtC,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
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BaseDriver } from 'appium/driver.js';
|
|
2
|
-
import { SafariDriverServer } from './safari.js';
|
|
3
|
-
import { desiredCapConstraints } from './desired-caps.js';
|
|
4
2
|
import * as cookieCommands from './commands/cookies.js';
|
|
5
3
|
import * as findCommands from './commands/find.js';
|
|
6
4
|
import * as recordScreenCommands from './commands/record-screen.js';
|
|
7
|
-
import {
|
|
5
|
+
import { desiredCapConstraints } from './desired-caps.js';
|
|
8
6
|
import { newMethodMap } from './method-map.js';
|
|
7
|
+
import { SafariDriverServer } from './safari.js';
|
|
8
|
+
import { formatCapsForServer } from './utils.js';
|
|
9
9
|
const NO_PROXY = [
|
|
10
10
|
['GET', new RegExp('^/session/[^/]+/appium')],
|
|
11
11
|
['POST', new RegExp('^/session/[^/]+/appium')],
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-map.d.ts","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"method-map.d.ts","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAamB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,mDAAmD,EAAE;QACnD,IAAI,EAAE;YACJ,OAAO,EAAE,sBAAsB;YAC/B,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAC;SACvC;KACF;IACD,kDAAkD,EAAE;QAClD,IAAI,EAAE;YACJ,OAAO,EAAE,qBAAqB;YAC9B,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAC;SACvC;KACF;CACyC,CAAC"}
|
package/build/lib/safari.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { JWProxy } from 'appium/driver.js';
|
|
2
1
|
import type { AppiumLogger, StringRecord, HTTPMethod, HTTPBody } from '@appium/types';
|
|
2
|
+
import { JWProxy } from 'appium/driver.js';
|
|
3
3
|
declare class SafariProxy extends JWProxy {
|
|
4
4
|
didProcessExit?: boolean;
|
|
5
5
|
proxyCommand(url: string, method: HTTPMethod, body?: HTTPBody): Promise<[import("@appium/types").ProxyResponse<any>, any]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AACpF,OAAO,EAAC,OAAO,EAAS,MAAM,kBAAkB,CAAC;AAgBjD,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;AAuED,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;IA+DnE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAc5B;AAED,eAAe,kBAAkB,CAAC"}
|
package/build/lib/safari.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
1
2
|
import os from 'node:os';
|
|
2
3
|
import path from 'node:path';
|
|
3
4
|
import { JWProxy, errors } from 'appium/driver.js';
|
|
4
5
|
import { fs, logger, util } from 'appium/support.js';
|
|
5
|
-
import { SubProcess } from 'teen_process';
|
|
6
6
|
import { waitForCondition } from 'asyncbox';
|
|
7
7
|
import { findAPortNotInUse } from 'portscanner';
|
|
8
|
-
import {
|
|
8
|
+
import { SubProcess } from 'teen_process';
|
|
9
9
|
const SD_BINARY = 'safaridriver';
|
|
10
10
|
const STARTUP_TIMEOUT = 10000; // seconds
|
|
11
11
|
const SAFARI_PORT_RANGE = [5100, 5200];
|
|
12
12
|
// This guard is needed to make sure
|
|
13
13
|
// we never run multiple Safari driver processes for the same Appium process
|
|
14
|
-
const SAFARI_SERVER_GUARD = util.getLockFileGuard(path.resolve(os.tmpdir(), 'safari_server_guard.lock'), {
|
|
14
|
+
const SAFARI_SERVER_GUARD = util.getLockFileGuard(path.resolve(os.tmpdir(), 'safari_server_guard.lock'), {
|
|
15
|
+
timeout: 5,
|
|
16
|
+
tryRecovery: true,
|
|
17
|
+
});
|
|
15
18
|
class SafariProxy extends JWProxy {
|
|
16
19
|
didProcessExit;
|
|
17
20
|
async proxyCommand(url, method, body = null) {
|
|
@@ -51,8 +54,7 @@ class SafariDriverProcess {
|
|
|
51
54
|
safariBin = await fs.which(SD_BINARY);
|
|
52
55
|
}
|
|
53
56
|
catch {
|
|
54
|
-
throw new Error(`${SD_BINARY} binary cannot be found in PATH. `
|
|
55
|
-
`Please make sure it is present on your system`);
|
|
57
|
+
throw new Error(`${SD_BINARY} binary cannot be found in PATH. Please make sure it is present on your system`);
|
|
56
58
|
}
|
|
57
59
|
this.proc = new SubProcess(safariBin, ['-p', String(this.port), '--diagnose']);
|
|
58
60
|
this.proc.on('output', (stdout, stderr) => {
|
package/build/lib/safari.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari.js","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"safari.js","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"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"}
|
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":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAKhD;;;;GAIG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAc7D;AAED,OAAO,EAAC,mBAAmB,EAAC,CAAC"}
|
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":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,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,aAAa,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;AAED,OAAO,EAAC,mBAAmB,EAAC,CAAC"}
|
package/lib/commands/find.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type {AppiumLogger, StringRecord} from '@appium/types';
|
|
1
2
|
import {util, fs, net, tempDir} from 'appium/support.js';
|
|
2
3
|
import {waitForCondition} from 'asyncbox';
|
|
3
4
|
import {Simctl} from 'node-simctl';
|
|
4
5
|
import type {SubProcess} from 'teen_process';
|
|
5
|
-
|
|
6
|
+
|
|
6
7
|
import type {SafariDriver} from '../driver.js';
|
|
7
8
|
|
|
8
9
|
const STARTUP_INTERVAL_MS = 300;
|
|
@@ -112,12 +113,7 @@ export class ScreenRecorder {
|
|
|
112
113
|
private _timeLimitMs: number = DEFAULT_TIME_LIMIT_MS;
|
|
113
114
|
private _timer: NodeJS.Timeout | null = null;
|
|
114
115
|
|
|
115
|
-
constructor(
|
|
116
|
-
udid: string,
|
|
117
|
-
videoPath: string,
|
|
118
|
-
log: AppiumLogger,
|
|
119
|
-
opts: ScreenRecorderOptions = {},
|
|
120
|
-
) {
|
|
116
|
+
constructor(udid: string, videoPath: string, log: AppiumLogger, opts: ScreenRecorderOptions = {}) {
|
|
121
117
|
this.log = log;
|
|
122
118
|
this._udid = udid;
|
|
123
119
|
this._videoPath = videoPath;
|
|
@@ -263,10 +259,7 @@ export class ScreenRecorder {
|
|
|
263
259
|
* @param options - The available options.
|
|
264
260
|
* @throws {Error} If screen recording has failed to start or is not supported for the destination device.
|
|
265
261
|
*/
|
|
266
|
-
export async function startRecordingScreen(
|
|
267
|
-
this: SafariDriver,
|
|
268
|
-
options?: StartRecordingOptions,
|
|
269
|
-
): Promise<void> {
|
|
262
|
+
export async function startRecordingScreen(this: SafariDriver, options?: StartRecordingOptions): Promise<void> {
|
|
270
263
|
const {timeLimit, codec, display, mask, forceRestart = true} = options ?? {};
|
|
271
264
|
if (this._screenRecorder?.isRunning) {
|
|
272
265
|
this.log.info('The screen recording is already running');
|
|
@@ -281,10 +274,7 @@ export async function startRecordingScreen(
|
|
|
281
274
|
|
|
282
275
|
const udid = await extractSimulatorUdid(this.caps);
|
|
283
276
|
if (!udid) {
|
|
284
|
-
throw new Error(
|
|
285
|
-
'Cannot determine Simulator UDID to record the video from. ' +
|
|
286
|
-
'Double check your session capabilities',
|
|
287
|
-
);
|
|
277
|
+
throw new Error('Cannot determine Simulator UDID to record the video from. Double check your session capabilities');
|
|
288
278
|
}
|
|
289
279
|
|
|
290
280
|
const videoPath = await tempDir.path({
|
|
@@ -316,10 +306,7 @@ export async function startRecordingScreen(
|
|
|
316
306
|
* or the file content cannot be uploaded to the remote location
|
|
317
307
|
* or screen recording is not supported on the device under test.
|
|
318
308
|
*/
|
|
319
|
-
export async function stopRecordingScreen(
|
|
320
|
-
this: SafariDriver,
|
|
321
|
-
options?: StopRecordingOptions,
|
|
322
|
-
): Promise<string> {
|
|
309
|
+
export async function stopRecordingScreen(this: SafariDriver, options?: StopRecordingOptions): Promise<string> {
|
|
323
310
|
if (!this._screenRecorder) {
|
|
324
311
|
this.log.info('No screen recording has been started. Doing nothing');
|
|
325
312
|
return '';
|
|
@@ -333,9 +320,7 @@ export async function stopRecordingScreen(
|
|
|
333
320
|
}
|
|
334
321
|
if (!options?.remotePath) {
|
|
335
322
|
const {size} = await fs.stat(videoPath);
|
|
336
|
-
this.log.debug(
|
|
337
|
-
`The size of the resulting screen recording is ${util.toReadableSizeString(size)}`,
|
|
338
|
-
);
|
|
323
|
+
this.log.debug(`The size of the resulting screen recording is ${util.toReadableSizeString(size)}`);
|
|
339
324
|
}
|
|
340
325
|
return await uploadRecordedMedia(videoPath, options?.remotePath ?? null, options ?? {});
|
|
341
326
|
}
|
|
@@ -356,8 +341,7 @@ async function extractSimulatorUdid(caps: StringRecord): Promise<string | null>
|
|
|
356
341
|
}
|
|
357
342
|
if (
|
|
358
343
|
caps['safari:deviceName']?.toLowerCase() === name.toLowerCase() &&
|
|
359
|
-
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
|
|
360
|
-
!caps['safari:platformVersion'])
|
|
344
|
+
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) || !caps['safari:platformVersion'])
|
|
361
345
|
) {
|
|
362
346
|
return udid;
|
|
363
347
|
}
|
package/lib/driver.ts
CHANGED
|
@@ -8,13 +8,14 @@ import type {
|
|
|
8
8
|
W3CDriverCaps,
|
|
9
9
|
} from '@appium/types';
|
|
10
10
|
import {BaseDriver} from 'appium/driver.js';
|
|
11
|
-
|
|
12
|
-
import {desiredCapConstraints, type SafariConstraints} from './desired-caps.js';
|
|
11
|
+
|
|
13
12
|
import * as cookieCommands from './commands/cookies.js';
|
|
14
13
|
import * as findCommands from './commands/find.js';
|
|
15
14
|
import * as recordScreenCommands from './commands/record-screen.js';
|
|
16
|
-
import {
|
|
15
|
+
import {desiredCapConstraints, type SafariConstraints} from './desired-caps.js';
|
|
17
16
|
import {newMethodMap} from './method-map.js';
|
|
17
|
+
import {SafariDriverServer} from './safari.js';
|
|
18
|
+
import {formatCapsForServer} from './utils.js';
|
|
18
19
|
|
|
19
20
|
const NO_PROXY: RouteMatcher[] = [
|
|
20
21
|
['GET', new RegExp('^/session/[^/]+/appium')],
|
package/lib/method-map.ts
CHANGED
package/lib/safari.ts
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
|
+
import {execSync} from 'node:child_process';
|
|
1
2
|
import os from 'node:os';
|
|
2
3
|
import path from 'node:path';
|
|
4
|
+
|
|
5
|
+
import type {AppiumLogger, StringRecord, HTTPMethod, HTTPBody} from '@appium/types';
|
|
3
6
|
import {JWProxy, errors} from 'appium/driver.js';
|
|
4
7
|
import {fs, logger, util} from 'appium/support.js';
|
|
5
|
-
import {SubProcess} from 'teen_process';
|
|
6
8
|
import {waitForCondition} from 'asyncbox';
|
|
7
9
|
import {findAPortNotInUse} from 'portscanner';
|
|
8
|
-
import {
|
|
9
|
-
import type {AppiumLogger, StringRecord, HTTPMethod, HTTPBody} from '@appium/types';
|
|
10
|
+
import {SubProcess} from 'teen_process';
|
|
10
11
|
|
|
11
12
|
const SD_BINARY = 'safaridriver';
|
|
12
13
|
const STARTUP_TIMEOUT = 10000; // seconds
|
|
13
14
|
const SAFARI_PORT_RANGE: [number, number] = [5100, 5200];
|
|
14
15
|
// This guard is needed to make sure
|
|
15
16
|
// we never run multiple Safari driver processes for the same Appium process
|
|
16
|
-
const SAFARI_SERVER_GUARD = util.getLockFileGuard(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
);
|
|
17
|
+
const SAFARI_SERVER_GUARD = util.getLockFileGuard(path.resolve(os.tmpdir(), 'safari_server_guard.lock'), {
|
|
18
|
+
timeout: 5,
|
|
19
|
+
tryRecovery: true,
|
|
20
|
+
});
|
|
20
21
|
|
|
21
22
|
class SafariProxy extends JWProxy {
|
|
22
23
|
didProcessExit?: boolean;
|
|
@@ -67,10 +68,7 @@ class SafariDriverProcess {
|
|
|
67
68
|
try {
|
|
68
69
|
safariBin = await fs.which(SD_BINARY);
|
|
69
70
|
} catch {
|
|
70
|
-
throw new Error(
|
|
71
|
-
`${SD_BINARY} binary cannot be found in PATH. ` +
|
|
72
|
-
`Please make sure it is present on your system`,
|
|
73
|
-
);
|
|
71
|
+
throw new Error(`${SD_BINARY} binary cannot be found in PATH. Please make sure it is present on your system`);
|
|
74
72
|
}
|
|
75
73
|
this.proc = new SubProcess(safariBin, ['-p', String(this.port), '--diagnose']);
|
|
76
74
|
this.proc.on('output', (stdout, stderr) => {
|