testplane 8.42.5 → 8.43.0
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/build/package.json +4 -4
- package/build/src/browser/browser.js +5 -4
- package/build/src/browser/browser.js.map +1 -1
- package/build/src/browser/cdp/connection.d.ts +2 -39
- package/build/src/browser/cdp/connection.js +73 -353
- package/build/src/browser/cdp/connection.js.map +1 -1
- package/build/src/browser/cdp/constants.d.ts +0 -10
- package/build/src/browser/cdp/constants.js +1 -11
- package/build/src/browser/cdp/constants.js.map +1 -1
- package/build/src/browser/cdp/error.d.ts +14 -20
- package/build/src/browser/cdp/error.js +29 -32
- package/build/src/browser/cdp/error.js.map +1 -1
- package/build/src/browser/cdp/utils.d.ts +0 -6
- package/build/src/browser/cdp/utils.js +1 -6
- package/build/src/browser/cdp/utils.js.map +1 -1
- package/build/src/browser/commands/assert-view/errors/image-diff-error.d.ts +1 -0
- package/build/src/browser/existing-browser.d.ts +2 -0
- package/build/src/browser/existing-browser.js +15 -0
- package/build/src/browser/existing-browser.js.map +1 -1
- package/build/src/browser/wsdriver/compression.d.ts +5 -0
- package/build/src/browser/wsdriver/compression.js +79 -0
- package/build/src/browser/wsdriver/compression.js.map +1 -0
- package/build/src/browser/wsdriver/constants.d.ts +11 -0
- package/build/src/browser/wsdriver/constants.js +15 -0
- package/build/src/browser/wsdriver/constants.js.map +1 -0
- package/build/src/browser/wsdriver/debug.d.ts +2 -0
- package/build/src/browser/wsdriver/debug.js +9 -0
- package/build/src/browser/wsdriver/debug.js.map +1 -0
- package/build/src/browser/wsdriver/error.d.ts +18 -0
- package/build/src/browser/wsdriver/error.js +36 -0
- package/build/src/browser/wsdriver/error.js.map +1 -0
- package/build/src/browser/wsdriver/index.d.ts +23 -0
- package/build/src/browser/wsdriver/index.js +261 -0
- package/build/src/browser/wsdriver/index.js.map +1 -0
- package/build/src/browser/wsdriver/request.d.ts +10 -0
- package/build/src/browser/wsdriver/request.js +58 -0
- package/build/src/browser/wsdriver/request.js.map +1 -0
- package/build/src/browser/wsdriver/response.d.ts +3 -0
- package/build/src/browser/wsdriver/response.js +111 -0
- package/build/src/browser/wsdriver/response.js.map +1 -0
- package/build/src/browser/wsdriver/types.d.ts +71 -0
- package/build/src/browser/wsdriver/types.js +27 -0
- package/build/src/browser/wsdriver/types.js.map +1 -0
- package/build/src/config/browser-options.js +1 -0
- package/build/src/config/browser-options.js.map +1 -1
- package/build/src/config/defaults.d.ts +1 -0
- package/build/src/config/defaults.js +1 -0
- package/build/src/config/defaults.js.map +1 -1
- package/build/src/config/types.d.ts +1 -0
- package/build/src/constants/png.d.ts +1 -0
- package/build/src/image.d.ts +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
- package/build/src/runner/suite-monitor.d.ts +1 -1
- package/build/src/test-reader/mocha-reader/mocha-event-bus.d.ts +1 -1
- package/build/src/testplane.d.ts +1 -1
- package/build/src/utils/eight-bit-rgba-to-png.d.ts +1 -0
- package/build/src/utils/workers-registry.d.ts +2 -2
- package/build/src/ws-connection/constants.d.ts +13 -0
- package/build/src/ws-connection/constants.js +17 -0
- package/build/src/ws-connection/constants.js.map +1 -0
- package/build/src/ws-connection/error.d.ts +51 -0
- package/build/src/ws-connection/error.js +81 -0
- package/build/src/ws-connection/error.js.map +1 -0
- package/build/src/ws-connection/index.d.ts +83 -0
- package/build/src/ws-connection/index.js +386 -0
- package/build/src/ws-connection/index.js.map +1 -0
- package/build/src/ws-connection/utils.d.ts +6 -0
- package/build/src/ws-connection/utils.js +9 -0
- package/build/src/ws-connection/utils.js.map +1 -0
- package/package.json +4 -4
package/build/src/testplane.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export = WorkersRegistry;
|
|
2
|
-
declare class WorkersRegistry extends EventEmitter {
|
|
2
|
+
declare class WorkersRegistry extends EventEmitter<[never]> {
|
|
3
3
|
static create(...args: any[]): import("./workers-registry");
|
|
4
4
|
constructor(config: any);
|
|
5
5
|
_config: any;
|
|
@@ -9,7 +9,7 @@ declare class WorkersRegistry extends EventEmitter {
|
|
|
9
9
|
init(): void;
|
|
10
10
|
end(): Promise<void>;
|
|
11
11
|
isEnded(): boolean;
|
|
12
|
-
register(workerFilepath: any, exportedMethods: any): EventEmitter
|
|
12
|
+
register(workerFilepath: any, exportedMethods: any): EventEmitter<[never]>;
|
|
13
13
|
_createWorkerFarm(): workerFarm.Workers;
|
|
14
14
|
_inspectParams(): {
|
|
15
15
|
workerOptions: {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const WS_MAX_REQUEST_ID = 2147483647;
|
|
2
|
+
export declare const WS_PING_INTERVAL = 15000;
|
|
3
|
+
export declare const WS_PING_TIMEOUT = 10000;
|
|
4
|
+
export declare const WS_PING_MAX_SUBSEQUENT_FAILS = 2;
|
|
5
|
+
export declare const WS_ERROR_CODE: {
|
|
6
|
+
readonly MALFORMED_RESPONSE: -32810;
|
|
7
|
+
readonly SEND_FAILED: -32820;
|
|
8
|
+
readonly TIMEOUT: -32830;
|
|
9
|
+
readonly CONNECTION_TERMINATED: -32840;
|
|
10
|
+
readonly CONNECTION_ESTABLISHMENT: -32850;
|
|
11
|
+
readonly CONNECTION_BREAK: -32860;
|
|
12
|
+
readonly PROTOCOL_ERROR: -32680;
|
|
13
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WS_ERROR_CODE = exports.WS_PING_MAX_SUBSEQUENT_FAILS = exports.WS_PING_TIMEOUT = exports.WS_PING_INTERVAL = exports.WS_MAX_REQUEST_ID = void 0;
|
|
4
|
+
exports.WS_MAX_REQUEST_ID = 2147483647; // INT32_MAX
|
|
5
|
+
exports.WS_PING_INTERVAL = 15000; // 15 sec
|
|
6
|
+
exports.WS_PING_TIMEOUT = 10000; // 10 sec
|
|
7
|
+
exports.WS_PING_MAX_SUBSEQUENT_FAILS = 2;
|
|
8
|
+
exports.WS_ERROR_CODE = {
|
|
9
|
+
MALFORMED_RESPONSE: -32810, // Custom error code
|
|
10
|
+
SEND_FAILED: -32820, // Custom error code
|
|
11
|
+
TIMEOUT: -32830, // Custom error code
|
|
12
|
+
CONNECTION_TERMINATED: -32840, // Custom error code
|
|
13
|
+
CONNECTION_ESTABLISHMENT: -32850, // Custom error code
|
|
14
|
+
CONNECTION_BREAK: -32860, // Custom error code
|
|
15
|
+
PROTOCOL_ERROR: -32680, // Custom error code
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/ws-connection/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,UAAU,CAAC,CAAC,YAAY;AAC5C,QAAA,gBAAgB,GAAG,KAAK,CAAC,CAAC,SAAS;AACnC,QAAA,eAAe,GAAG,KAAK,CAAC,CAAC,SAAS;AAClC,QAAA,4BAA4B,GAAG,CAAC,CAAC;AACjC,QAAA,aAAa,GAAG;IACzB,kBAAkB,EAAE,CAAC,KAAK,EAAE,oBAAoB;IAChD,WAAW,EAAE,CAAC,KAAK,EAAE,oBAAoB;IACzC,OAAO,EAAE,CAAC,KAAK,EAAE,oBAAoB;IACrC,qBAAqB,EAAE,CAAC,KAAK,EAAE,oBAAoB;IACnD,wBAAwB,EAAE,CAAC,KAAK,EAAE,oBAAoB;IACtD,gBAAgB,EAAE,CAAC,KAAK,EAAE,oBAAoB;IAC9C,cAAc,EAAE,CAAC,KAAK,EAAE,oBAAoB;CACtC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export declare abstract class WsError extends Error {
|
|
2
|
+
code?: number;
|
|
3
|
+
requestId?: number;
|
|
4
|
+
constructor({ message, code, requestId }: {
|
|
5
|
+
message: string;
|
|
6
|
+
code?: number;
|
|
7
|
+
requestId?: number;
|
|
8
|
+
});
|
|
9
|
+
abstract isRetryable(): boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare class WsConnectionEstablishmentError extends WsError {
|
|
12
|
+
constructor({ message, requestId }: {
|
|
13
|
+
message: string;
|
|
14
|
+
requestId?: number;
|
|
15
|
+
});
|
|
16
|
+
isRetryable(): boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare class WsConnectionBreakError extends WsError {
|
|
19
|
+
constructor({ message, requestId }: {
|
|
20
|
+
message: string;
|
|
21
|
+
requestId?: number;
|
|
22
|
+
});
|
|
23
|
+
isRetryable(): boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare class WsConnectionTerminatedError extends WsError {
|
|
26
|
+
constructor({ message, requestId, }?: {
|
|
27
|
+
message?: string;
|
|
28
|
+
requestId?: number;
|
|
29
|
+
});
|
|
30
|
+
isRetryable(): boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare class WsTimeoutError extends WsError {
|
|
33
|
+
constructor({ message, requestId }: {
|
|
34
|
+
message: string;
|
|
35
|
+
requestId?: number;
|
|
36
|
+
});
|
|
37
|
+
isRetryable(): boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare class WsConnectionTimeoutError extends WsTimeoutError {
|
|
40
|
+
constructor({ message }: {
|
|
41
|
+
message: string;
|
|
42
|
+
});
|
|
43
|
+
isRetryable(): boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare class WsRequestTimeoutError extends WsTimeoutError {
|
|
46
|
+
constructor({ message, requestId }: {
|
|
47
|
+
message: string;
|
|
48
|
+
requestId?: number;
|
|
49
|
+
});
|
|
50
|
+
isRetryable(): boolean;
|
|
51
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WsRequestTimeoutError = exports.WsConnectionTimeoutError = exports.WsTimeoutError = exports.WsConnectionTerminatedError = exports.WsConnectionBreakError = exports.WsConnectionEstablishmentError = exports.WsError = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
class WsError extends Error {
|
|
6
|
+
constructor({ message, code, requestId }) {
|
|
7
|
+
let errorMessage = message;
|
|
8
|
+
if (code) {
|
|
9
|
+
errorMessage += `\n\tErrorCode: ${code}`;
|
|
10
|
+
}
|
|
11
|
+
if (requestId) {
|
|
12
|
+
errorMessage += `\n\tRequest ID: ${requestId}`;
|
|
13
|
+
}
|
|
14
|
+
super(errorMessage);
|
|
15
|
+
this.name = this.constructor.name;
|
|
16
|
+
this.code = code;
|
|
17
|
+
this.requestId = requestId;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.WsError = WsError;
|
|
21
|
+
class WsConnectionEstablishmentError extends WsError {
|
|
22
|
+
constructor({ message, requestId }) {
|
|
23
|
+
super({ message, code: constants_1.WS_ERROR_CODE.CONNECTION_ESTABLISHMENT, requestId });
|
|
24
|
+
this.name = this.constructor.name;
|
|
25
|
+
}
|
|
26
|
+
isRetryable() {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.WsConnectionEstablishmentError = WsConnectionEstablishmentError;
|
|
31
|
+
class WsConnectionBreakError extends WsError {
|
|
32
|
+
constructor({ message = "WS connection interrupted", requestId }) {
|
|
33
|
+
super({ message, code: constants_1.WS_ERROR_CODE.CONNECTION_BREAK, requestId });
|
|
34
|
+
this.name = this.constructor.name;
|
|
35
|
+
}
|
|
36
|
+
isRetryable() {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.WsConnectionBreakError = WsConnectionBreakError;
|
|
41
|
+
class WsConnectionTerminatedError extends WsError {
|
|
42
|
+
constructor({ message = "WS connection was manually closed", requestId, } = {}) {
|
|
43
|
+
super({ message, code: constants_1.WS_ERROR_CODE.CONNECTION_TERMINATED, requestId });
|
|
44
|
+
this.name = this.constructor.name;
|
|
45
|
+
}
|
|
46
|
+
isRetryable() {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.WsConnectionTerminatedError = WsConnectionTerminatedError;
|
|
51
|
+
class WsTimeoutError extends WsError {
|
|
52
|
+
constructor({ message, requestId }) {
|
|
53
|
+
super({ message, code: constants_1.WS_ERROR_CODE.TIMEOUT, requestId });
|
|
54
|
+
this.name = this.constructor.name;
|
|
55
|
+
}
|
|
56
|
+
isRetryable() {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.WsTimeoutError = WsTimeoutError;
|
|
61
|
+
class WsConnectionTimeoutError extends WsTimeoutError {
|
|
62
|
+
constructor({ message }) {
|
|
63
|
+
super({ message });
|
|
64
|
+
this.name = this.constructor.name;
|
|
65
|
+
}
|
|
66
|
+
isRetryable() {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.WsConnectionTimeoutError = WsConnectionTimeoutError;
|
|
71
|
+
class WsRequestTimeoutError extends WsTimeoutError {
|
|
72
|
+
constructor({ message, requestId }) {
|
|
73
|
+
super({ message, requestId });
|
|
74
|
+
this.name = this.constructor.name;
|
|
75
|
+
}
|
|
76
|
+
isRetryable() {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.WsRequestTimeoutError = WsRequestTimeoutError;
|
|
81
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/ws-connection/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IncomingMessage } from "node:http";
|
|
3
|
+
import { type RawData } from "ws";
|
|
4
|
+
import { WsConnectionTerminatedError, WsError, WsConnectionEstablishmentError, WsConnectionBreakError, WsConnectionTimeoutError, WsRequestTimeoutError } from "./error";
|
|
5
|
+
interface WsConnectionRetries {
|
|
6
|
+
count: number;
|
|
7
|
+
baseDelay: number;
|
|
8
|
+
factor?: number;
|
|
9
|
+
}
|
|
10
|
+
interface WsConnectionTimeouts {
|
|
11
|
+
createSession: number;
|
|
12
|
+
request: number;
|
|
13
|
+
}
|
|
14
|
+
interface WsConnectionErrors {
|
|
15
|
+
ConnectionEstablishment: new (...args: ConstructorParameters<typeof WsConnectionEstablishmentError>) => WsConnectionEstablishmentError;
|
|
16
|
+
ConnectionTerminated: new (...args: ConstructorParameters<typeof WsConnectionTerminatedError>) => WsConnectionTerminatedError;
|
|
17
|
+
ConnectionBreak: new (...args: ConstructorParameters<typeof WsConnectionBreakError>) => WsConnectionBreakError;
|
|
18
|
+
ConnectionTimeout: new (...args: ConstructorParameters<typeof WsConnectionTimeoutError>) => WsConnectionTimeoutError;
|
|
19
|
+
RequestTimeout: new (...args: ConstructorParameters<typeof WsRequestTimeoutError>) => WsRequestTimeoutError;
|
|
20
|
+
}
|
|
21
|
+
interface WsConnectionOptions {
|
|
22
|
+
headers?: Record<string, string>;
|
|
23
|
+
debugFn?: (formatter: any, ...args: any[]) => void;
|
|
24
|
+
retries?: WsConnectionRetries;
|
|
25
|
+
timeouts: WsConnectionTimeouts;
|
|
26
|
+
errors: WsConnectionErrors;
|
|
27
|
+
onMessage: (data: RawData, isBinary: boolean) => void | Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
export declare class WsConnection<ResponseMessageType = unknown, RequestMessageType extends string | RawData = string | RawData> {
|
|
30
|
+
private readonly _endpoint;
|
|
31
|
+
private readonly _requestHeaders?;
|
|
32
|
+
private readonly _debugFn;
|
|
33
|
+
private readonly _retries;
|
|
34
|
+
private readonly _timeouts;
|
|
35
|
+
private readonly _errors;
|
|
36
|
+
private readonly _onMessage;
|
|
37
|
+
private readonly _onResponseHeaders?;
|
|
38
|
+
private readonly _onReconnect?;
|
|
39
|
+
private readonly _onDisconnect?;
|
|
40
|
+
private readonly _onClose?;
|
|
41
|
+
private _onPong;
|
|
42
|
+
private _pingShouldSkip;
|
|
43
|
+
private _pingInterval;
|
|
44
|
+
private _pingSubsequentFails;
|
|
45
|
+
private _onConnectionCloseFn;
|
|
46
|
+
private _wsConnectionStatus;
|
|
47
|
+
private _wsConnection;
|
|
48
|
+
private _wsConnectionPromise;
|
|
49
|
+
private _requestId;
|
|
50
|
+
private _pendingRequests;
|
|
51
|
+
constructor(endpoint: string, options: WsConnectionOptions);
|
|
52
|
+
getConnectionProperties(): Promise<{
|
|
53
|
+
responseHeaders?: IncomingMessage["headers"];
|
|
54
|
+
}>;
|
|
55
|
+
private _responseHeaders?;
|
|
56
|
+
/** @description Tries to establish ws connection with timeout */
|
|
57
|
+
private _tryToEstablishWsConnection;
|
|
58
|
+
/**
|
|
59
|
+
* @description creates ws connection with retries or returns existing one
|
|
60
|
+
* @note Concurrent requests with same params produce same ws connection
|
|
61
|
+
*/
|
|
62
|
+
private _getWsConnection;
|
|
63
|
+
/** @description Produces connection-"uniq" request ids */
|
|
64
|
+
getRequestId(): number;
|
|
65
|
+
/** @description Performs WS request with timeout */
|
|
66
|
+
makeRequest(requestId: number, requestMessage: RequestMessageType): Promise<ResponseMessageType | WsError>;
|
|
67
|
+
provideResponseFor(requestId: number, data: ResponseMessageType | WsError): void;
|
|
68
|
+
forceReconnect(sessionAbortMessage: string): void;
|
|
69
|
+
/** @description Used to abort all pending requests when connection is closed */
|
|
70
|
+
private _abortPendingRequests;
|
|
71
|
+
private _closeWsConnection;
|
|
72
|
+
/**
|
|
73
|
+
* @description Tries to re-establish connection after network drops
|
|
74
|
+
* @note Silently gives up after failed retries attempts
|
|
75
|
+
*/
|
|
76
|
+
private _tryToReconnect;
|
|
77
|
+
/** @description Closes websocket connection, terminating all pending requests */
|
|
78
|
+
close(): void;
|
|
79
|
+
private _pingHealthCheckStop;
|
|
80
|
+
private _isWebSocketActive;
|
|
81
|
+
private _pingHealthCheckStart;
|
|
82
|
+
}
|
|
83
|
+
export {};
|