appium-safari-driver 4.1.8 → 4.1.9
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 +6 -0
- package/build/lib/commands/cookies.d.ts.map +1 -1
- 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 +5 -7
- package/build/lib/commands/record-screen.js.map +1 -1
- package/build/lib/desired-caps.d.ts.map +1 -1
- package/build/lib/desired-caps.js +11 -11
- package/build/lib/desired-caps.js.map +1 -1
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js.map +1 -1
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js.map +1 -1
- package/build/lib/logger.js.map +1 -1
- package/build/lib/method-map.js +4 -4
- package/build/lib/method-map.js.map +1 -1
- package/build/lib/safari.d.ts.map +1 -1
- package/build/lib/safari.js +3 -3
- 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/cookies.ts +2 -3
- package/lib/commands/find.ts +4 -5
- package/lib/commands/record-screen.ts +52 -47
- package/lib/desired-caps.ts +12 -13
- package/lib/driver.ts +14 -15
- package/lib/index.ts +2 -2
- package/lib/logger.ts +1 -2
- package/lib/method-map.ts +6 -7
- package/lib/safari.ts +51 -49
- package/lib/utils.ts +4 -5
- package/package.json +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [4.1.9](https://github.com/appium/appium-safari-driver/compare/v4.1.8...v4.1.9) (2026-02-16)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* format ([#162](https://github.com/appium/appium-safari-driver/issues/162)) ([0b49181](https://github.com/appium/appium-safari-driver/commit/0b491817bfe0d16c19498f1a4745ffa7887a0894))
|
|
6
|
+
|
|
1
7
|
## [4.1.8](https://github.com/appium/appium-safari-driver/compare/v4.1.7...v4.1.8) (2026-01-31)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../lib/commands/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../lib/commands/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAE5C;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAEpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAE5C;;;;;;;;;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,kCAYC;AAzBD,
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":";;AAaA,kCAYC;AAzBD,4CAAoC;AAGpC;;;;;;;;;GASG;AACI,KAAK,UAAU,WAAW,CAE/B,QAAgB,EAChB,QAAgB,EAChB,IAAa,EACb,OAAgB;IAEhB,MAAM,QAAQ,GAAG,WAAW,OAAO,CAAC,CAAC,CAAC,IAAI,cAAI,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":"AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAe,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAiD5C,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;IAgB5B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAQrC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiEtB,IAAI,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;YA6BrC,mBAAmB;CAelC;AA4BD,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;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqCf;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;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
|
|
@@ -73,12 +73,10 @@ class ScreenRecorder {
|
|
|
73
73
|
return '';
|
|
74
74
|
}
|
|
75
75
|
get isRunning() {
|
|
76
|
-
return !!
|
|
76
|
+
return !!this._process?.isRunning;
|
|
77
77
|
}
|
|
78
78
|
async start() {
|
|
79
|
-
const args = [
|
|
80
|
-
this._udid, 'recordVideo'
|
|
81
|
-
];
|
|
79
|
+
const args = [this._udid, 'recordVideo'];
|
|
82
80
|
if (this._display) {
|
|
83
81
|
args.push('--display', this._display);
|
|
84
82
|
}
|
|
@@ -194,8 +192,8 @@ async function extractSimulatorUdid(caps) {
|
|
|
194
192
|
return udid;
|
|
195
193
|
}
|
|
196
194
|
if (lodash_1.default.toLower(caps['safari:deviceName']) === lodash_1.default.toLower(name) &&
|
|
197
|
-
(caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk
|
|
198
|
-
|
|
195
|
+
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
|
|
196
|
+
!caps['safari:platformVersion'])) {
|
|
199
197
|
return udid;
|
|
200
198
|
}
|
|
201
199
|
}
|
|
@@ -210,7 +208,7 @@ async function extractSimulatorUdid(caps) {
|
|
|
210
208
|
* @throws {Error} If screen recording has failed to start or is not supported for the destination device.
|
|
211
209
|
*/
|
|
212
210
|
async function startRecordingScreen(options) {
|
|
213
|
-
const { timeLimit, codec, display, mask, forceRestart = true
|
|
211
|
+
const { timeLimit, codec, display, mask, forceRestart = true } = options ?? {};
|
|
214
212
|
if (this._screenRecorder?.isRunning) {
|
|
215
213
|
this.log.info('The screen recording is already running');
|
|
216
214
|
if (!forceRestart) {
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desired-caps.d.ts","sourceRoot":"","sources":["../../lib/desired-caps.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCK,CAAC;AAEjC,OAAO,
|
|
1
|
+
{"version":3,"file":"desired-caps.d.ts","sourceRoot":"","sources":["../../lib/desired-caps.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCK,CAAC;AAEjC,OAAO,EAAC,qBAAqB,EAAC,CAAC;AAE/B,MAAM,MAAM,iBAAiB,GAAG,OAAO,qBAAqB,CAAC"}
|
|
@@ -6,37 +6,37 @@ const desiredCapConstraints = {
|
|
|
6
6
|
isString: true,
|
|
7
7
|
},
|
|
8
8
|
browserVersion: {
|
|
9
|
-
isString: true
|
|
9
|
+
isString: true,
|
|
10
10
|
},
|
|
11
11
|
acceptInsecureCerts: {
|
|
12
|
-
isBoolean: true
|
|
12
|
+
isBoolean: true,
|
|
13
13
|
},
|
|
14
14
|
'safari:platformVersion': {
|
|
15
|
-
isString: true
|
|
15
|
+
isString: true,
|
|
16
16
|
},
|
|
17
17
|
'safari:platformBuildVersion': {
|
|
18
|
-
isString: true
|
|
18
|
+
isString: true,
|
|
19
19
|
},
|
|
20
20
|
'safari:useSimulator': {
|
|
21
|
-
isBoolean: true
|
|
21
|
+
isBoolean: true,
|
|
22
22
|
},
|
|
23
23
|
'safari:deviceType': {
|
|
24
|
-
isString: true
|
|
24
|
+
isString: true,
|
|
25
25
|
},
|
|
26
26
|
'safari:deviceName': {
|
|
27
|
-
isString: true
|
|
27
|
+
isString: true,
|
|
28
28
|
},
|
|
29
29
|
'safari:deviceUDID': {
|
|
30
|
-
isString: true
|
|
30
|
+
isString: true,
|
|
31
31
|
},
|
|
32
32
|
'safari:automaticInspection': {
|
|
33
|
-
isBoolean: true
|
|
33
|
+
isBoolean: true,
|
|
34
34
|
},
|
|
35
35
|
'safari:automaticProfiling': {
|
|
36
|
-
isBoolean: true
|
|
36
|
+
isBoolean: true,
|
|
37
37
|
},
|
|
38
38
|
'webkit:WebRTC': {
|
|
39
|
-
isObject: true
|
|
39
|
+
isObject: true,
|
|
40
40
|
},
|
|
41
41
|
};
|
|
42
42
|
exports.desiredCapConstraints = desiredCapConstraints;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../lib/desired-caps.ts"],"names":[],"mappings":";;;AAEA,MAAM,qBAAqB,GAAG;IAC5B,WAAW,EAAE;QACX,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,IAAI;KACf;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;KAChB;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,IAAI;KACf;IACD,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,IAAI;KACf;IACD,qBAAqB,EAAE;QACrB,SAAS,EAAE,IAAI;KAChB;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,IAAI;KACf;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,IAAI;KACf;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,IAAI;KACf;IACD,4BAA4B,EAAE;QAC5B,SAAS,EAAE,IAAI;KAChB;IACD,2BAA2B,EAAE;QAC3B,SAAS,EAAE,IAAI;KAChB;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,IAAI;KACf;CAC6B,CAAC;
|
|
1
|
+
{"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../lib/desired-caps.ts"],"names":[],"mappings":";;;AAEA,MAAM,qBAAqB,GAAG;IAC5B,WAAW,EAAE;QACX,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,IAAI;KACf;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;KAChB;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,IAAI;KACf;IACD,6BAA6B,EAAE;QAC7B,QAAQ,EAAE,IAAI;KACf;IACD,qBAAqB,EAAE;QACrB,SAAS,EAAE,IAAI;KAChB;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,IAAI;KACf;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,IAAI;KACf;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,IAAI;KACf;IACD,4BAA4B,EAAE;QAC5B,SAAS,EAAE,IAAI;KAChB;IACD,2BAA2B,EAAE;QAC3B,SAAS,EAAE,IAAI;KAChB;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,IAAI;KACf;CAC6B,CAAC;AAEzB,sDAAqB"}
|
|
@@ -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,
|
|
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,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,OAAO,CAA4B;IAC3C,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,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;MAAgB;gBAEvB,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;IAOlB,aAAa,sCAAgC;IAE7C,WAAW,kCAA4B;IAEvC,oBAAoB,mDAA6C;IACjE,mBAAmB,kDAA4C;CAChE;AAED,eAAe,YAAY,CAAC;AAE5B,KAAK,mBAAmB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC"}
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
|
package/build/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAEtC,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,CAAC"}
|
package/build/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AAG9B,6FAHA,qBAAY,OAGA;AADpB,kBAAe,qBAAY,CAAC"}
|
package/build/lib/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":";;AAAA,4CAAsC;AAEtC,MAAM,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEvC,kBAAe,GAAG,CAAC"}
|
package/build/lib/method-map.js
CHANGED
|
@@ -5,14 +5,14 @@ exports.newMethodMap = {
|
|
|
5
5
|
'/session/:sessionId/appium/start_recording_screen': {
|
|
6
6
|
POST: {
|
|
7
7
|
command: 'startRecordingScreen',
|
|
8
|
-
payloadParams: { optional: ['options'] }
|
|
9
|
-
}
|
|
8
|
+
payloadParams: { optional: ['options'] },
|
|
9
|
+
},
|
|
10
10
|
},
|
|
11
11
|
'/session/:sessionId/appium/stop_recording_screen': {
|
|
12
12
|
POST: {
|
|
13
13
|
command: 'stopRecordingScreen',
|
|
14
|
-
payloadParams: { optional: ['options'] }
|
|
15
|
-
}
|
|
14
|
+
payloadParams: { optional: ['options'] },
|
|
15
|
+
},
|
|
16
16
|
},
|
|
17
17
|
};
|
|
18
18
|
//# sourceMappingURL=method-map.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":";;;AAGa,QAAA,YAAY,GAAG;IAC1B,mDAAmD,EAAE;QACnD,IAAI,EAAE;YACJ,OAAO,EAAE,sBAAsB;YAC/B,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":";;;AAGa,QAAA,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
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;AAyED,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
|
@@ -36,7 +36,7 @@ class SafariDriverProcess {
|
|
|
36
36
|
this.log = support_1.logger.getLogger('SafariDriverProcess');
|
|
37
37
|
}
|
|
38
38
|
get isRunning() {
|
|
39
|
-
return !!
|
|
39
|
+
return !!this.proc?.isRunning;
|
|
40
40
|
}
|
|
41
41
|
async init() {
|
|
42
42
|
await SAFARI_SERVER_GUARD(async () => {
|
|
@@ -104,7 +104,7 @@ class SafariDriverServer {
|
|
|
104
104
|
return this._proxy;
|
|
105
105
|
}
|
|
106
106
|
get isRunning() {
|
|
107
|
-
return !!
|
|
107
|
+
return !!SAFARI_DRIVER_PROCESS.isRunning;
|
|
108
108
|
}
|
|
109
109
|
async start(caps, opts = {}) {
|
|
110
110
|
await SAFARI_DRIVER_PROCESS.init();
|
|
@@ -158,7 +158,7 @@ class SafariDriverServer {
|
|
|
158
158
|
capabilities: {
|
|
159
159
|
firstMatch: [{}],
|
|
160
160
|
alwaysMatch: caps,
|
|
161
|
-
}
|
|
161
|
+
},
|
|
162
162
|
});
|
|
163
163
|
}
|
|
164
164
|
async stop() {
|
package/build/lib/safari.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari.js","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,
|
|
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":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAIhD,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":";;;;;AAsBQ,kDAAmB;AAtB3B,0CAA4C;AAC5C,oDAAuB;AAGvB,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEnD,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,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,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,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,CAAC,IAAW,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/lib/commands/cookies.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {SafariDriver} from '../driver';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Delete all cookies visible to the current page.
|
|
5
5
|
*
|
|
6
6
|
* @returns Promise that resolves when cookies are deleted
|
|
7
7
|
*/
|
|
8
|
-
export async function deleteCookies
|
|
8
|
+
export async function deleteCookies(this: SafariDriver): Promise<any> {
|
|
9
9
|
return await this.safari.proxy.command('/cookie', 'DELETE');
|
|
10
10
|
}
|
|
11
|
-
|
package/lib/commands/find.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
1
|
+
import {util} from 'appium/support';
|
|
2
|
+
import type {SafariDriver} from '../driver';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Find element(s) using the specified strategy and selector.
|
|
@@ -11,12 +11,12 @@ import type { SafariDriver } from '../driver';
|
|
|
11
11
|
* @param context - Optional context element ID
|
|
12
12
|
* @returns Promise that resolves to the found element(s)
|
|
13
13
|
*/
|
|
14
|
-
export async function findElOrEls
|
|
14
|
+
export async function findElOrEls(
|
|
15
15
|
this: SafariDriver,
|
|
16
16
|
strategy: string,
|
|
17
17
|
selector: string,
|
|
18
18
|
mult: boolean,
|
|
19
|
-
context?: string
|
|
19
|
+
context?: string,
|
|
20
20
|
): Promise<any> {
|
|
21
21
|
const endpoint = `/element${context ? `/${util.unwrapElement(context)}/element` : ''}${mult ? 's' : ''}`;
|
|
22
22
|
return await this.safari.proxy.command(endpoint, 'POST', {
|
|
@@ -24,4 +24,3 @@ export async function findElOrEls (
|
|
|
24
24
|
value: selector,
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
2
|
+
import {util, fs, net, tempDir} from 'appium/support';
|
|
3
|
+
import {waitForCondition} from 'asyncbox';
|
|
4
|
+
import {Simctl} from 'node-simctl';
|
|
5
|
+
import {SubProcess} from 'teen_process';
|
|
6
|
+
import type {AppiumLogger, StringRecord} from '@appium/types';
|
|
7
|
+
import type {SafariDriver} from '../driver';
|
|
8
8
|
|
|
9
9
|
const STARTUP_INTERVAL_MS = 300;
|
|
10
10
|
const STARTUP_TIMEOUT_MS = 10 * 1000;
|
|
@@ -21,10 +21,10 @@ interface UploadOptions {
|
|
|
21
21
|
formFields?: Record<string, string> | Array<[string, string]>;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
async function uploadRecordedMedia
|
|
24
|
+
async function uploadRecordedMedia(
|
|
25
25
|
localFile: string,
|
|
26
26
|
remotePath: string | null = null,
|
|
27
|
-
uploadOptions: UploadOptions = {}
|
|
27
|
+
uploadOptions: UploadOptions = {},
|
|
28
28
|
): Promise<string> {
|
|
29
29
|
if (_.isEmpty(remotePath) || !remotePath) {
|
|
30
30
|
return (await util.toInMemoryBase64(localFile)).toString();
|
|
@@ -71,7 +71,12 @@ export class ScreenRecorder {
|
|
|
71
71
|
private _timeLimitMs: number = DEFAULT_TIME_LIMIT_MS;
|
|
72
72
|
private _timer: NodeJS.Timeout | null = null;
|
|
73
73
|
|
|
74
|
-
constructor
|
|
74
|
+
constructor(
|
|
75
|
+
udid: string,
|
|
76
|
+
videoPath: string,
|
|
77
|
+
log: AppiumLogger,
|
|
78
|
+
opts: ScreenRecorderOptions = {},
|
|
79
|
+
) {
|
|
75
80
|
this.log = log;
|
|
76
81
|
this._udid = udid;
|
|
77
82
|
this._videoPath = videoPath;
|
|
@@ -86,7 +91,7 @@ export class ScreenRecorder {
|
|
|
86
91
|
}
|
|
87
92
|
}
|
|
88
93
|
|
|
89
|
-
async getVideoPath
|
|
94
|
+
async getVideoPath(): Promise<string> {
|
|
90
95
|
if (await fs.exists(this._videoPath)) {
|
|
91
96
|
VIDEO_FILES.add(this._videoPath);
|
|
92
97
|
return this._videoPath;
|
|
@@ -94,14 +99,12 @@ export class ScreenRecorder {
|
|
|
94
99
|
return '';
|
|
95
100
|
}
|
|
96
101
|
|
|
97
|
-
get isRunning
|
|
98
|
-
return !!
|
|
102
|
+
get isRunning(): boolean {
|
|
103
|
+
return !!this._process?.isRunning;
|
|
99
104
|
}
|
|
100
105
|
|
|
101
|
-
async start
|
|
102
|
-
const args: string[] = [
|
|
103
|
-
this._udid, 'recordVideo'
|
|
104
|
-
];
|
|
106
|
+
async start(): Promise<void> {
|
|
107
|
+
const args: string[] = [this._udid, 'recordVideo'];
|
|
105
108
|
if (this._display) {
|
|
106
109
|
args.push('--display', this._display);
|
|
107
110
|
}
|
|
@@ -134,20 +137,23 @@ export class ScreenRecorder {
|
|
|
134
137
|
});
|
|
135
138
|
await this._process.start(0);
|
|
136
139
|
try {
|
|
137
|
-
await waitForCondition(
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
140
|
+
await waitForCondition(
|
|
141
|
+
async () => {
|
|
142
|
+
if (!this.isRunning) {
|
|
143
|
+
throw new Error();
|
|
144
|
+
}
|
|
145
|
+
return !!(await this.getVideoPath());
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
waitMs: STARTUP_TIMEOUT_MS,
|
|
149
|
+
intervalMs: STARTUP_INTERVAL_MS,
|
|
150
|
+
},
|
|
151
|
+
);
|
|
146
152
|
} catch {
|
|
147
153
|
await this._enforceTermination();
|
|
148
154
|
throw this.log.errorWithException(
|
|
149
155
|
`The expected screen record file '${this._videoPath}' does not exist after ${STARTUP_TIMEOUT_MS}ms. ` +
|
|
150
|
-
|
|
156
|
+
`Check the server log for more details`,
|
|
151
157
|
);
|
|
152
158
|
}
|
|
153
159
|
this._timer = setTimeout(async () => {
|
|
@@ -162,7 +168,7 @@ export class ScreenRecorder {
|
|
|
162
168
|
this.log.info(`The video recording has started. Will timeout in ${this._timeLimitMs}ms`);
|
|
163
169
|
}
|
|
164
170
|
|
|
165
|
-
async stop
|
|
171
|
+
async stop(force: boolean = false): Promise<string> {
|
|
166
172
|
if (this._timer) {
|
|
167
173
|
clearTimeout(this._timer);
|
|
168
174
|
this._timer = null;
|
|
@@ -191,7 +197,7 @@ export class ScreenRecorder {
|
|
|
191
197
|
return await this.getVideoPath();
|
|
192
198
|
}
|
|
193
199
|
|
|
194
|
-
private async _enforceTermination
|
|
200
|
+
private async _enforceTermination(): Promise<string> {
|
|
195
201
|
if (this.isRunning && this._process) {
|
|
196
202
|
this.log.debug('Force-stopping the currently running video recording');
|
|
197
203
|
try {
|
|
@@ -208,7 +214,7 @@ export class ScreenRecorder {
|
|
|
208
214
|
}
|
|
209
215
|
}
|
|
210
216
|
|
|
211
|
-
async function extractSimulatorUdid
|
|
217
|
+
async function extractSimulatorUdid(caps: StringRecord): Promise<string | null> {
|
|
212
218
|
if (caps['safari:useSimulator'] === false) {
|
|
213
219
|
return null;
|
|
214
220
|
}
|
|
@@ -222,9 +228,11 @@ async function extractSimulatorUdid (caps: StringRecord): Promise<string | null>
|
|
|
222
228
|
if (_.toLower(caps['safari:deviceUDID']) === _.toLower(udid)) {
|
|
223
229
|
return udid;
|
|
224
230
|
}
|
|
225
|
-
if (
|
|
226
|
-
(caps['safari:
|
|
227
|
-
|
|
231
|
+
if (
|
|
232
|
+
_.toLower(caps['safari:deviceName']) === _.toLower(name) &&
|
|
233
|
+
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
|
|
234
|
+
!caps['safari:platformVersion'])
|
|
235
|
+
) {
|
|
228
236
|
return udid;
|
|
229
237
|
}
|
|
230
238
|
}
|
|
@@ -259,17 +267,11 @@ export interface StartRecordingOptions {
|
|
|
259
267
|
* @param options - The available options.
|
|
260
268
|
* @throws {Error} If screen recording has failed to start or is not supported for the destination device.
|
|
261
269
|
*/
|
|
262
|
-
export async function startRecordingScreen
|
|
270
|
+
export async function startRecordingScreen(
|
|
263
271
|
this: SafariDriver,
|
|
264
|
-
options?: StartRecordingOptions
|
|
272
|
+
options?: StartRecordingOptions,
|
|
265
273
|
): Promise<void> {
|
|
266
|
-
const {
|
|
267
|
-
timeLimit,
|
|
268
|
-
codec,
|
|
269
|
-
display,
|
|
270
|
-
mask,
|
|
271
|
-
forceRestart = true,
|
|
272
|
-
} = options ?? {};
|
|
274
|
+
const {timeLimit, codec, display, mask, forceRestart = true} = options ?? {};
|
|
273
275
|
if (this._screenRecorder?.isRunning) {
|
|
274
276
|
this.log.info('The screen recording is already running');
|
|
275
277
|
if (!forceRestart) {
|
|
@@ -283,8 +285,10 @@ export async function startRecordingScreen (
|
|
|
283
285
|
|
|
284
286
|
const udid = await extractSimulatorUdid(this.caps);
|
|
285
287
|
if (!udid) {
|
|
286
|
-
throw new Error(
|
|
287
|
-
'
|
|
288
|
+
throw new Error(
|
|
289
|
+
'Cannot determine Simulator UDID to record the video from. ' +
|
|
290
|
+
'Double check your session capabilities',
|
|
291
|
+
);
|
|
288
292
|
}
|
|
289
293
|
|
|
290
294
|
const videoPath = await tempDir.path({
|
|
@@ -339,9 +343,9 @@ export interface StopRecordingOptions {
|
|
|
339
343
|
* or the file content cannot be uploaded to the remote location
|
|
340
344
|
* or screen recording is not supported on the device under test.
|
|
341
345
|
*/
|
|
342
|
-
export async function stopRecordingScreen
|
|
346
|
+
export async function stopRecordingScreen(
|
|
343
347
|
this: SafariDriver,
|
|
344
|
-
options?: StopRecordingOptions
|
|
348
|
+
options?: StopRecordingOptions,
|
|
345
349
|
): Promise<string> {
|
|
346
350
|
if (!this._screenRecorder) {
|
|
347
351
|
this.log.info('No screen recording has been started. Doing nothing');
|
|
@@ -356,8 +360,9 @@ export async function stopRecordingScreen (
|
|
|
356
360
|
}
|
|
357
361
|
if (_.isEmpty(options?.remotePath)) {
|
|
358
362
|
const {size} = await fs.stat(videoPath);
|
|
359
|
-
this.log.debug(
|
|
363
|
+
this.log.debug(
|
|
364
|
+
`The size of the resulting screen recording is ${util.toReadableSizeString(size)}`,
|
|
365
|
+
);
|
|
360
366
|
}
|
|
361
367
|
return await uploadRecordedMedia(videoPath, options?.remotePath ?? null, options ?? {});
|
|
362
368
|
}
|
|
363
|
-
|
package/lib/desired-caps.ts
CHANGED
|
@@ -5,41 +5,40 @@ const desiredCapConstraints = {
|
|
|
5
5
|
isString: true,
|
|
6
6
|
},
|
|
7
7
|
browserVersion: {
|
|
8
|
-
isString: true
|
|
8
|
+
isString: true,
|
|
9
9
|
},
|
|
10
10
|
acceptInsecureCerts: {
|
|
11
|
-
isBoolean: true
|
|
11
|
+
isBoolean: true,
|
|
12
12
|
},
|
|
13
13
|
'safari:platformVersion': {
|
|
14
|
-
isString: true
|
|
14
|
+
isString: true,
|
|
15
15
|
},
|
|
16
16
|
'safari:platformBuildVersion': {
|
|
17
|
-
isString: true
|
|
17
|
+
isString: true,
|
|
18
18
|
},
|
|
19
19
|
'safari:useSimulator': {
|
|
20
|
-
isBoolean: true
|
|
20
|
+
isBoolean: true,
|
|
21
21
|
},
|
|
22
22
|
'safari:deviceType': {
|
|
23
|
-
isString: true
|
|
23
|
+
isString: true,
|
|
24
24
|
},
|
|
25
25
|
'safari:deviceName': {
|
|
26
|
-
isString: true
|
|
26
|
+
isString: true,
|
|
27
27
|
},
|
|
28
28
|
'safari:deviceUDID': {
|
|
29
|
-
isString: true
|
|
29
|
+
isString: true,
|
|
30
30
|
},
|
|
31
31
|
'safari:automaticInspection': {
|
|
32
|
-
isBoolean: true
|
|
32
|
+
isBoolean: true,
|
|
33
33
|
},
|
|
34
34
|
'safari:automaticProfiling': {
|
|
35
|
-
isBoolean: true
|
|
35
|
+
isBoolean: true,
|
|
36
36
|
},
|
|
37
37
|
'webkit:WebRTC': {
|
|
38
|
-
isObject: true
|
|
38
|
+
isObject: true,
|
|
39
39
|
},
|
|
40
40
|
} as const satisfies Constraints;
|
|
41
41
|
|
|
42
|
-
export {
|
|
42
|
+
export {desiredCapConstraints};
|
|
43
43
|
|
|
44
44
|
export type SafariConstraints = typeof desiredCapConstraints;
|
|
45
|
-
|
package/lib/driver.ts
CHANGED
|
@@ -7,14 +7,14 @@ import type {
|
|
|
7
7
|
ExternalDriver,
|
|
8
8
|
W3CDriverCaps,
|
|
9
9
|
} from '@appium/types';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
10
|
+
import {BaseDriver} from 'appium/driver';
|
|
11
|
+
import {SafariDriverServer} from './safari';
|
|
12
|
+
import {desiredCapConstraints, type SafariConstraints} from './desired-caps';
|
|
13
13
|
import * as cookieCommands from './commands/cookies';
|
|
14
14
|
import * as findCommands from './commands/find';
|
|
15
15
|
import * as recordScreenCommands from './commands/record-screen';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import {formatCapsForServer} from './utils';
|
|
17
|
+
import {newMethodMap} from './method-map';
|
|
18
18
|
|
|
19
19
|
const NO_PROXY: RouteMatcher[] = [
|
|
20
20
|
['GET', new RegExp('^/session/[^/]+/appium')],
|
|
@@ -36,7 +36,7 @@ export class SafariDriver
|
|
|
36
36
|
|
|
37
37
|
static newMethodMap = newMethodMap;
|
|
38
38
|
|
|
39
|
-
constructor
|
|
39
|
+
constructor(opts: InitialOpts = {} as InitialOpts) {
|
|
40
40
|
super(opts);
|
|
41
41
|
this.desiredCapConstraints = desiredCapConstraints;
|
|
42
42
|
this.locatorStrategies = [
|
|
@@ -52,30 +52,30 @@ export class SafariDriver
|
|
|
52
52
|
this.resetState();
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
get safari
|
|
55
|
+
get safari(): SafariDriverServer {
|
|
56
56
|
if (!this._safari) {
|
|
57
57
|
throw new Error('Safari driver server is not initialized');
|
|
58
58
|
}
|
|
59
59
|
return this._safari;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
override proxyActive
|
|
62
|
+
override proxyActive(): boolean {
|
|
63
63
|
return this.isProxyActive;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
override getProxyAvoidList
|
|
66
|
+
override getProxyAvoidList(): RouteMatcher[] {
|
|
67
67
|
return NO_PROXY;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
override canProxy
|
|
70
|
+
override canProxy(): boolean {
|
|
71
71
|
return true;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
override async createSession
|
|
74
|
+
override async createSession(
|
|
75
75
|
w3cCaps1: W3CSafariDriverCaps,
|
|
76
76
|
w3cCaps2?: W3CSafariDriverCaps,
|
|
77
77
|
w3cCaps3?: W3CSafariDriverCaps,
|
|
78
|
-
driverData?: DriverData[]
|
|
78
|
+
driverData?: DriverData[],
|
|
79
79
|
): Promise<DefaultCreateSessionResult<SafariConstraints>> {
|
|
80
80
|
const [sessionId, caps] = await super.createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData);
|
|
81
81
|
this._safari = new SafariDriverServer(this.log);
|
|
@@ -92,7 +92,7 @@ export class SafariDriver
|
|
|
92
92
|
return [sessionId, caps];
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
override async deleteSession
|
|
95
|
+
override async deleteSession(): Promise<void> {
|
|
96
96
|
this.log.info('Ending Safari session');
|
|
97
97
|
await this._screenRecorder?.stop(true);
|
|
98
98
|
await this._safari?.stop();
|
|
@@ -101,7 +101,7 @@ export class SafariDriver
|
|
|
101
101
|
await super.deleteSession();
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
private resetState
|
|
104
|
+
private resetState(): void {
|
|
105
105
|
this._safari = null;
|
|
106
106
|
this.proxyReqRes = null;
|
|
107
107
|
this.isProxyActive = false;
|
|
@@ -119,4 +119,3 @@ export class SafariDriver
|
|
|
119
119
|
export default SafariDriver;
|
|
120
120
|
|
|
121
121
|
type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
|
|
122
|
-
|
package/lib/index.ts
CHANGED
package/lib/logger.ts
CHANGED
package/lib/method-map.ts
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type {SafariDriver} from './driver';
|
|
2
|
+
import type {MethodMap} from '@appium/types';
|
|
3
3
|
|
|
4
4
|
export const newMethodMap = {
|
|
5
5
|
'/session/:sessionId/appium/start_recording_screen': {
|
|
6
6
|
POST: {
|
|
7
7
|
command: 'startRecordingScreen',
|
|
8
|
-
payloadParams: {
|
|
9
|
-
}
|
|
8
|
+
payloadParams: {optional: ['options']},
|
|
9
|
+
},
|
|
10
10
|
},
|
|
11
11
|
'/session/:sessionId/appium/stop_recording_screen': {
|
|
12
12
|
POST: {
|
|
13
13
|
command: 'stopRecordingScreen',
|
|
14
|
-
payloadParams: {
|
|
15
|
-
}
|
|
14
|
+
payloadParams: {optional: ['options']},
|
|
15
|
+
},
|
|
16
16
|
},
|
|
17
17
|
} as const satisfies MethodMap<SafariDriver>;
|
|
18
|
-
|
package/lib/safari.ts
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import os from 'os';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import type {
|
|
10
|
-
AppiumLogger,
|
|
11
|
-
StringRecord,
|
|
12
|
-
HTTPMethod,
|
|
13
|
-
HTTPBody,
|
|
14
|
-
} from '@appium/types';
|
|
3
|
+
import {JWProxy, errors} from 'appium/driver';
|
|
4
|
+
import {fs, logger, util} from 'appium/support';
|
|
5
|
+
import {SubProcess} from 'teen_process';
|
|
6
|
+
import {waitForCondition} from 'asyncbox';
|
|
7
|
+
import {findAPortNotInUse} from 'portscanner';
|
|
8
|
+
import {execSync} from 'child_process';
|
|
9
|
+
import type {AppiumLogger, StringRecord, HTTPMethod, HTTPBody} from '@appium/types';
|
|
15
10
|
|
|
16
11
|
const SD_BINARY = 'safaridriver';
|
|
17
12
|
const STARTUP_TIMEOUT = 10000; // seconds
|
|
@@ -20,18 +15,18 @@ const SAFARI_PORT_RANGE: [number, number] = [5100, 5200];
|
|
|
20
15
|
// we never run multiple Safari driver processes for the same Appium process
|
|
21
16
|
const SAFARI_SERVER_GUARD = util.getLockFileGuard(
|
|
22
17
|
path.resolve(os.tmpdir(), 'safari_server_guard.lock'),
|
|
23
|
-
{timeout: 5, tryRecovery: true}
|
|
18
|
+
{timeout: 5, tryRecovery: true},
|
|
24
19
|
);
|
|
25
20
|
|
|
26
|
-
|
|
27
21
|
class SafariProxy extends JWProxy {
|
|
28
22
|
didProcessExit?: boolean;
|
|
29
23
|
|
|
30
|
-
override async proxyCommand
|
|
24
|
+
override async proxyCommand(url: string, method: HTTPMethod, body: HTTPBody = null) {
|
|
31
25
|
if (this.didProcessExit) {
|
|
32
26
|
throw new errors.InvalidContextError(
|
|
33
27
|
`'${method} ${url}' cannot be proxied to Safari Driver server because ` +
|
|
34
|
-
|
|
28
|
+
'the process is not running (probably crashed). Check the server log for more details',
|
|
29
|
+
);
|
|
35
30
|
}
|
|
36
31
|
return await super.proxyCommand(url, method, body);
|
|
37
32
|
}
|
|
@@ -42,15 +37,15 @@ class SafariDriverProcess {
|
|
|
42
37
|
public port: number | null = null;
|
|
43
38
|
public proc: SubProcess | null = null;
|
|
44
39
|
|
|
45
|
-
constructor
|
|
40
|
+
constructor() {
|
|
46
41
|
this.log = logger.getLogger('SafariDriverProcess');
|
|
47
42
|
}
|
|
48
43
|
|
|
49
|
-
get isRunning
|
|
50
|
-
return !!
|
|
44
|
+
get isRunning(): boolean {
|
|
45
|
+
return !!this.proc?.isRunning;
|
|
51
46
|
}
|
|
52
47
|
|
|
53
|
-
async init
|
|
48
|
+
async init(): Promise<void> {
|
|
54
49
|
await SAFARI_SERVER_GUARD(async () => {
|
|
55
50
|
if (this.isRunning) {
|
|
56
51
|
return;
|
|
@@ -62,16 +57,19 @@ class SafariDriverProcess {
|
|
|
62
57
|
} catch {
|
|
63
58
|
throw new Error(
|
|
64
59
|
`Cannot find any free port in range ${startPort}..${endPort}. ` +
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
`Double check the processes that are locking ports within this range and terminate ` +
|
|
61
|
+
`these which are not needed anymore`,
|
|
62
|
+
);
|
|
67
63
|
}
|
|
68
64
|
|
|
69
65
|
let safariBin: string;
|
|
70
66
|
try {
|
|
71
67
|
safariBin = await fs.which(SD_BINARY);
|
|
72
68
|
} catch {
|
|
73
|
-
throw new Error(
|
|
74
|
-
|
|
69
|
+
throw new Error(
|
|
70
|
+
`${SD_BINARY} binary cannot be found in PATH. ` +
|
|
71
|
+
`Please make sure it is present on your system`,
|
|
72
|
+
);
|
|
75
73
|
}
|
|
76
74
|
this.proc = new SubProcess(safariBin, ['-p', String(this.port), '--diagnose']);
|
|
77
75
|
this.proc.on('output', (stdout, stderr) => {
|
|
@@ -86,7 +84,7 @@ class SafariDriverProcess {
|
|
|
86
84
|
});
|
|
87
85
|
}
|
|
88
86
|
|
|
89
|
-
async kill
|
|
87
|
+
async kill(): Promise<void> {
|
|
90
88
|
if (this.isRunning) {
|
|
91
89
|
try {
|
|
92
90
|
await this.proc?.stop('SIGKILL');
|
|
@@ -113,22 +111,22 @@ export class SafariDriverServer {
|
|
|
113
111
|
private _proxy: SafariProxy | null = null;
|
|
114
112
|
private readonly log: AppiumLogger;
|
|
115
113
|
|
|
116
|
-
constructor
|
|
114
|
+
constructor(log: AppiumLogger) {
|
|
117
115
|
this.log = log;
|
|
118
116
|
}
|
|
119
117
|
|
|
120
|
-
get proxy
|
|
118
|
+
get proxy(): SafariProxy {
|
|
121
119
|
if (!this._proxy) {
|
|
122
120
|
throw new Error('Safari driver proxy is not initialized');
|
|
123
121
|
}
|
|
124
122
|
return this._proxy;
|
|
125
123
|
}
|
|
126
124
|
|
|
127
|
-
get isRunning
|
|
128
|
-
return !!
|
|
125
|
+
get isRunning(): boolean {
|
|
126
|
+
return !!SAFARI_DRIVER_PROCESS.isRunning;
|
|
129
127
|
}
|
|
130
128
|
|
|
131
|
-
async start
|
|
129
|
+
async start(caps: StringRecord, opts: SessionOptions = {}): Promise<void> {
|
|
132
130
|
await SAFARI_DRIVER_PROCESS.init();
|
|
133
131
|
|
|
134
132
|
const proxyOptions: any = {
|
|
@@ -150,29 +148,34 @@ export class SafariDriverServer {
|
|
|
150
148
|
});
|
|
151
149
|
|
|
152
150
|
try {
|
|
153
|
-
await waitForCondition(
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
151
|
+
await waitForCondition(
|
|
152
|
+
async () => {
|
|
153
|
+
try {
|
|
154
|
+
await this.proxy.command('/status', 'GET');
|
|
155
|
+
return true;
|
|
156
|
+
} catch (err: any) {
|
|
157
|
+
if (this.proxy.didProcessExit) {
|
|
158
|
+
throw new Error(err.message);
|
|
159
|
+
}
|
|
160
|
+
return false;
|
|
160
161
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
waitMs: STARTUP_TIMEOUT,
|
|
165
|
+
intervalMs: 1000,
|
|
166
|
+
},
|
|
167
|
+
);
|
|
167
168
|
} catch (e: any) {
|
|
168
169
|
if (/Condition unmet/.test(e.message)) {
|
|
169
170
|
if (SAFARI_DRIVER_PROCESS.isRunning) {
|
|
170
171
|
// avoid "frozen" processes,
|
|
171
172
|
await SAFARI_DRIVER_PROCESS.kill();
|
|
172
173
|
}
|
|
173
|
-
throw new Error(
|
|
174
|
-
`
|
|
175
|
-
|
|
174
|
+
throw new Error(
|
|
175
|
+
`Safari Driver server is not listening within ${STARTUP_TIMEOUT}ms timeout. ` +
|
|
176
|
+
`Make sure it has been executed manually at least once with '--enable' command line argument. ` +
|
|
177
|
+
`Check the server log for more details`,
|
|
178
|
+
);
|
|
176
179
|
}
|
|
177
180
|
throw e;
|
|
178
181
|
}
|
|
@@ -181,11 +184,11 @@ export class SafariDriverServer {
|
|
|
181
184
|
capabilities: {
|
|
182
185
|
firstMatch: [{}],
|
|
183
186
|
alwaysMatch: caps,
|
|
184
|
-
}
|
|
187
|
+
},
|
|
185
188
|
});
|
|
186
189
|
}
|
|
187
190
|
|
|
188
|
-
async stop
|
|
191
|
+
async stop(): Promise<void> {
|
|
189
192
|
if (!this.isRunning) {
|
|
190
193
|
this.log.info(`${SD_BINARY} session cannot be stopped, because the server is not running`);
|
|
191
194
|
return;
|
|
@@ -202,4 +205,3 @@ export class SafariDriverServer {
|
|
|
202
205
|
}
|
|
203
206
|
|
|
204
207
|
export default SafariDriverServer;
|
|
205
|
-
|
package/lib/utils.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {STANDARD_CAPS} from 'appium/driver';
|
|
2
2
|
import _ from 'lodash';
|
|
3
|
-
import type {
|
|
3
|
+
import type {StringRecord} from '@appium/types';
|
|
4
4
|
|
|
5
5
|
const SAFARI_CAP_PREFIXES = ['safari:', 'webkit:'];
|
|
6
6
|
|
|
7
|
-
function formatCapsForServer
|
|
7
|
+
function formatCapsForServer(caps: StringRecord): StringRecord {
|
|
8
8
|
const result: StringRecord = {
|
|
9
9
|
browserName: 'Safari',
|
|
10
10
|
browserVersion: caps.browserVersion,
|
|
@@ -20,5 +20,4 @@ function formatCapsForServer (caps: StringRecord): StringRecord {
|
|
|
20
20
|
return result;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
export {
|
|
24
|
-
|
|
23
|
+
export {formatCapsForServer};
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"appium",
|
|
6
6
|
"safari"
|
|
7
7
|
],
|
|
8
|
-
"version": "4.1.
|
|
8
|
+
"version": "4.1.9",
|
|
9
9
|
"author": "Appium Contributors",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"repository": {
|
|
@@ -63,6 +63,8 @@
|
|
|
63
63
|
"dev": "npm run build -- --watch",
|
|
64
64
|
"lint": "eslint .",
|
|
65
65
|
"lint:fix": "npm run lint -- --fix",
|
|
66
|
+
"format": "prettier -w ./lib ./test",
|
|
67
|
+
"format:check": "prettier --check ./lib ./test",
|
|
66
68
|
"prepare": "npm run build",
|
|
67
69
|
"test": "mocha --exit --timeout 1m \"./test/unit/**/*-specs.ts\"",
|
|
68
70
|
"e2e-test": "mocha --exit --timeout 5m \"./test/functional/**/*-specs.ts\""
|
|
@@ -84,6 +86,7 @@
|
|
|
84
86
|
"chai-as-promised": "^8.0.0",
|
|
85
87
|
"conventional-changelog-conventionalcommits": "^9.0.0",
|
|
86
88
|
"mocha": "^11.1.0",
|
|
89
|
+
"prettier": "^3.0.3",
|
|
87
90
|
"semantic-release": "^25.0.2",
|
|
88
91
|
"ts-node": "^10.9.1",
|
|
89
92
|
"typescript": "^5.4.2",
|