appium-mac2-driver 2.1.1 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +7 -0
- package/build/lib/commands/bidi/constants.d.ts +3 -0
- package/build/lib/commands/bidi/constants.d.ts.map +1 -0
- package/build/lib/commands/bidi/constants.js +7 -0
- package/build/lib/commands/bidi/constants.js.map +1 -0
- package/build/lib/commands/bidi/models.d.ts +3 -0
- package/build/lib/commands/bidi/models.d.ts.map +1 -0
- package/build/lib/commands/bidi/models.js +14 -0
- package/build/lib/commands/bidi/models.js.map +1 -0
- package/build/lib/commands/bidi/types.d.ts +12 -0
- package/build/lib/commands/bidi/types.d.ts.map +1 -0
- package/build/lib/commands/bidi/types.js +3 -0
- package/build/lib/commands/bidi/types.js.map +1 -0
- package/build/lib/commands/native-record-screen.d.ts +21 -10
- package/build/lib/commands/native-record-screen.d.ts.map +1 -1
- package/build/lib/commands/native-record-screen.js +195 -34
- package/build/lib/commands/native-record-screen.js.map +1 -1
- package/build/lib/driver.d.ts +4 -4
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +7 -4
- package/build/lib/driver.js.map +1 -1
- package/build/lib/execute-method-map.d.ts +1 -1
- package/build/lib/execute-method-map.d.ts.map +1 -1
- package/build/lib/execute-method-map.js +2 -1
- package/build/lib/execute-method-map.js.map +1 -1
- package/build/lib/wda-mac.d.ts +5 -1
- package/build/lib/wda-mac.d.ts.map +1 -1
- package/build/lib/wda-mac.js +10 -2
- package/build/lib/wda-mac.js.map +1 -1
- package/lib/commands/bidi/constants.ts +3 -0
- package/lib/commands/bidi/models.ts +15 -0
- package/lib/commands/bidi/types.ts +11 -0
- package/lib/commands/native-record-screen.ts +192 -38
- package/lib/driver.js +11 -8
- package/lib/execute-method-map.ts +2 -1
- package/lib/wda-mac.js +10 -2
- package/npm-shrinkwrap.json +206 -280
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [2.2.1](https://github.com/appium/appium-mac2-driver/compare/v2.2.0...v2.2.1) (2025-02-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* Accept reqBasePath proxy option ([#334](https://github.com/appium/appium-mac2-driver/issues/334)) ([52585cc](https://github.com/appium/appium-mac2-driver/commit/52585cc32558d40771a3dab17e975c9712f32def))
|
|
7
|
+
|
|
8
|
+
## [2.2.0](https://github.com/appium/appium-mac2-driver/compare/v2.1.1...v2.2.0) (2025-02-11)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* Publish native video chunks over bidi ([#333](https://github.com/appium/appium-mac2-driver/issues/333)) ([6cf4f6d](https://github.com/appium/appium-mac2-driver/commit/6cf4f6d341798290e8416120de2ac93e1263f051))
|
|
14
|
+
|
|
1
15
|
## [2.1.1](https://github.com/appium/appium-mac2-driver/compare/v2.1.0...v2.1.1) (2025-02-08)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -617,6 +617,12 @@ then it would be stopped automatically upon the test session termination,
|
|
|
617
617
|
and leftover videos would be deleted as well.
|
|
618
618
|
Xcode must be at version 15+.
|
|
619
619
|
|
|
620
|
+
> [!TIP]
|
|
621
|
+
> Invocation of this API also triggers broadcasting of
|
|
622
|
+
> [appium:mac2.nativeVideoRecordingChunkAdded](./docs/bidi.md#appiummac2nativevideorecordingchunkadded)
|
|
623
|
+
> BiDi events. Make sure to subscribe to such events **before** this API is invoked to ensure
|
|
624
|
+
> all video chunks are being properly consumed on the client side.
|
|
625
|
+
|
|
620
626
|
#### Arguments
|
|
621
627
|
|
|
622
628
|
Name | Type | Required | Description | Example
|
|
@@ -677,6 +683,7 @@ method | string | no | The http multipart upload method name. The 'PUT' one is u
|
|
|
677
683
|
headers | map | no | Additional headers mapping for multipart http(s) uploads | `{"header": "value"}`
|
|
678
684
|
fileFieldName | string | no | The name of the form field, where the file content BLOB should be stored for http(s) uploads. `file` by default | payload
|
|
679
685
|
formFields | Map or `Array<Pair>` | no | Additional form fields for multipart http(s) uploads | `{"field1": "value1", "field2": "value2"}` or `[["field1", "value1"], ["field2", "value2"]]`
|
|
686
|
+
ignorePayload | boolean | no | Whether to ignore the resulting video payload and return an empty string. Useful if you prefer to fetch video chunks via the [appium:mac2.nativeVideoRecordingChunkAdded](./docs/bidi.md#appiummac2nativevideorecordingchunkadded) BiDi event. false by default. | true
|
|
680
687
|
|
|
681
688
|
#### Returns
|
|
682
689
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bidi/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,eAAO,MAAM,8BAA8B,+CAAoD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NATIVE_VIDEO_CHUNK_ADDED_EVENT = exports.BIDI_EVENT_NAME = void 0;
|
|
4
|
+
exports.BIDI_EVENT_NAME = 'bidiEvent';
|
|
5
|
+
const DOMAIN = 'mac2';
|
|
6
|
+
exports.NATIVE_VIDEO_CHUNK_ADDED_EVENT = `appium:${DOMAIN}.nativeVideoRecordingChunkAdded`;
|
|
7
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../lib/commands/bidi/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,MAAM,GAAG,MAAM,CAAC;AACT,QAAA,8BAA8B,GAAG,UAAU,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bidi/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAG1D,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,0BAA0B,CAQ5B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toNativeVideoChunkAddedEvent = toNativeVideoChunkAddedEvent;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
function toNativeVideoChunkAddedEvent(uuid, payload) {
|
|
6
|
+
return {
|
|
7
|
+
method: constants_1.NATIVE_VIDEO_CHUNK_ADDED_EVENT,
|
|
8
|
+
params: {
|
|
9
|
+
uuid,
|
|
10
|
+
payload: payload.toString('base64'),
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../lib/commands/bidi/models.ts"],"names":[],"mappings":";;AAGA,oEAWC;AAbD,2CAA6D;AAE7D,SAAgB,4BAA4B,CAC1C,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,MAAM,EAAE,0CAA8B;QACtC,MAAM,EAAE;YACN,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACpC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface BiDiEvent<TParams> {
|
|
2
|
+
method: string;
|
|
3
|
+
params: TParams;
|
|
4
|
+
}
|
|
5
|
+
interface NativeVideoChunkAddedParams {
|
|
6
|
+
uuid: string;
|
|
7
|
+
payload: string;
|
|
8
|
+
}
|
|
9
|
+
export interface NativeVideoChunkAddedEvent extends BiDiEvent<NativeVideoChunkAddedParams> {
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../lib/commands/bidi/types.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS,CAAC,OAAO;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,2BAA2B;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA2B,SAAQ,SAAS,CAAC,2BAA2B,CAAC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/commands/bidi/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import type { Mac2Driver } from '../driver';
|
|
2
|
-
import type { StringRecord } from '@appium/types';
|
|
2
|
+
import type { AppiumLogger, StringRecord } from '@appium/types';
|
|
3
|
+
import type EventEmitter from 'node:events';
|
|
4
|
+
export declare class NativeVideoChunksBroadcaster {
|
|
5
|
+
private _ee;
|
|
6
|
+
private _log;
|
|
7
|
+
private _publishers;
|
|
8
|
+
private _terminated;
|
|
9
|
+
constructor(ee: EventEmitter, log: AppiumLogger);
|
|
10
|
+
get hasPublishers(): boolean;
|
|
11
|
+
schedule(uuid: string): void;
|
|
12
|
+
waitFor(uuid: string): Promise<void>;
|
|
13
|
+
shutdown(timeoutMs: number): Promise<void>;
|
|
14
|
+
private _createPublisher;
|
|
15
|
+
private _wait;
|
|
16
|
+
private _cleanup;
|
|
17
|
+
}
|
|
3
18
|
/**
|
|
4
19
|
* Initiates a new native screen recording session via XCTest.
|
|
5
20
|
* If the screen recording is already running then this call results in noop.
|
|
@@ -40,20 +55,16 @@ export declare function macosGetNativeScreenRecordingInfo(this: Mac2Driver): Pro
|
|
|
40
55
|
* @param fileFieldName The name of the form field, where the file content BLOB should
|
|
41
56
|
* be stored for http(s) uploads
|
|
42
57
|
* @param formFields Additional form fields for multipart http(s) uploads
|
|
58
|
+
* @param ignorePayload Whether to ignore the resulting video payload
|
|
59
|
+
* and return an empty string. Useful if you prefer to fetch
|
|
60
|
+
* video chunks via a BiDi web socket.
|
|
43
61
|
* @returns Base64-encoded content of the recorded media file if 'remotePath'
|
|
44
|
-
* parameter is falsy or an empty string
|
|
62
|
+
* parameter is falsy or an empty string or ignorePayload is set to `true`.
|
|
45
63
|
* @throws {Error} If there was an error while getting the name of a media file
|
|
46
64
|
* or the file content cannot be uploaded to the remote location
|
|
47
65
|
* or screen recording is not supported on the device under test.
|
|
48
66
|
*/
|
|
49
|
-
export declare function macosStopNativeScreenRecording(this: Mac2Driver, remotePath?: string, user?: string, pass?: string, method?: string, headers?: StringRecord | [string, any][], fileFieldName?: string, formFields?: StringRecord | [string, string][]): Promise<string>;
|
|
50
|
-
/**
|
|
51
|
-
* Deletes previously recorded videos with given ids.
|
|
52
|
-
* This call is safe and does not raise any errors.
|
|
53
|
-
*
|
|
54
|
-
* @param uuids One or more video UUIDs to be deleted
|
|
55
|
-
*/
|
|
56
|
-
export declare function cleanupNativeRecordedVideos(this: Mac2Driver, uuids: string | Set<string>): Promise<void>;
|
|
67
|
+
export declare function macosStopNativeScreenRecording(this: Mac2Driver, remotePath?: string, user?: string, pass?: string, method?: string, headers?: StringRecord | [string, any][], fileFieldName?: string, formFields?: StringRecord | [string, string][], ignorePayload?: boolean): Promise<string>;
|
|
57
68
|
/**
|
|
58
69
|
* Fetches information about available displays
|
|
59
70
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/native-record-screen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"native-record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/native-record-screen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC;AAW5C,qBAAa,4BAA4B;IACvC,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,WAAW,CAAU;gBAEhB,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY;IAOhD,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMtB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAYlC,gBAAgB;YA2DhB,KAAK;YAuBL,QAAQ;CAyBvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,UAAU,EAChB,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC,CAQ1B;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAEjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,UAAU,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACtC,aAAa,CAAC,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,YAAY,GAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAC5C,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,MAAM,CAAC,CAkDjB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAE5F;AAmBD,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;CACjB"}
|
|
@@ -1,17 +1,185 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.NativeVideoChunksBroadcaster = void 0;
|
|
6
40
|
exports.macosStartNativeScreenRecording = macosStartNativeScreenRecording;
|
|
7
41
|
exports.macosGetNativeScreenRecordingInfo = macosGetNativeScreenRecordingInfo;
|
|
8
42
|
exports.macosStopNativeScreenRecording = macosStopNativeScreenRecording;
|
|
9
|
-
exports.cleanupNativeRecordedVideos = cleanupNativeRecordedVideos;
|
|
10
43
|
exports.macosListDisplays = macosListDisplays;
|
|
11
44
|
const lodash_1 = __importDefault(require("lodash"));
|
|
45
|
+
const bluebird_1 = __importStar(require("bluebird"));
|
|
12
46
|
const node_path_1 = __importDefault(require("node:path"));
|
|
13
47
|
const support_1 = require("appium/support");
|
|
14
48
|
const helpers_1 = require("./helpers");
|
|
49
|
+
const asyncbox_1 = require("asyncbox");
|
|
50
|
+
const teen_process_1 = require("teen_process");
|
|
51
|
+
const constants_1 = require("./bidi/constants");
|
|
52
|
+
const models_1 = require("./bidi/models");
|
|
53
|
+
const RECORDING_STARTUP_TIMEOUT_MS = 5000;
|
|
54
|
+
const BUFFER_SIZE = 0xFFFF;
|
|
55
|
+
const MONITORING_INTERVAL_DURATION_MS = 1000;
|
|
56
|
+
const MAX_MONITORING_DURATION_MS = 24 * 60 * 60 * 1000; // 1 day
|
|
57
|
+
class NativeVideoChunksBroadcaster {
|
|
58
|
+
constructor(ee, log) {
|
|
59
|
+
this._ee = ee;
|
|
60
|
+
this._log = log;
|
|
61
|
+
this._publishers = new Map();
|
|
62
|
+
this._terminated = false;
|
|
63
|
+
}
|
|
64
|
+
get hasPublishers() {
|
|
65
|
+
return this._publishers.size > 0;
|
|
66
|
+
}
|
|
67
|
+
schedule(uuid) {
|
|
68
|
+
if (!this._publishers.has(uuid)) {
|
|
69
|
+
this._publishers.set(uuid, this._createPublisher(uuid));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async waitFor(uuid) {
|
|
73
|
+
const publisher = this._publishers.get(uuid);
|
|
74
|
+
if (publisher) {
|
|
75
|
+
await publisher;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async shutdown(timeoutMs) {
|
|
79
|
+
try {
|
|
80
|
+
await this._wait(timeoutMs);
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
this._log.warn(e.message);
|
|
84
|
+
}
|
|
85
|
+
await this._cleanup();
|
|
86
|
+
this._publishers = new Map();
|
|
87
|
+
}
|
|
88
|
+
async _createPublisher(uuid) {
|
|
89
|
+
let fullPath = '';
|
|
90
|
+
let bytesRead = 0n;
|
|
91
|
+
try {
|
|
92
|
+
await (0, asyncbox_1.waitForCondition)(async () => {
|
|
93
|
+
const paths = await listAttachments();
|
|
94
|
+
const result = paths.find((name) => name.endsWith(uuid));
|
|
95
|
+
if (result) {
|
|
96
|
+
fullPath = result;
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
return false;
|
|
100
|
+
}, {
|
|
101
|
+
waitMs: RECORDING_STARTUP_TIMEOUT_MS,
|
|
102
|
+
intervalMs: 300,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
throw new Error(`The video recording identified by ${uuid} did not ` +
|
|
107
|
+
`start within ${RECORDING_STARTUP_TIMEOUT_MS}ms timeout`);
|
|
108
|
+
}
|
|
109
|
+
const startedMs = performance.now();
|
|
110
|
+
while (!this._terminated && performance.now() - startedMs < MAX_MONITORING_DURATION_MS) {
|
|
111
|
+
const isCompleted = !(await isFileUsed(fullPath, 'testman'));
|
|
112
|
+
const { size } = await support_1.fs.stat(fullPath, { bigint: true });
|
|
113
|
+
if (bytesRead < size) {
|
|
114
|
+
const handle = await support_1.fs.open(fullPath, 'r');
|
|
115
|
+
try {
|
|
116
|
+
while (bytesRead < size) {
|
|
117
|
+
const bufferSize = Number(size - bytesRead > BUFFER_SIZE ? BUFFER_SIZE : size - bytesRead);
|
|
118
|
+
const buf = Buffer.alloc(bufferSize);
|
|
119
|
+
await support_1.fs.read(handle, buf, 0, bufferSize, bytesRead);
|
|
120
|
+
this._ee.emit(constants_1.BIDI_EVENT_NAME, (0, models_1.toNativeVideoChunkAddedEvent)(uuid, buf));
|
|
121
|
+
bytesRead += BigInt(bufferSize);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
await support_1.fs.close(handle);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (isCompleted) {
|
|
129
|
+
this._log.debug(`The native video recording identified by ${uuid} has been detected as completed`);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
await bluebird_1.default.delay(MONITORING_INTERVAL_DURATION_MS);
|
|
133
|
+
}
|
|
134
|
+
this._log.warn(`Stopped monitoring of the native video recording identified by ${uuid} ` +
|
|
135
|
+
`because of the timeout`);
|
|
136
|
+
}
|
|
137
|
+
async _wait(timeoutMs) {
|
|
138
|
+
if (!this.hasPublishers) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const timer = setTimeout(() => {
|
|
142
|
+
this._terminated = true;
|
|
143
|
+
}, timeoutMs);
|
|
144
|
+
const publishingErrors = [];
|
|
145
|
+
for (const publisher of this._publishers.values()) {
|
|
146
|
+
try {
|
|
147
|
+
await publisher;
|
|
148
|
+
}
|
|
149
|
+
catch (e) {
|
|
150
|
+
publishingErrors.push(e.message);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
clearTimeout(timer);
|
|
154
|
+
if (!lodash_1.default.isEmpty(publishingErrors)) {
|
|
155
|
+
throw new Error(publishingErrors.join('\n'));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
async _cleanup() {
|
|
159
|
+
if (!this.hasPublishers) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const attachments = await listAttachments();
|
|
163
|
+
if (lodash_1.default.isEmpty(attachments)) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const tasks = attachments
|
|
167
|
+
.map((attachmentPath) => [node_path_1.default.basename(attachmentPath), attachmentPath])
|
|
168
|
+
.filter(([name,]) => this._publishers.has(name))
|
|
169
|
+
.map(([, attachmentPath]) => support_1.fs.rimraf(attachmentPath));
|
|
170
|
+
if (lodash_1.default.isEmpty(tasks)) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
try {
|
|
174
|
+
await Promise.all(tasks);
|
|
175
|
+
this._log.debug(`Successfully deleted ${support_1.util.pluralize('leftover video recording', tasks.length, true)}`);
|
|
176
|
+
}
|
|
177
|
+
catch (e) {
|
|
178
|
+
this._log.warn(`Could not cleanup some leftover video recordings: ${e.message}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.NativeVideoChunksBroadcaster = NativeVideoChunksBroadcaster;
|
|
15
183
|
/**
|
|
16
184
|
* Initiates a new native screen recording session via XCTest.
|
|
17
185
|
* If the screen recording is already running then this call results in noop.
|
|
@@ -33,7 +201,7 @@ async function macosStartNativeScreenRecording(fps, codec, displayId) {
|
|
|
33
201
|
codec,
|
|
34
202
|
displayId,
|
|
35
203
|
});
|
|
36
|
-
this.
|
|
204
|
+
this._videoChunksBroadcaster.schedule(result.uuid);
|
|
37
205
|
return result;
|
|
38
206
|
}
|
|
39
207
|
/**
|
|
@@ -62,18 +230,36 @@ async function macosGetNativeScreenRecordingInfo() {
|
|
|
62
230
|
* @param fileFieldName The name of the form field, where the file content BLOB should
|
|
63
231
|
* be stored for http(s) uploads
|
|
64
232
|
* @param formFields Additional form fields for multipart http(s) uploads
|
|
233
|
+
* @param ignorePayload Whether to ignore the resulting video payload
|
|
234
|
+
* and return an empty string. Useful if you prefer to fetch
|
|
235
|
+
* video chunks via a BiDi web socket.
|
|
65
236
|
* @returns Base64-encoded content of the recorded media file if 'remotePath'
|
|
66
|
-
* parameter is falsy or an empty string
|
|
237
|
+
* parameter is falsy or an empty string or ignorePayload is set to `true`.
|
|
67
238
|
* @throws {Error} If there was an error while getting the name of a media file
|
|
68
239
|
* or the file content cannot be uploaded to the remote location
|
|
69
240
|
* or screen recording is not supported on the device under test.
|
|
70
241
|
*/
|
|
71
|
-
async function macosStopNativeScreenRecording(remotePath, user, pass, method, headers, fileFieldName, formFields) {
|
|
242
|
+
async function macosStopNativeScreenRecording(remotePath, user, pass, method, headers, fileFieldName, formFields, ignorePayload) {
|
|
72
243
|
const response = (await this.wda.proxy.command('/wda/video/stop', 'POST', {}));
|
|
73
244
|
if (!response || !lodash_1.default.isPlainObject(response)) {
|
|
74
245
|
throw new Error('There is no active screen recording, thus nothing to stop. Did you start it before?');
|
|
75
246
|
}
|
|
76
247
|
const { uuid } = response;
|
|
248
|
+
try {
|
|
249
|
+
await bluebird_1.default.resolve(this._videoChunksBroadcaster.waitFor(uuid)).timeout(5000);
|
|
250
|
+
}
|
|
251
|
+
catch (e) {
|
|
252
|
+
if (e instanceof bluebird_1.TimeoutError) {
|
|
253
|
+
this.log.debug(`The BiDi chunks broadcaster for the native screen recording identified ` +
|
|
254
|
+
`by ${uuid} cannot complete within 5000ms timeout`);
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
this.log.debug(e.stack);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
if (ignorePayload) {
|
|
261
|
+
return '';
|
|
262
|
+
}
|
|
77
263
|
const matchedVideoPath = lodash_1.default.first((await listAttachments()).filter((name) => name.endsWith(uuid)));
|
|
78
264
|
if (!matchedVideoPath) {
|
|
79
265
|
throw new Error(`The screen recording identified by ${uuid} cannot be retrieved. ` +
|
|
@@ -91,36 +277,7 @@ async function macosStopNativeScreenRecording(remotePath, user, pass, method, he
|
|
|
91
277
|
fileFieldName,
|
|
92
278
|
formFields
|
|
93
279
|
};
|
|
94
|
-
|
|
95
|
-
await cleanupNativeRecordedVideos.bind(this)(uuid);
|
|
96
|
-
this._recordedVideoIds.delete(uuid);
|
|
97
|
-
return result;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Deletes previously recorded videos with given ids.
|
|
101
|
-
* This call is safe and does not raise any errors.
|
|
102
|
-
*
|
|
103
|
-
* @param uuids One or more video UUIDs to be deleted
|
|
104
|
-
*/
|
|
105
|
-
async function cleanupNativeRecordedVideos(uuids) {
|
|
106
|
-
const attachments = await listAttachments();
|
|
107
|
-
if (lodash_1.default.isEmpty(attachments)) {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
const tasks = attachments
|
|
111
|
-
.map((attachmentPath) => [node_path_1.default.basename(attachmentPath), attachmentPath])
|
|
112
|
-
.filter(([name,]) => lodash_1.default.isString(uuids) ? uuids === name : uuids.has(name))
|
|
113
|
-
.map(([, attachmentPath]) => support_1.fs.rimraf(attachmentPath));
|
|
114
|
-
if (lodash_1.default.isEmpty(tasks)) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
try {
|
|
118
|
-
await Promise.all(tasks);
|
|
119
|
-
this.log.debug(`Successfully deleted ${support_1.util.pluralize('leftover video recording', tasks.length, true)}`);
|
|
120
|
-
}
|
|
121
|
-
catch (e) {
|
|
122
|
-
this.log.warn(`Could not cleanup some leftover video recordings: ${e.message}`);
|
|
123
|
-
}
|
|
280
|
+
return await helpers_1.uploadRecordedMedia.bind(this)(matchedVideoPath, remotePath, options);
|
|
124
281
|
}
|
|
125
282
|
/**
|
|
126
283
|
* Fetches information about available displays
|
|
@@ -140,5 +297,9 @@ async function listAttachments() {
|
|
|
140
297
|
absolute: true,
|
|
141
298
|
});
|
|
142
299
|
}
|
|
300
|
+
async function isFileUsed(fpath, userProcessName) {
|
|
301
|
+
const { stdout } = await (0, teen_process_1.exec)('lsof', [fpath]);
|
|
302
|
+
return stdout.includes(userProcessName);
|
|
303
|
+
}
|
|
143
304
|
// #endregion
|
|
144
305
|
//# sourceMappingURL=native-record-screen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-record-screen.js","sourceRoot":"","sources":["../../../lib/commands/native-record-screen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"native-record-screen.js","sourceRoot":"","sources":["../../../lib/commands/native-record-screen.ts"],"names":[],"mappings":"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"}
|
package/build/lib/driver.d.ts
CHANGED
|
@@ -184,7 +184,7 @@ export class Mac2Driver extends BaseDriver<any, import("@appium/types").StringRe
|
|
|
184
184
|
readonly 'macos: stopNativeScreenRecording': {
|
|
185
185
|
readonly command: "macosStopNativeScreenRecording";
|
|
186
186
|
readonly params: {
|
|
187
|
-
readonly optional: readonly ["remotePath", "user", "pass", "method", "headers", "fileFieldName", "formFields"];
|
|
187
|
+
readonly optional: readonly ["remotePath", "user", "pass", "method", "headers", "fileFieldName", "formFields", "ignorePayload"];
|
|
188
188
|
};
|
|
189
189
|
};
|
|
190
190
|
readonly 'macos: listDisplays': {
|
|
@@ -196,8 +196,8 @@ export class Mac2Driver extends BaseDriver<any, import("@appium/types").StringRe
|
|
|
196
196
|
isProxyActive: boolean;
|
|
197
197
|
/** @type {import('./wda-mac').WDAMacServer} */
|
|
198
198
|
wda: import("./wda-mac").WDAMacServer;
|
|
199
|
-
/** @type {
|
|
200
|
-
|
|
199
|
+
/** @type {nativeScreenRecordingCommands.NativeVideoChunksBroadcaster} */
|
|
200
|
+
_videoChunksBroadcaster: nativeScreenRecordingCommands.NativeVideoChunksBroadcaster;
|
|
201
201
|
desiredCapConstraints: {
|
|
202
202
|
systemPort: {
|
|
203
203
|
isNumber: boolean;
|
|
@@ -298,6 +298,7 @@ export class Mac2Driver extends BaseDriver<any, import("@appium/types").StringRe
|
|
|
298
298
|
}
|
|
299
299
|
export default Mac2Driver;
|
|
300
300
|
import { BaseDriver } from 'appium/driver';
|
|
301
|
+
import * as nativeScreenRecordingCommands from './commands/native-record-screen';
|
|
301
302
|
import { DeviceSettings } from 'appium/driver';
|
|
302
303
|
import * as appManagemenetCommands from './commands/app-management';
|
|
303
304
|
import * as appleScriptCommands from './commands/applescript';
|
|
@@ -306,7 +307,6 @@ import * as findCommands from './commands/find';
|
|
|
306
307
|
import * as gesturesCommands from './commands/gestures';
|
|
307
308
|
import * as navigationCommands from './commands/navigation';
|
|
308
309
|
import * as recordScreenCommands from './commands/record-screen';
|
|
309
|
-
import * as nativeScreenRecordingCommands from './commands/native-record-screen';
|
|
310
310
|
import * as screenshotCommands from './commands/screenshots';
|
|
311
311
|
import * as sourceCommands from './commands/source';
|
|
312
312
|
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"AA8BA;IAUE;;;;;;;;;;;;;;;;;MAAmC;IACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAA2C;IAE3C,uBAqBC;IAjCD,sBAAsB;IACtB,eADW,OAAO,CACJ;IAEd,+CAA+C;IAC/C,KADW,OAAO,WAAW,EAAE,YAAY,CACvC;IAEJ,
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"AA8BA;IAUE;;;;;;;;;;;;;;;;;MAAmC;IACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAA2C;IAE3C,uBAqBC;IAjCD,sBAAsB;IACtB,eADW,OAAO,CACJ;IAEd,+CAA+C;IAC/C,KADW,OAAO,WAAW,EAAE,YAAY,CACvC;IAEJ,yEAAyE;IACzE,yBADW,6BAA6B,CAAC,4BAA4B,CAC7C;IAQtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAkD;IAiBlD,6BAAwE;IAG1E,yDAIC;IAED,mBASC;IANC,iBAAuB;IAKvB,qBAA2B;IAI7B,qCAEC;IAGD,0EAEC;IAED,oBAEC;IAED,mEAEC;IAGD,8BAEC;IAGD,kCAEC;IAGD,6FA2BC;IAED,+BA8BC;IAED,6DAAuD;IACvD,iEAA2D;IAC3D,mEAA6D;IAC7D,qEAA+D;IAE/D,sEAAgE;IAEhE,wCAAkC;IAElC,6CAAuC;IAEvC,qDAA+C;IAC/C,+CAAyC;IACzC,iDAA2C;IAC3C,+CAAyC;IACzC,yDAAmD;IACnD,+CAAyC;IACzC,2DAAqD;IACrD,6DAAuD;IACvD,2EAAqE;IACrE,6CAAuC;IACvC,6DAAuD;IACvD,2CAAqC;IACrC,uDAAiD;IACjD,6DAAuD;IACvD,2EAAqE;IAErE,uDAAiD;IAEjD,uEAAiE;IACjE,qEAA+D;IAE/D,sGAAgG;IAChG,0GAAoG;IACpG,oGAA8F;IAC9F,0EAAoE;IAEpE,6DAAuD;IAEvD,+CAAyC;CAC1C;;2BApN0C,eAAe;+CAeX,iCAAiC;+BAfrC,eAAe;wCAGlB,2BAA2B;qCAC9B,wBAAwB;iCAC5B,oBAAoB;8BACvB,iBAAiB;kCACb,qBAAqB;oCACnB,uBAAuB;sCACrB,0BAA0B;oCAC5B,wBAAwB;gCAC5B,mBAAmB"}
|
package/build/lib/driver.js
CHANGED
|
@@ -125,7 +125,7 @@ class Mac2Driver extends driver_1.BaseDriver {
|
|
|
125
125
|
this.wda = null;
|
|
126
126
|
this.proxyReqRes = null;
|
|
127
127
|
this.isProxyActive = false;
|
|
128
|
-
this.
|
|
128
|
+
this._videoChunksBroadcaster = new nativeScreenRecordingCommands.NativeVideoChunksBroadcaster(this.eventEmitter, this.log);
|
|
129
129
|
this._screenRecorder = null;
|
|
130
130
|
}
|
|
131
131
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -167,7 +167,10 @@ class Mac2Driver extends driver_1.BaseDriver {
|
|
|
167
167
|
logger_1.default.info(`Prerun script output: ${output}`);
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
await this.wda.startSession(
|
|
170
|
+
await this.wda.startSession({
|
|
171
|
+
...caps,
|
|
172
|
+
reqBasePath: this.basePath,
|
|
173
|
+
});
|
|
171
174
|
}
|
|
172
175
|
catch (e) {
|
|
173
176
|
await this.deleteSession();
|
|
@@ -179,12 +182,12 @@ class Mac2Driver extends driver_1.BaseDriver {
|
|
|
179
182
|
}
|
|
180
183
|
async deleteSession() {
|
|
181
184
|
await this._screenRecorder?.stop(true);
|
|
182
|
-
if (
|
|
185
|
+
if (this._videoChunksBroadcaster.hasPublishers) {
|
|
183
186
|
try {
|
|
184
187
|
await this.wda.proxy.command('/wda/video/stop', 'POST', {});
|
|
185
188
|
}
|
|
186
189
|
catch { }
|
|
187
|
-
await
|
|
190
|
+
await this._videoChunksBroadcaster.shutdown(5000);
|
|
188
191
|
}
|
|
189
192
|
await this.wda.stopSession();
|
|
190
193
|
if (this.opts.postrun) {
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AACvB,0CAA2D;AAC3D,wDAAuC;AACvC,iDAAuD;AACvD,kFAAoE;AACpE,4EAA8D;AAC9D,oEAAsD;AACtD,8DAAgD;AAChD,sEAAwD;AACxD,0EAA4D;AAC5D,+EAAiE;AACjE,2EAA6D;AAC7D,kEAAoD;AACpD,sDAA2B;AAC3B,6CAA4C;AAC5C,6DAAwD;AACxD,+FAAiF;AAEjF,qDAAqD;AACrD,MAAM,QAAQ,GAAG;IACf,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;IAClD,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAChD,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,2BAA2B,CAAC,CAAC;CAClD,CAAC;AAEF,MAAa,UAAW,SAAQ,mBAAU;IAaxC,YAAa,IAAI,GAAG,EAAE;QACpB,mCAAmC;QACnC,KAAK,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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"}
|
|
@@ -165,7 +165,7 @@ export declare const executeMethodMap: {
|
|
|
165
165
|
readonly 'macos: stopNativeScreenRecording': {
|
|
166
166
|
readonly command: "macosStopNativeScreenRecording";
|
|
167
167
|
readonly params: {
|
|
168
|
-
readonly optional: readonly ["remotePath", "user", "pass", "method", "headers", "fileFieldName", "formFields"];
|
|
168
|
+
readonly optional: readonly ["remotePath", "user", "pass", "method", "headers", "fileFieldName", "formFields", "ignorePayload"];
|
|
169
169
|
};
|
|
170
170
|
};
|
|
171
171
|
readonly 'macos: listDisplays': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-method-map.d.ts","sourceRoot":"","sources":["../../lib/execute-method-map.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"execute-method-map.d.ts","sourceRoot":"","sources":["../../lib/execute-method-map.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Ua,CAAC"}
|