@loadmill/executer 0.1.164 → 0.1.166
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/dist/ai-assertion/index.js +15 -53
- package/dist/ai-assertion/index.js.map +1 -1
- package/dist/ai-assertion/prompts.js +2 -2
- package/dist/ai-assertion/prompts.js.map +1 -1
- package/dist/asserter.js +9 -47
- package/dist/asserter.js.map +1 -1
- package/dist/block-request.d.ts +1 -1
- package/dist/block-request.js +12 -22
- package/dist/block-request.js.map +1 -1
- package/dist/cookies.d.ts +1 -1
- package/dist/cookies.js +6 -8
- package/dist/cookies.js.map +1 -1
- package/dist/env.d.ts +4 -0
- package/dist/env.js +8 -0
- package/dist/env.js.map +1 -0
- package/dist/errors.js +2 -16
- package/dist/errors.js.map +1 -1
- package/dist/extraction-combiner.js +5 -43
- package/dist/extraction-combiner.js.map +1 -1
- package/dist/failures.js +3 -13
- package/dist/failures.js.map +1 -1
- package/dist/grpc.js +15 -72
- package/dist/grpc.js.map +1 -1
- package/dist/iteration-stats.js +5 -7
- package/dist/iteration-stats.js.map +1 -1
- package/dist/mill-version.js +1 -1
- package/dist/mill-version.js.map +1 -1
- package/dist/parameter-pools.js +6 -44
- package/dist/parameter-pools.js.map +1 -1
- package/dist/performance.js +2 -4
- package/dist/performance.js.map +1 -1
- package/dist/post-script/post-script-executor.js +7 -25
- package/dist/post-script/post-script-executor.js.map +1 -1
- package/dist/post-sequence.js +17 -55
- package/dist/post-sequence.js.map +1 -1
- package/dist/redact-data.js +9 -11
- package/dist/redact-data.js.map +1 -1
- package/dist/request-sequence-result.js +2 -12
- package/dist/request-sequence-result.js.map +1 -1
- package/dist/res-keeper.d.ts +1 -1
- package/dist/res-keeper.js +3 -21
- package/dist/res-keeper.js.map +1 -1
- package/dist/sampler.js +13 -75
- package/dist/sampler.js.map +1 -1
- package/dist/sequence-executor-like.d.ts +4 -1
- package/dist/sequence.d.ts +3 -1
- package/dist/sequence.js +141 -204
- package/dist/sequence.js.map +1 -1
- package/dist/single-runner.d.ts +2 -0
- package/dist/single-runner.js +12 -81
- package/dist/single-runner.js.map +1 -1
- package/dist/step-handlers/code-step-handler.js +6 -41
- package/dist/step-handlers/code-step-handler.js.map +1 -1
- package/dist/step-handlers/extract-step-handler.js +6 -41
- package/dist/step-handlers/extract-step-handler.js.map +1 -1
- package/dist/step-handlers/playwright/constants.d.ts +4 -0
- package/dist/step-handlers/playwright/constants.js +15 -6
- package/dist/step-handlers/playwright/constants.js.map +1 -1
- package/dist/step-handlers/playwright/files-manager.d.ts +3 -0
- package/dist/step-handlers/playwright/files-manager.js +69 -34
- package/dist/step-handlers/playwright/files-manager.js.map +1 -1
- package/dist/step-handlers/playwright/index.d.ts +2 -1
- package/dist/step-handlers/playwright/index.js +16 -46
- package/dist/step-handlers/playwright/index.js.map +1 -1
- package/dist/step-handlers/playwright/transformer.d.ts +2 -1
- package/dist/step-handlers/playwright/transformer.js +9 -8
- package/dist/step-handlers/playwright/transformer.js.map +1 -1
- package/dist/step-handlers/playwright/types.d.ts +2 -0
- package/dist/step-handlers/playwright-step-handler.js +27 -65
- package/dist/step-handlers/playwright-step-handler.js.map +1 -1
- package/dist/step-handlers/request-step-handler.js +6 -41
- package/dist/step-handlers/request-step-handler.js.map +1 -1
- package/dist/step-handlers/wait-step-handler.js +11 -46
- package/dist/step-handlers/wait-step-handler.js.map +1 -1
- package/dist/step-handlers/web-socket-step-handler.js +18 -75
- package/dist/step-handlers/web-socket-step-handler.js.map +1 -1
- package/dist/test-run-event-emitter.js +2 -4
- package/dist/test-run-event-emitter.js.map +1 -1
- package/dist/types/playwright.d.ts +3 -0
- package/dist/types/playwright.js +3 -0
- package/dist/types/playwright.js.map +1 -0
- package/dist/utils.js +2 -20
- package/dist/utils.js.map +1 -1
- package/dist/ws.js +20 -58
- package/dist/ws.js.map +1 -1
- package/package.json +4 -3
package/dist/redact-data.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.redactSensitiveData = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
7
5
|
var parameters_1 = require("@loadmill/core/dist/parameters");
|
|
8
|
-
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
9
|
-
var jsonpath_1 = __importDefault(require("jsonpath"));
|
|
6
|
+
var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
|
|
7
|
+
var jsonpath_1 = tslib_1.__importDefault(require("jsonpath"));
|
|
10
8
|
var lodash_1 = require("lodash");
|
|
11
|
-
var qs_1 = __importDefault(require("qs"));
|
|
9
|
+
var qs_1 = tslib_1.__importDefault(require("qs"));
|
|
12
10
|
var utils_1 = require("./utils");
|
|
13
11
|
var BODY_DATA_REDACTED = 'Body Data Redacted';
|
|
14
12
|
function redactSensitiveData(resolvedRequests, sensitiveKeys) {
|
|
@@ -16,20 +14,20 @@ function redactSensitiveData(resolvedRequests, sensitiveKeys) {
|
|
|
16
14
|
resolvedRequests.forEach(function (rr) {
|
|
17
15
|
var _a, _b;
|
|
18
16
|
if ((_a = rr.postData) === null || _a === void 0 ? void 0 : _a.text) {
|
|
19
|
-
rr.postData.text = !lodash_1.isEmpty(sensitiveKeys) ? redactKeysFromBody(sensitiveKeys, rr.postData.text, rr.postData.mimeType) : BODY_DATA_REDACTED;
|
|
17
|
+
rr.postData.text = !(0, lodash_1.isEmpty)(sensitiveKeys) ? redactKeysFromBody(sensitiveKeys, rr.postData.text, rr.postData.mimeType) : BODY_DATA_REDACTED;
|
|
20
18
|
}
|
|
21
19
|
if ((_b = rr.response) === null || _b === void 0 ? void 0 : _b.text) {
|
|
22
|
-
rr.response.text = !lodash_1.isEmpty(sensitiveKeys) ? redactKeysFromBody(sensitiveKeys, rr.response.text, rr.response.type) : BODY_DATA_REDACTED;
|
|
20
|
+
rr.response.text = !(0, lodash_1.isEmpty)(sensitiveKeys) ? redactKeysFromBody(sensitiveKeys, rr.response.text, rr.response.type) : BODY_DATA_REDACTED;
|
|
23
21
|
}
|
|
24
22
|
if (rr.postParameters) {
|
|
25
|
-
parameters_1.redactPostParameters(rr.postParameters, sensitiveKeys);
|
|
23
|
+
(0, parameters_1.redactPostParameters)(rr.postParameters, sensitiveKeys);
|
|
26
24
|
}
|
|
27
25
|
});
|
|
28
26
|
}
|
|
29
27
|
exports.redactSensitiveData = redactSensitiveData;
|
|
30
28
|
function redactKeysFromBody(sensitiveKeys, text, mimeType) {
|
|
31
29
|
try {
|
|
32
|
-
if (typeof text != 'string' || utils_1.hasBeenTrimmed(text)) {
|
|
30
|
+
if (typeof text != 'string' || (0, utils_1.hasBeenTrimmed)(text)) {
|
|
33
31
|
return BODY_DATA_REDACTED;
|
|
34
32
|
}
|
|
35
33
|
if (mimeType === null || mimeType === void 0 ? void 0 : mimeType.startsWith('application/x-www-form-urlencoded')) {
|
|
@@ -54,7 +52,7 @@ function redactKeysFromBody(sensitiveKeys, text, mimeType) {
|
|
|
54
52
|
}
|
|
55
53
|
function redactKeysFromJson(json, sensitiveKeys) {
|
|
56
54
|
sensitiveKeys.forEach(function (key) {
|
|
57
|
-
jsonpath_1.default.apply(json, "$..[\""
|
|
55
|
+
jsonpath_1.default.apply(json, "$..[\"".concat(key, "\"]"), function (_value) { return parameters_1.DATA_REDACTED; });
|
|
58
56
|
});
|
|
59
57
|
}
|
|
60
58
|
//# sourceMappingURL=redact-data.js.map
|
package/dist/redact-data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact-data.js","sourceRoot":"","sources":["../src/redact-data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"redact-data.js","sourceRoot":"","sources":["../src/redact-data.ts"],"names":[],"mappings":";;;;AAAA,6DAAqF;AACrF,6EAA+C;AAC/C,8DAAgC;AAChC,iCAAiC;AACjC,kDAAoB;AAEpB,iCAAyC;AAEzC,IAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,SAAgB,mBAAmB,CAAC,gBAAmC,EAAE,aAA4B;IAA5B,8BAAA,EAAA,kBAA4B;IACnG,gBAAgB,CAAC,OAAO,CAAC,UAAA,EAAE;;QACzB,IAAI,MAAA,EAAE,CAAC,QAAQ,0CAAE,IAAI,EAAE;YACrB,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAA,gBAAO,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;SAC7I;QACD,IAAI,MAAA,EAAE,CAAC,QAAQ,0CAAE,IAAI,EAAE;YACrB,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAA,gBAAO,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;SACzI;QACD,IAAI,EAAE,CAAC,cAAc,EAAE;YACrB,IAAA,iCAAoB,EAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;SACxD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAZD,kDAYC;AAED,SAAS,kBAAkB,CAAC,aAAuB,EAAE,IAAa,EAAE,QAAiB;IACnF,IAAI;QAEF,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,EAAE;YACnD,OAAO,kBAAkB,CAAC;SAC3B;QAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC,mCAAmC,CAAC,EAAE;YAC7D,IAAM,MAAM,GAAG,YAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC1C,OAAO,YAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC7B;aAAM,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACjD,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,IAAI,CAAC;aACb;YACD,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC7B;QAED,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,aAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,kBAAkB,CAAC;KAC3B;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAS,EAAE,aAAuB;IAC5D,aAAa,CAAC,OAAO,CAAC,UAAA,GAAG;QACvB,kBAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAQ,GAAG,QAAI,EAAE,UAAC,MAAM,IAAK,OAAA,0BAAa,EAAb,CAAa,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.extendSequenceResult = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
15
5
|
function extendSequenceResult(result, requests) {
|
|
16
|
-
return __assign(__assign({}, result), { resolvedRequests: requests.map(function (request, index) { return (__assign(__assign({}, request), result.resolvedRequests[index])); }) });
|
|
6
|
+
return tslib_1.__assign(tslib_1.__assign({}, result), { resolvedRequests: requests.map(function (request, index) { return (tslib_1.__assign(tslib_1.__assign({}, request), result.resolvedRequests[index])); }) });
|
|
17
7
|
}
|
|
18
8
|
exports.extendSequenceResult = extendSequenceResult;
|
|
19
9
|
//# sourceMappingURL=request-sequence-result.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-sequence-result.js","sourceRoot":"","sources":["../src/request-sequence-result.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-sequence-result.js","sourceRoot":"","sources":["../src/request-sequence-result.ts"],"names":[],"mappings":";;;;AAYA,SAAgB,oBAAoB,CAClC,MAA6B,EAC7B,QAAgB;IAEhB,6CACK,MAAM,KACT,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,KAAa,IAAK,OAAA,uCACtD,OAAO,GACP,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EACjC,EAHyD,CAGzD,CAAC,IACH;AACJ,CAAC;AAXD,oDAWC"}
|
package/dist/res-keeper.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ export declare class ResKeeper {
|
|
|
11
11
|
mapToResultIds: (failureKeys: any) => {
|
|
12
12
|
[key: string]: string;
|
|
13
13
|
};
|
|
14
|
-
keepIfNeeded: (result: RequestSequenceResult, keepFor?: number
|
|
14
|
+
keepIfNeeded: (result: RequestSequenceResult, keepFor?: number) => void;
|
|
15
15
|
popForKeys: (failureKeys: string[], withIds?: boolean) => (RequestSequenceResult | undefined)[];
|
|
16
16
|
}
|
package/dist/res-keeper.js
CHANGED
|
@@ -1,27 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
3
|
exports.ResKeeper = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
23
5
|
var object_map_1 = require("@loadmill/universal/dist/object-map");
|
|
24
|
-
var promiseUtils = __importStar(require("@loadmill/universal/dist/promise-utils"));
|
|
6
|
+
var promiseUtils = tslib_1.__importStar(require("@loadmill/universal/dist/promise-utils"));
|
|
25
7
|
var failures_1 = require("./failures");
|
|
26
8
|
var ResKeeper = /** @class */ (function () {
|
|
27
9
|
function ResKeeper(generateResultKey) {
|
|
@@ -65,7 +47,7 @@ var ResKeeper = /** @class */ (function () {
|
|
|
65
47
|
configurable: true,
|
|
66
48
|
writable: true,
|
|
67
49
|
value: function (result, keepFor) {
|
|
68
|
-
var failureKeys = failures_1.getFailureKeys(result.failures);
|
|
50
|
+
var failureKeys = (0, failures_1.getFailureKeys)(result.failures);
|
|
69
51
|
if (failureKeys.find(function (key) { return !_this.knownKeysToResults[key]; })) {
|
|
70
52
|
// We keep it:
|
|
71
53
|
var id_1 = _this.results.add(result);
|
package/dist/res-keeper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"res-keeper.js","sourceRoot":"","sources":["../src/res-keeper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"res-keeper.js","sourceRoot":"","sources":["../src/res-keeper.ts"],"names":[],"mappings":";;;;AAAA,kEAAgE;AAChE,2FAAuE;AACvE,uCAA4C;AAG5C;IAIE,mBAAoB,iBAAkB;QAAtC,iBAA0C;;;;;mBAAtB;;QAHpB;;;;mBAAgD,EAAE;WAAC;QACnD;;;;mBAAU,IAAI,sBAAS,CAAwB,IAAI,CAAC,iBAAiB,CAAC;WAAC;QAIvE;;;;mBAAe,cAAM,OAAA,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,EAApC,CAAoC;WAAC;QAE1D;;;;mBAAiB,UAAC,WAAW;gBAC3B,IAAM,GAAG,GAA8B,EAAE,CAAC;gBAC1C,WAAW,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAzC,CAAyC,CAAC,CAAC;gBAExE,OAAO,GAAG,CAAC;YACb,CAAC;WAAC;QAEF;;;;mBAAe,UAAC,MAA6B,EAAE,OAAgB;gBAC7D,IAAM,WAAW,GAAG,IAAA,yBAAc,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAEpD,IAAI,WAAW,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAA7B,CAA6B,CAAC,EAAE;oBAC5D,cAAc;oBACd,IAAM,IAAE,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpC,WAAW,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAE,CAAC,EAAnC,CAAmC,CAAC,CAAC;oBAElE,IAAI,OAAO,EAAE;wBACX,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;qBACjE;iBACF;YACH,CAAC;WAAC;QAEF;;;;mBAAa,UAAC,WAAqB,EAAE,OAAe;gBAAf,wBAAA,EAAA,eAAe;gBAClD,OAAO,WAAW;qBACf,GAAG,CAAC,UAAC,GAAG;oBACP,IAAM,EAAE,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAExC,IAAI,EAAE,EAAE;wBACN,IAAM,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACjC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAExB,IAAI,OAAO,IAAI,GAAG,EAAE;4BAClB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;yBAChB;wBAED,OAAO,GAAG,CAAC;qBACZ;gBACH,CAAC,CAAC;qBACD,MAAM,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;WAAC;IA1CuC,CAAC;IA2C5C,gBAAC;AAAD,CAAC,AA/CD,IA+CC;AA/CY,8BAAS"}
|
package/dist/sampler.js
CHANGED
|
@@ -1,72 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
31
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
32
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
33
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
|
-
function step(op) {
|
|
35
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
-
while (_) try {
|
|
37
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
38
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
|
-
switch (op[0]) {
|
|
40
|
-
case 0: case 1: t = op; break;
|
|
41
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
42
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
43
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
44
|
-
default:
|
|
45
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
46
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
47
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
48
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
49
|
-
if (t[2]) _.ops.pop();
|
|
50
|
-
_.trys.pop(); continue;
|
|
51
|
-
}
|
|
52
|
-
op = body.call(thisArg, _);
|
|
53
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
54
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
58
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
59
|
-
to[j] = from[i];
|
|
60
|
-
return to;
|
|
61
|
-
};
|
|
62
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
63
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
64
|
-
};
|
|
65
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
3
|
exports.Sampler = void 0;
|
|
67
|
-
var
|
|
68
|
-
var
|
|
69
|
-
var
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
|
|
6
|
+
var mathUtils = tslib_1.__importStar(require("@loadmill/universal/dist/math-utils"));
|
|
7
|
+
var promiseUtils = tslib_1.__importStar(require("@loadmill/universal/dist/promise-utils"));
|
|
70
8
|
var conf_1 = require("@loadmill/core/dist/conf");
|
|
71
9
|
var single_runner_1 = require("./single-runner");
|
|
72
10
|
var failures_1 = require("./failures");
|
|
@@ -166,7 +104,7 @@ var Sampler = /** @class */ (function () {
|
|
|
166
104
|
});
|
|
167
105
|
var requests = _this.work.requests;
|
|
168
106
|
var iterationDelay = _this.work.iterationDelay || defaults_1.DEFAULT_ITERATION_DELAY;
|
|
169
|
-
var reportDelayy = conf_1.reportDelay(iterationDelay, requests);
|
|
107
|
+
var reportDelayy = (0, conf_1.reportDelay)(iterationDelay, requests);
|
|
170
108
|
_this.samplerMill.reportIntervalId = setInterval(_this.sendReport, reportDelayy);
|
|
171
109
|
_this.samplerMill.isStopped = false;
|
|
172
110
|
_this.runAll();
|
|
@@ -176,20 +114,20 @@ var Sampler = /** @class */ (function () {
|
|
|
176
114
|
enumerable: true,
|
|
177
115
|
configurable: true,
|
|
178
116
|
writable: true,
|
|
179
|
-
value: function () { return __awaiter(_this, void 0, void 0, function () {
|
|
117
|
+
value: function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
180
118
|
var _loop_1, this_1;
|
|
181
119
|
var _this = this;
|
|
182
|
-
return __generator(this, function (_a) {
|
|
120
|
+
return tslib_1.__generator(this, function (_a) {
|
|
183
121
|
switch (_a.label) {
|
|
184
122
|
case 0:
|
|
185
123
|
_loop_1 = function () {
|
|
186
124
|
var res, resFailures, iterationDuration, skipCount;
|
|
187
|
-
return __generator(this, function (_b) {
|
|
125
|
+
return tslib_1.__generator(this, function (_b) {
|
|
188
126
|
switch (_b.label) {
|
|
189
127
|
case 0:
|
|
190
128
|
++this_1.startedIterations;
|
|
191
129
|
log_1.default.trace('Executing iteration: ', this_1.startedIterations);
|
|
192
|
-
return [4 /*yield*/, single_runner_1.runSingleIteration(this_1.work)];
|
|
130
|
+
return [4 /*yield*/, (0, single_runner_1.runSingleIteration)(this_1.work)];
|
|
193
131
|
case 1:
|
|
194
132
|
res = _b.sent();
|
|
195
133
|
this_1.samplerMill.keeper.keepIfNeeded(res, RES_KEEP_TIME);
|
|
@@ -199,20 +137,20 @@ var Sampler = /** @class */ (function () {
|
|
|
199
137
|
}
|
|
200
138
|
else {
|
|
201
139
|
++this_1.failedIterations;
|
|
202
|
-
failures_1.mergeFailures(this_1.failures, resFailures);
|
|
140
|
+
(0, failures_1.mergeFailures)(this_1.failures, resFailures);
|
|
203
141
|
}
|
|
204
142
|
this_1.avgResTime = mathUtils.calcAvg(this_1.avgResTime, this_1.successfulHits, res.avgResTime, res.successfulHits);
|
|
205
143
|
this_1.successfulHits += res.successfulHits;
|
|
206
144
|
Object.keys(res.requestStats).forEach(function (index) {
|
|
207
145
|
var reqStats = res.requestStats[index];
|
|
208
|
-
request_stats_1.setReqStats.apply(void 0, __spreadArray([_this.requestStats, index, reqStats.excludeInAvgStats], reqStats.resTimes));
|
|
146
|
+
request_stats_1.setReqStats.apply(void 0, tslib_1.__spreadArray([_this.requestStats, index, reqStats.excludeInAvgStats], reqStats.resTimes, false));
|
|
209
147
|
});
|
|
210
|
-
iterationDuration = iteration_stats_1.calcIterationDuration(res);
|
|
148
|
+
iterationDuration = (0, iteration_stats_1.calcIterationDuration)(res);
|
|
211
149
|
this_1.iterationTimes.push(iterationDuration);
|
|
212
150
|
this_1.avgIterationTime = mathUtils.calcAvg(this_1.avgIterationTime, this_1.successfulIterations + this_1.failedIterations - 1, iterationDuration, 1);
|
|
213
151
|
if (!!this_1.isDone()) return [3 /*break*/, 3];
|
|
214
152
|
skipCount = res.lastStartedIndex + 1;
|
|
215
|
-
return [4 /*yield*/, promiseUtils.delay(conf_1.minimalRemainingDuration(this_1.work.iterationDelay || defaults_1.DEFAULT_ITERATION_DELAY, this_1.work.requests, skipCount))];
|
|
153
|
+
return [4 /*yield*/, promiseUtils.delay((0, conf_1.minimalRemainingDuration)(this_1.work.iterationDelay || defaults_1.DEFAULT_ITERATION_DELAY, this_1.work.requests, skipCount))];
|
|
216
154
|
case 2:
|
|
217
155
|
_b.sent();
|
|
218
156
|
_b.label = 3;
|
package/dist/sampler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sampler.js","sourceRoot":"","sources":["../src/sampler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sampler.js","sourceRoot":"","sources":["../src/sampler.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,12 @@ import { Extractable } from '@loadmill/core/dist/step/extractable';
|
|
|
6
6
|
import { Assertable } from '@loadmill/core/dist/step/assertable';
|
|
7
7
|
import { TransportableStep } from '@loadmill/core/dist/step/types';
|
|
8
8
|
import { CookiesDetails } from '@loadmill/core/dist/conf/types';
|
|
9
|
+
import { PlaywrightHTMLReportAttachment } from '@loadmill/core/dist/playwright-step/types';
|
|
9
10
|
import { RequestResponse, RequestSequenceResult } from './request-sequence-result';
|
|
10
11
|
import { WSRequest, WSSequenceHandler } from './ws';
|
|
11
12
|
import { GRPCRequest } from './grpc';
|
|
12
13
|
import { Histogram } from './failures';
|
|
14
|
+
import { PlaywrightOptions } from './types/playwright';
|
|
13
15
|
export interface SequenceExecutorLike {
|
|
14
16
|
parameters: SequenceExecutorParameters;
|
|
15
17
|
lastResponseBody: string;
|
|
@@ -34,5 +36,6 @@ export interface SequenceExecutorLike {
|
|
|
34
36
|
saveStdout(index: number, stdout: string[] | undefined): void;
|
|
35
37
|
assignParameters(parameters: SequenceExecutorParameters): void;
|
|
36
38
|
setCookies(cookies: CookiesDetails): void;
|
|
37
|
-
setHtmlReport(index: number, htmlReport: string): void;
|
|
39
|
+
setHtmlReport(index: number, htmlReport: string, attachments: PlaywrightHTMLReportAttachment[]): void;
|
|
40
|
+
playwrightOptions: PlaywrightOptions;
|
|
38
41
|
}
|
package/dist/sequence.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ import { Parameters } from '@loadmill/core/dist/parameters';
|
|
|
3
3
|
import { Step } from '@loadmill/core/dist/step/types';
|
|
4
4
|
import { ExecutionBlocker } from '@loadmill/core/dist/team-options/types';
|
|
5
5
|
import { ExecutableConfIntegrations } from './types/integrations';
|
|
6
|
+
import { PlaywrightOptions } from './types/playwright';
|
|
6
7
|
export declare const reqIdParamName = "loadmill-request-id";
|
|
7
8
|
export declare const sequence: {
|
|
8
|
-
execute(httpAgent: any, requests: Step[], parameters: Parameters[], domainsWhiteList: string[], sequenceOptions: SequenceOptions, protoFileRootPath?: string
|
|
9
|
+
execute(httpAgent: any, requests: Step[], parameters: Parameters[], domainsWhiteList: string[], sequenceOptions: SequenceOptions, protoFileRootPath?: string): Promise<RequestSequenceResult>;
|
|
9
10
|
};
|
|
10
11
|
declare type SequenceOptions = {
|
|
11
12
|
increaseResSize?: boolean;
|
|
@@ -17,5 +18,6 @@ declare type SequenceOptions = {
|
|
|
17
18
|
executionBlockers?: ExecutionBlocker[];
|
|
18
19
|
apiNoVerifyDomain?: boolean;
|
|
19
20
|
integrations?: ExecutableConfIntegrations;
|
|
21
|
+
playwrightOptions?: PlaywrightOptions;
|
|
20
22
|
};
|
|
21
23
|
export {};
|