@loadmill/executer 0.1.197 → 0.1.199
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 +2 -2
- package/dist/ai-assertion/index.js.map +1 -1
- package/dist/sequence-executor-like.d.ts +8 -0
- package/dist/sequence.js +68 -0
- package/dist/sequence.js.map +1 -1
- package/dist/step-handlers/playwright/constants.d.ts +2 -0
- package/dist/step-handlers/playwright/constants.js +4 -1
- package/dist/step-handlers/playwright/constants.js.map +1 -1
- package/dist/step-handlers/playwright/cua.d.ts +2 -0
- package/dist/step-handlers/playwright/cua.js +40 -0
- package/dist/step-handlers/playwright/cua.js.map +1 -0
- package/dist/step-handlers/playwright/index.d.ts +2 -2
- package/dist/step-handlers/playwright/index.js +11 -9
- package/dist/step-handlers/playwright/index.js.map +1 -1
- package/dist/step-handlers/playwright/sanitize-sensitive-text.d.ts +2 -0
- package/dist/step-handlers/playwright/sanitize-sensitive-text.js +20 -0
- package/dist/step-handlers/playwright/sanitize-sensitive-text.js.map +1 -0
- package/dist/step-handlers/playwright/transformer.d.ts +1 -1
- package/dist/step-handlers/playwright/transformer.js +6 -6
- package/dist/step-handlers/playwright/transformer.js.map +1 -1
- package/dist/step-handlers/playwright/types.d.ts +5 -0
- package/dist/step-handlers/playwright/types.js +1 -0
- package/dist/step-handlers/playwright/types.js.map +1 -1
- package/dist/step-handlers/playwright-shared-step-handler.d.ts +12 -0
- package/dist/step-handlers/playwright-shared-step-handler.js +155 -0
- package/dist/step-handlers/playwright-shared-step-handler.js.map +1 -0
- package/dist/step-handlers/playwright-step-handler.js +4 -128
- package/dist/step-handlers/playwright-step-handler.js.map +1 -1
- package/dist/step-handlers/ui-agent-step-handler.d.ts +18 -0
- package/dist/step-handlers/ui-agent-step-handler.js +262 -0
- package/dist/step-handlers/ui-agent-step-handler.js.map +1 -0
- package/dist/types/playwright.d.ts +1 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/index.ts"],"names":[],"mappings":";;;;AAAA,+CAAiE;AACjE,yBAAgC;AAGhC,6EAA+C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sanitizeError = exports.sanitize = void 0;
|
|
4
|
+
var redactTokenPatterns = function (text) {
|
|
5
|
+
if (text === void 0) { text = ''; }
|
|
6
|
+
return text
|
|
7
|
+
.replace(/Bearer\s+([A-Za-z0-9._~-]{8,})/gi, 'Bearer [REDACTED]')
|
|
8
|
+
.replace(/sk-[A-Za-z0-9_-]{8,}/g, 'sk-[REDACTED]');
|
|
9
|
+
};
|
|
10
|
+
var sanitize = function (text) {
|
|
11
|
+
return redactTokenPatterns(text);
|
|
12
|
+
};
|
|
13
|
+
exports.sanitize = sanitize;
|
|
14
|
+
var sanitizeError = function (error) {
|
|
15
|
+
error.message = error.message ? (0, exports.sanitize)(error.message) : error.message;
|
|
16
|
+
error.stack = error.stack ? (0, exports.sanitize)(error.stack) : error.stack;
|
|
17
|
+
return error;
|
|
18
|
+
};
|
|
19
|
+
exports.sanitizeError = sanitizeError;
|
|
20
|
+
//# sourceMappingURL=sanitize-sensitive-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-sensitive-text.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/sanitize-sensitive-text.ts"],"names":[],"mappings":";;;AAAA,IAAM,mBAAmB,GAAG,UAAC,IAAiB;IAAjB,qBAAA,EAAA,SAAiB;IAC5C,OAAO,IAAI;SACR,OAAO,CAAC,kCAAkC,EAAE,mBAAmB,CAAC;SAChE,OAAO,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;AACvD,CAAC,CAAC;AAEK,IAAM,QAAQ,GAAG,UAAC,IAAY;IACnC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB;AAEK,IAAM,aAAa,GAAG,UAAC,KAAY;IACxC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACxE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB"}
|
|
@@ -7,7 +7,7 @@ import { PlaywrightFilesManager } from './files-manager';
|
|
|
7
7
|
declare type ContextOptions = {
|
|
8
8
|
captureNetworkData?: boolean;
|
|
9
9
|
};
|
|
10
|
-
export declare const generateTestFile: ({ description, postScript: userCode }: PlaywrightStep, filesManager: PlaywrightFilesManager, params: SequenceExecutorParameters, cookies: CookiesDetails, contextOptions: ContextOptions) => string;
|
|
10
|
+
export declare const generateTestFile: ({ description, postScript: userCode, timeout }: PlaywrightStep, filesManager: PlaywrightFilesManager, params: SequenceExecutorParameters, cookies: CookiesDetails, contextOptions: ContextOptions) => string;
|
|
11
11
|
export declare const generateConfigFile: (filesManager: PlaywrightFilesManager, playwrightOptions: PlaywrightOptions) => string;
|
|
12
12
|
export declare const generateAzureConfigFile: (devices?: PlaywrightDevices[]) => string;
|
|
13
13
|
export {};
|
|
@@ -13,22 +13,22 @@ var constants_2 = require("@loadmill/core/dist/playwright-step/constants");
|
|
|
13
13
|
var constants_3 = require("./constants");
|
|
14
14
|
var filterURLRegex = /^(?!.*(?:cdn.*|\.(js|html|css|svg|ico|json|png|rss|m3u|gif)(\?|#|$)))/i;
|
|
15
15
|
var generateTestFile = function (_a, filesManager, params, cookies, contextOptions) {
|
|
16
|
-
var description = _a.description, userCode = _a.postScript;
|
|
16
|
+
var description = _a.description, userCode = _a.postScript, timeout = _a.timeout;
|
|
17
17
|
var testName = (0, string_utils_1.escape)(description || 'Playwright Step');
|
|
18
18
|
var declaredParams = _declareParams(params);
|
|
19
19
|
var imports = _generateTestImports();
|
|
20
|
-
var testBody = _generateTestBody(userCode, params, cookies, filesManager);
|
|
20
|
+
var testBody = _generateTestBody(userCode, timeout, params, cookies, filesManager);
|
|
21
21
|
return (0, isEmpty_1.default)(contextOptions) ?
|
|
22
22
|
_generateTestWithoutCustomContext(imports, declaredParams, testName, testBody) :
|
|
23
23
|
_generateTestWithCustomContext(imports, declaredParams, testName, testBody, contextOptions, filesManager);
|
|
24
24
|
};
|
|
25
25
|
exports.generateTestFile = generateTestFile;
|
|
26
26
|
var _generateTestWithoutCustomContext = function (imports, declaredParams, testName, testBody) { return "\n ".concat(imports, "\n\n ").concat(declaredParams, "\n\n test('").concat(testName, "', async ({ browser, context, page }, testInfo) => {\n ").concat(testBody, "\n });\n"); };
|
|
27
|
-
var _generateTestWithCustomContext = function (imports, declaredParams, testName, testBody, contextOptions, filesManager) { return "\n ".concat(imports, "\n\n ").concat(declaredParams, "\n\n test('").concat(testName, "', async ({ browser }, testInfo) => {\n const contextOptions = ").concat(generateBrowserContextOptions(contextOptions, filesManager), ";\n const context = await browser.newContext(contextOptions);\n\n const page = await context.newPage();\n\n ").concat(testBody, "\n\n await context.close();\n await browser.close();\n\n
|
|
27
|
+
var _generateTestWithCustomContext = function (imports, declaredParams, testName, testBody, contextOptions, filesManager) { return "\n ".concat(imports, "\n\n ").concat(declaredParams, "\n\n test('").concat(testName, "', async ({ browser }, testInfo) => {\n const contextOptions = ").concat(generateBrowserContextOptions(contextOptions, filesManager), ";\n const context = await browser.newContext(contextOptions);\n\n const page = await context.newPage();\n\n ").concat(testBody, "\n\n await context.close();\n await browser.close();\n\n ").concat(contextOptions.captureNetworkData ? attachHarToReport(filesManager) : '', "\n });\n"); };
|
|
28
28
|
var _generateTestImports = function () { return "\n import fs from 'fs';\n import { test, expect } from '@playwright/test';\n"; };
|
|
29
|
-
var _generateTestBody = function (userCode, params, cookies, filesManager) {
|
|
29
|
+
var _generateTestBody = function (userCode, timeout, params, cookies, filesManager) {
|
|
30
30
|
if (userCode === void 0) { userCode = ''; }
|
|
31
|
-
return "\n ".concat(_injectCookies(cookies), "\n ").concat(userCode, "\n ").concat(_generateResolvedParams(params, (0, declared_parameters_in_code_1.getDeclaredParametersFromCode)(userCode, constants_1.PLAYWRIGHT_PARSE_OPTIONS)), "\n ").concat(_saveExtractedExecDataToDisk(filesManager), "\n");
|
|
31
|
+
return "\n ".concat(timeout ? "test.setTimeout(".concat(timeout, ");") : '', "\n ").concat(_injectCookies(cookies), "\n ").concat(userCode, "\n ").concat(_generateResolvedParams(params, (0, declared_parameters_in_code_1.getDeclaredParametersFromCode)(userCode, constants_1.PLAYWRIGHT_PARSE_OPTIONS)), "\n ").concat(_saveExtractedExecDataToDisk(filesManager), "\n");
|
|
32
32
|
};
|
|
33
33
|
var generateBrowserContextOptions = function (contextOptions, filesManager) {
|
|
34
34
|
var captureNetworkData = contextOptions.captureNetworkData;
|
|
@@ -84,7 +84,7 @@ var _saveExtractedExecDataToDisk = function (filesManager) {
|
|
|
84
84
|
return "fs.writeFileSync('".concat(filesManager.getExtractedExecDataFilePath(), "', JSON.stringify({ params: ").concat(paramsVariableName, ", cookies: ").concat(_getCookies(), " }));");
|
|
85
85
|
};
|
|
86
86
|
var _getCookies = function () { return 'await context.cookies()'; };
|
|
87
|
-
var generateConfigFile = function (filesManager, playwrightOptions) { return "\n import { defineConfig, devices } from '@playwright/test';\n\n export default defineConfig({\n reporter: [\n ['json', { outputFile: '".concat(filesManager.getResultFilePath(), "' }],\n ['html', {\n outputFolder: '").concat(filesManager.getResultHtmlDir(), "',\n open: 'never',\n attachmentsBaseURL: '").concat(constants_3.playwrightAttachmentsPath, "',\n }],\n ],\n use: {\n screenshot: '").concat(playwrightOptions.takeScreenshotPerTest ? 'on' : 'off', "',\n video: 'retain-on-failure',\n bypassCSP: true, // added to disable CORS\n },\n projects: [\n ").concat(_getBrowserProject(), ",\n ],\n });\n"); };
|
|
87
|
+
var generateConfigFile = function (filesManager, playwrightOptions) { return "\n import { defineConfig, devices } from '@playwright/test';\n\n export default defineConfig({\n reporter: [\n ['json', { outputFile: '".concat(filesManager.getResultFilePath(), "' }],\n ['html', {\n outputFolder: '").concat(filesManager.getResultHtmlDir(), "',\n open: 'never',\n attachmentsBaseURL: '").concat(constants_3.playwrightAttachmentsPath, "',\n }],\n ],\n use: {\n screenshot: '").concat(playwrightOptions.takeScreenshotPerTest ? 'on' : 'off', "',\n video: '").concat(playwrightOptions.takeUIAgentVideoPerTest ? 'on' : 'retain-on-failure', "',\n bypassCSP: true, // added to disable CORS\n },\n projects: [\n ").concat(_getBrowserProject(), ",\n ],\n });\n"); };
|
|
88
88
|
exports.generateConfigFile = generateConfigFile;
|
|
89
89
|
var _getBrowserProject = function () {
|
|
90
90
|
return _isSafari() ? safariProjectConfig : chromiumProjectConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/transformer.ts"],"names":[],"mappings":";;;;;AACA,mEAAqC;AAGrC,2EAAyF;AACzF,sEAA+D;AAC/D,oEAAuE;AAEvE,6DAAgG;AAChG,8HAA+H;AAE/H,2EAA0G;AAK1G,yCAA0E;AAM1E,IAAM,cAAc,GAAG,wEAAwE,CAAC;AAEzF,IAAM,gBAAgB,GAAG,UAC9B,
|
|
1
|
+
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { SequenceExecutorParameters } from '@loadmill/core/dist/parameters';
|
|
|
2
2
|
import { PlaywrightHTMLReportAttachment } from '@loadmill/core/dist/playwright-step/types';
|
|
3
3
|
import { Cookie } from '@playwright/test';
|
|
4
4
|
import { JSONReport } from '@playwright/test/reporter';
|
|
5
|
+
import { UI_AGENT_OPENAI_API_KEY_ENV_VAR } from './constants';
|
|
5
6
|
export declare type PlaywrightExecutionResult = {
|
|
6
7
|
result?: JSONReport;
|
|
7
8
|
htmlReport?: string;
|
|
@@ -11,3 +12,7 @@ export declare type ExtractedExecData = {
|
|
|
11
12
|
params: SequenceExecutorParameters;
|
|
12
13
|
cookies: Cookie[];
|
|
13
14
|
};
|
|
15
|
+
export declare type PlaywrightEnvironmentVariables = {
|
|
16
|
+
[UI_AGENT_OPENAI_API_KEY_ENV_VAR]?: string;
|
|
17
|
+
LOG_LEVEL?: string;
|
|
18
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/types.ts"],"names":[],"mappings":";;AAIA,yCAA8D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PlaywrightStep } from '@loadmill/core/dist/playwright-step';
|
|
2
|
+
import { Histogram } from '../failures';
|
|
3
|
+
import { SequenceExecutorLike } from '../sequence-executor-like';
|
|
4
|
+
import { ExecuteRes } from './step-handler';
|
|
5
|
+
import { PlaywrightFilesManager } from './playwright/files-manager';
|
|
6
|
+
import { PlaywrightOptions } from '../types/playwright';
|
|
7
|
+
import { PlaywrightEnvironmentVariables } from './playwright/types';
|
|
8
|
+
export declare const executeWithPlaywrightWrapper: (step: PlaywrightStep, stepIndex: number, fileManager: PlaywrightFilesManager, context: SequenceExecutorLike, playwrightOptions: PlaywrightOptions, reportOptions: {
|
|
9
|
+
shouldSaveHtmlReport?: boolean;
|
|
10
|
+
shouldSaveStdout?: boolean;
|
|
11
|
+
}, playwrightEnvVars?: PlaywrightEnvironmentVariables) => Promise<ExecuteRes>;
|
|
12
|
+
export declare const processSuccessfulPlaywrightStepResponse: (context: SequenceExecutorLike, index: number) => Promise<Histogram>;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processSuccessfulPlaywrightStepResponse = exports.executeWithPlaywrightWrapper = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var strip_ansi_1 = tslib_1.__importDefault(require("strip-ansi"));
|
|
6
|
+
var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
|
|
7
|
+
var array_utils_1 = require("@loadmill/universal/dist/array-utils");
|
|
8
|
+
var performance_1 = require("../performance");
|
|
9
|
+
var cookies_1 = require("../cookies");
|
|
10
|
+
var errors_1 = require("../errors");
|
|
11
|
+
var playwright_1 = require("./playwright");
|
|
12
|
+
var playwright_usage_1 = require("./playwright/playwright-usage");
|
|
13
|
+
var sanitize_sensitive_text_1 = require("./playwright/sanitize-sensitive-text");
|
|
14
|
+
var executeWithPlaywrightWrapper = function (step, stepIndex, fileManager, context, playwrightOptions, reportOptions, playwrightEnvVars) {
|
|
15
|
+
if (playwrightEnvVars === void 0) { playwrightEnvVars = {}; }
|
|
16
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
17
|
+
var requestStartTime, beforeTime, _a, result, htmlReport, htmlReportAttachments, playwrightUsage, errMsg, _b, params, cookies, err_1;
|
|
18
|
+
return tslib_1.__generator(this, function (_c) {
|
|
19
|
+
switch (_c.label) {
|
|
20
|
+
case 0:
|
|
21
|
+
requestStartTime = Date.now();
|
|
22
|
+
beforeTime = performance_1.isPerformance ? performance.now() : requestStartTime;
|
|
23
|
+
_c.label = 1;
|
|
24
|
+
case 1:
|
|
25
|
+
_c.trys.push([1, 3, 4, 5]);
|
|
26
|
+
return [4 /*yield*/, (0, playwright_1.executePlaywrightStep)(step, fileManager, context.parameters, context.getCurrentCookies(), playwrightOptions, playwrightEnvVars)];
|
|
27
|
+
case 2:
|
|
28
|
+
_a = _c.sent(), result = _a.result, htmlReport = _a.htmlReport, htmlReportAttachments = _a.htmlReportAttachments;
|
|
29
|
+
if (reportOptions.shouldSaveHtmlReport && htmlReport) {
|
|
30
|
+
context.setHtmlReport(stepIndex, htmlReport, htmlReportAttachments);
|
|
31
|
+
}
|
|
32
|
+
else if (htmlReportAttachments) {
|
|
33
|
+
context.saveAttachments(stepIndex, htmlReportAttachments);
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
if (result) {
|
|
37
|
+
playwrightUsage = (0, playwright_usage_1.getPlaywrightTestRunUsage)(result, context.playwrightOptions);
|
|
38
|
+
log_1.default.debug('Extracted Playwright usage data:', { playwrightUsage: playwrightUsage });
|
|
39
|
+
context.setPlaywrightUsage(stepIndex, playwrightUsage);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
log_1.default.warn('Failed to extract Playwright usage data:', err);
|
|
44
|
+
}
|
|
45
|
+
if (reportOptions.shouldSaveStdout) {
|
|
46
|
+
context.saveStdout(stepIndex, _getLogs(result));
|
|
47
|
+
}
|
|
48
|
+
errMsg = _getErrMsg(result);
|
|
49
|
+
if (errMsg) {
|
|
50
|
+
context.setPostParameters(stepIndex);
|
|
51
|
+
throw new errors_1.RequestFailuresError(errMsg);
|
|
52
|
+
}
|
|
53
|
+
_b = fileManager.getExtractedExecData(), params = _b.params, cookies = _b.cookies;
|
|
54
|
+
context.assignParameters(params);
|
|
55
|
+
context.setCookies(_formatCookies(cookies));
|
|
56
|
+
return [2 /*return*/, {}];
|
|
57
|
+
case 3:
|
|
58
|
+
err_1 = _c.sent();
|
|
59
|
+
if (!(err_1 instanceof errors_1.RequestFailuresError)) {
|
|
60
|
+
log_1.default.error('Error executing Playwright step:', err_1);
|
|
61
|
+
}
|
|
62
|
+
_handleMissingDepsError(err_1);
|
|
63
|
+
throw new errors_1.RequestFailuresError(err_1.message);
|
|
64
|
+
case 4:
|
|
65
|
+
context.setTimeParams(requestStartTime, beforeTime);
|
|
66
|
+
fileManager.cleanup();
|
|
67
|
+
return [7 /*endfinally*/];
|
|
68
|
+
case 5: return [2 /*return*/];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
exports.executeWithPlaywrightWrapper = executeWithPlaywrightWrapper;
|
|
74
|
+
var processSuccessfulPlaywrightStepResponse = function (context, index) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
75
|
+
return tslib_1.__generator(this, function (_a) {
|
|
76
|
+
context.setPostParameters(index);
|
|
77
|
+
return [2 /*return*/, {}];
|
|
78
|
+
});
|
|
79
|
+
}); };
|
|
80
|
+
exports.processSuccessfulPlaywrightStepResponse = processSuccessfulPlaywrightStepResponse;
|
|
81
|
+
var _formatCookies = function (cookies) {
|
|
82
|
+
var cookiesToSend = {};
|
|
83
|
+
cookies.forEach(function (cookie) {
|
|
84
|
+
var domain = cookie.domain;
|
|
85
|
+
var path = cookie.path || '/';
|
|
86
|
+
var cookieDetails = {
|
|
87
|
+
cookie: cookie.name + '=' + cookie.value,
|
|
88
|
+
domain: domain,
|
|
89
|
+
path: path,
|
|
90
|
+
};
|
|
91
|
+
(0, cookies_1.appendCookie)(cookiesToSend, cookieDetails);
|
|
92
|
+
});
|
|
93
|
+
return cookiesToSend;
|
|
94
|
+
};
|
|
95
|
+
var _getErrMsg = function (result) {
|
|
96
|
+
var errMsg = _resToErrMsg(result);
|
|
97
|
+
if (errMsg) {
|
|
98
|
+
return (0, sanitize_sensitive_text_1.sanitize)((0, strip_ansi_1.default)(errMsg));
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
var _resToErrMsg = function (result) {
|
|
102
|
+
var _a, _b, _c;
|
|
103
|
+
var errMsg = '';
|
|
104
|
+
var devicesTests = (_b = (_a = result === null || result === void 0 ? void 0 : result.suites[0]) === null || _a === void 0 ? void 0 : _a.specs[0]) === null || _b === void 0 ? void 0 : _b.tests;
|
|
105
|
+
if ((0, array_utils_1.isNonEmptyArray)(devicesTests)) {
|
|
106
|
+
for (var _i = 0, devicesTests_1 = devicesTests; _i < devicesTests_1.length; _i++) {
|
|
107
|
+
var deviceTest = devicesTests_1[_i];
|
|
108
|
+
errMsg += _getDeviceErrMsg(deviceTest) || '';
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (!errMsg) {
|
|
112
|
+
errMsg += ((_c = result === null || result === void 0 ? void 0 : result.errors[0]) === null || _c === void 0 ? void 0 : _c.message) || '';
|
|
113
|
+
}
|
|
114
|
+
return errMsg;
|
|
115
|
+
};
|
|
116
|
+
var _getDeviceErrMsg = function (deviceTest) {
|
|
117
|
+
var _a, _b;
|
|
118
|
+
var err = (_b = (_a = deviceTest.results[0]) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
119
|
+
if (err) {
|
|
120
|
+
return "[".concat(deviceTest.projectName, "] ").concat(err, ". ");
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
var _getLogs = function (result) {
|
|
124
|
+
var _a, _b;
|
|
125
|
+
var logs = [];
|
|
126
|
+
var devicesTests = (_b = (_a = result === null || result === void 0 ? void 0 : result.suites[0]) === null || _a === void 0 ? void 0 : _a.specs[0]) === null || _b === void 0 ? void 0 : _b.tests;
|
|
127
|
+
if ((0, array_utils_1.isNonEmptyArray)(devicesTests)) {
|
|
128
|
+
for (var _i = 0, devicesTests_2 = devicesTests; _i < devicesTests_2.length; _i++) {
|
|
129
|
+
var deviceTest = devicesTests_2[_i];
|
|
130
|
+
logs.push.apply(logs, _getDeviceLogs(deviceTest));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return logs;
|
|
134
|
+
};
|
|
135
|
+
var _getDeviceLogs = function (deviceTest) {
|
|
136
|
+
var _a;
|
|
137
|
+
var logs = ((_a = deviceTest.results[0]) === null || _a === void 0 ? void 0 : _a.stdout.map(function (log) { return (0, strip_ansi_1.default)('text' in log ? log.text : log.buffer.toString()); })) || [];
|
|
138
|
+
if ((0, array_utils_1.isNonEmptyArray)(logs)) {
|
|
139
|
+
logs.unshift("[Logs from device: ".concat(deviceTest.projectName, "]"));
|
|
140
|
+
}
|
|
141
|
+
return logs;
|
|
142
|
+
};
|
|
143
|
+
var _handleMissingDepsError = function (err) {
|
|
144
|
+
if (err.message.startsWith(playwright_1.missingDepsErrMsg)) {
|
|
145
|
+
throw new errors_1.RequestFailuresError('Running Playwright steps is not supported on this agent. ' +
|
|
146
|
+
'Use our pre-configured Docker image for a seamless setup (https://hub.docker.com/r/loadmill/agent).');
|
|
147
|
+
}
|
|
148
|
+
if (err.message.startsWith(playwright_1.invalidCliPathErrMsg)) {
|
|
149
|
+
throw new errors_1.RequestFailuresError([
|
|
150
|
+
err.message,
|
|
151
|
+
'Please verify the path and ensure it points to a valid Playwright test CLI executable.',
|
|
152
|
+
].join(' '));
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=playwright-shared-step-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright-shared-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/playwright-shared-step-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,16 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PlaywrightStepHandler = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var strip_ansi_1 = tslib_1.__importDefault(require("strip-ansi"));
|
|
6
|
-
var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
|
|
7
|
-
var array_utils_1 = require("@loadmill/universal/dist/array-utils");
|
|
8
5
|
var type_guards_1 = require("@loadmill/core/dist/step/type-guards");
|
|
9
|
-
var performance_1 = require("../performance");
|
|
10
|
-
var cookies_1 = require("../cookies");
|
|
11
|
-
var errors_1 = require("../errors");
|
|
12
|
-
var playwright_1 = require("./playwright");
|
|
13
6
|
var files_manager_1 = require("./playwright/files-manager");
|
|
14
|
-
var
|
|
7
|
+
var playwright_shared_step_handler_1 = require("./playwright-shared-step-handler");
|
|
15
8
|
var PlaywrightStepHandler = /** @class */ (function () {
|
|
16
9
|
function PlaywrightStepHandler(context) {
|
|
17
10
|
Object.defineProperty(this, "context", {
|
|
@@ -42,50 +35,8 @@ var PlaywrightStepHandler = /** @class */ (function () {
|
|
|
42
35
|
writable: true,
|
|
43
36
|
value: function (playwrightStep, stepIndex) {
|
|
44
37
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
switch (_c.label) {
|
|
48
|
-
case 0:
|
|
49
|
-
_c.trys.push([0, 2, 3, 4]);
|
|
50
|
-
requestStartTime = Date.now();
|
|
51
|
-
beforeTime = performance_1.isPerformance ? performance.now() : requestStartTime;
|
|
52
|
-
return [4 /*yield*/, (0, playwright_1.executePlaywrightStep)(playwrightStep, this.fileManager, this.context.parameters, this.context.getCurrentCookies(), this.context.playwrightOptions)];
|
|
53
|
-
case 1:
|
|
54
|
-
_a = _c.sent(), result = _a.result, htmlReport = _a.htmlReport, htmlReportAttachments = _a.htmlReportAttachments;
|
|
55
|
-
htmlReport && this.context.setHtmlReport(stepIndex, htmlReport, htmlReportAttachments);
|
|
56
|
-
try {
|
|
57
|
-
if (result) {
|
|
58
|
-
playwrightUsage = (0, playwright_usage_1.getPlaywrightTestRunUsage)(result, this.context.playwrightOptions);
|
|
59
|
-
log_1.default.debug('Extracted Playwright usage data:', { playwrightUsage: playwrightUsage });
|
|
60
|
-
this.context.setPlaywrightUsage(stepIndex, playwrightUsage);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
log_1.default.warn('Failed to extract Playwright usage data:', err);
|
|
65
|
-
}
|
|
66
|
-
this.context.saveStdout(stepIndex, _getLogs(result));
|
|
67
|
-
errMsg = _getErrMsg(result);
|
|
68
|
-
if (errMsg) {
|
|
69
|
-
this.context.setPostParameters(stepIndex);
|
|
70
|
-
throw new errors_1.RequestFailuresError(errMsg);
|
|
71
|
-
}
|
|
72
|
-
_b = this.fileManager.getExtractedExecData(), params = _b.params, cookies = _b.cookies;
|
|
73
|
-
this.context.assignParameters(params);
|
|
74
|
-
this.context.setCookies(_formatCookies(cookies));
|
|
75
|
-
this.context.setTimeParams(requestStartTime, beforeTime);
|
|
76
|
-
return [2 /*return*/, {}];
|
|
77
|
-
case 2:
|
|
78
|
-
err_1 = _c.sent();
|
|
79
|
-
if (!(err_1 instanceof errors_1.RequestFailuresError)) {
|
|
80
|
-
log_1.default.error('Error executing Playwright step:', err_1);
|
|
81
|
-
}
|
|
82
|
-
_handleMissingDepsError(err_1);
|
|
83
|
-
throw new errors_1.RequestFailuresError(err_1.message);
|
|
84
|
-
case 3:
|
|
85
|
-
this.fileManager.cleanup();
|
|
86
|
-
return [7 /*endfinally*/];
|
|
87
|
-
case 4: return [2 /*return*/];
|
|
88
|
-
}
|
|
38
|
+
return tslib_1.__generator(this, function (_a) {
|
|
39
|
+
return [2 /*return*/, (0, playwright_shared_step_handler_1.executeWithPlaywrightWrapper)(playwrightStep, stepIndex, this.fileManager, this.context, tslib_1.__assign(tslib_1.__assign({}, this.context.playwrightOptions), { takeUIAgentVideoPerTest: false }), { shouldSaveHtmlReport: true, shouldSaveStdout: true })];
|
|
89
40
|
});
|
|
90
41
|
});
|
|
91
42
|
}
|
|
@@ -97,8 +48,7 @@ var PlaywrightStepHandler = /** @class */ (function () {
|
|
|
97
48
|
value: function (_step, index, _res) {
|
|
98
49
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
99
50
|
return tslib_1.__generator(this, function (_a) {
|
|
100
|
-
this.context
|
|
101
|
-
return [2 /*return*/, {}];
|
|
51
|
+
return [2 /*return*/, (0, playwright_shared_step_handler_1.processSuccessfulPlaywrightStepResponse)(this.context, index)];
|
|
102
52
|
});
|
|
103
53
|
});
|
|
104
54
|
}
|
|
@@ -106,78 +56,4 @@ var PlaywrightStepHandler = /** @class */ (function () {
|
|
|
106
56
|
return PlaywrightStepHandler;
|
|
107
57
|
}());
|
|
108
58
|
exports.PlaywrightStepHandler = PlaywrightStepHandler;
|
|
109
|
-
var _formatCookies = function (cookies) {
|
|
110
|
-
var cookiesToSend = {};
|
|
111
|
-
cookies.forEach(function (cookie) {
|
|
112
|
-
var domain = cookie.domain;
|
|
113
|
-
var path = cookie.path || '/';
|
|
114
|
-
var cookieDetails = {
|
|
115
|
-
cookie: cookie.name + '=' + cookie.value,
|
|
116
|
-
domain: domain,
|
|
117
|
-
path: path,
|
|
118
|
-
};
|
|
119
|
-
(0, cookies_1.appendCookie)(cookiesToSend, cookieDetails);
|
|
120
|
-
});
|
|
121
|
-
return cookiesToSend;
|
|
122
|
-
};
|
|
123
|
-
var _getErrMsg = function (result) {
|
|
124
|
-
var errMsg = _resToErrMsg(result);
|
|
125
|
-
if (errMsg) {
|
|
126
|
-
return (0, strip_ansi_1.default)(errMsg);
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
var _resToErrMsg = function (result) {
|
|
130
|
-
var _a, _b, _c;
|
|
131
|
-
var errMsg = '';
|
|
132
|
-
var devicesTests = (_b = (_a = result === null || result === void 0 ? void 0 : result.suites[0]) === null || _a === void 0 ? void 0 : _a.specs[0]) === null || _b === void 0 ? void 0 : _b.tests;
|
|
133
|
-
if ((0, array_utils_1.isNonEmptyArray)(devicesTests)) {
|
|
134
|
-
for (var _i = 0, devicesTests_1 = devicesTests; _i < devicesTests_1.length; _i++) {
|
|
135
|
-
var deviceTest = devicesTests_1[_i];
|
|
136
|
-
errMsg += _getDeviceErrMsg(deviceTest) || '';
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
if (!errMsg) {
|
|
140
|
-
errMsg += ((_c = result === null || result === void 0 ? void 0 : result.errors[0]) === null || _c === void 0 ? void 0 : _c.message) || '';
|
|
141
|
-
}
|
|
142
|
-
return errMsg;
|
|
143
|
-
};
|
|
144
|
-
var _getDeviceErrMsg = function (deviceTest) {
|
|
145
|
-
var _a, _b;
|
|
146
|
-
var err = (_b = (_a = deviceTest.results[0]) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
147
|
-
if (err) {
|
|
148
|
-
return "[".concat(deviceTest.projectName, "] ").concat(err, ". ");
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
var _getLogs = function (result) {
|
|
152
|
-
var _a, _b;
|
|
153
|
-
var logs = [];
|
|
154
|
-
var devicesTests = (_b = (_a = result === null || result === void 0 ? void 0 : result.suites[0]) === null || _a === void 0 ? void 0 : _a.specs[0]) === null || _b === void 0 ? void 0 : _b.tests;
|
|
155
|
-
if ((0, array_utils_1.isNonEmptyArray)(devicesTests)) {
|
|
156
|
-
for (var _i = 0, devicesTests_2 = devicesTests; _i < devicesTests_2.length; _i++) {
|
|
157
|
-
var deviceTest = devicesTests_2[_i];
|
|
158
|
-
logs.push.apply(logs, _getDeviceLogs(deviceTest));
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
return logs;
|
|
162
|
-
};
|
|
163
|
-
var _getDeviceLogs = function (deviceTest) {
|
|
164
|
-
var _a;
|
|
165
|
-
var logs = ((_a = deviceTest.results[0]) === null || _a === void 0 ? void 0 : _a.stdout.map(function (log) { return (0, strip_ansi_1.default)('text' in log ? log.text : log.buffer.toString()); })) || [];
|
|
166
|
-
if ((0, array_utils_1.isNonEmptyArray)(logs)) {
|
|
167
|
-
logs.unshift("[Logs from device: ".concat(deviceTest.projectName, "]"));
|
|
168
|
-
}
|
|
169
|
-
return logs;
|
|
170
|
-
};
|
|
171
|
-
var _handleMissingDepsError = function (err) {
|
|
172
|
-
if (err.message.startsWith(playwright_1.missingDepsErrMsg)) {
|
|
173
|
-
throw new errors_1.RequestFailuresError('Running Playwright steps is not supported on this agent. ' +
|
|
174
|
-
'Use our pre-configured Docker image for a seamless setup (https://hub.docker.com/r/loadmill/agent).');
|
|
175
|
-
}
|
|
176
|
-
if (err.message.startsWith(playwright_1.invalidCliPathErrMsg)) {
|
|
177
|
-
throw new errors_1.RequestFailuresError([
|
|
178
|
-
err.message,
|
|
179
|
-
'Please verify the path and ensure it points to a valid Playwright test CLI executable.',
|
|
180
|
-
].join(' '));
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
59
|
//# sourceMappingURL=playwright-step-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/playwright-step-handler.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"playwright-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/playwright-step-handler.ts"],"names":[],"mappings":";;;;AAEA,oEAAwE;AAKxE,4DAAoE;AACpE,mFAG0C;AAE1C;IAGE,+BAAoB,OAA6B;;;;;mBAA7B;;QAFpB;;;;;WAA4C;QAG1C,IAAI,CAAC,WAAW,GAAG,IAAI,sCAAsB,EAAE,CAAC;IAClD,CAAC;;;;;eAED,UAAU,IAAU;YAClB,OAAO,IAAA,8BAAgB,EAAC,IAAI,CAAC,CAAC;QAChC,CAAC;;;;;;eAED,UAAc,cAA8B,EAAE,SAAiB;;;oBAC7D,sBAAO,IAAA,6DAA4B,EACjC,cAAc,EACd,SAAS,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,wCACP,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAE,uBAAuB,EAAE,KAAK,KACnE,EAAE,oBAAoB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CACvD,EAAC;;;SACH;;;;;;eAED,UAAgC,KAAW,EAAE,KAAa,EAAE,IAAgB;;;oBAC1E,sBAAO,IAAA,wEAAuC,EAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAC;;;SACrE;;IACH,4BAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,sDAAqB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Step } from '@loadmill/core/dist/step/types';
|
|
2
|
+
import { UIAgentStep } from '@loadmill/core/dist/ui-agent-step';
|
|
3
|
+
import { Histogram } from '../failures';
|
|
4
|
+
import { SequenceExecutorLike } from '../sequence-executor-like';
|
|
5
|
+
import { ExecuteRes, StepHandler } from './step-handler';
|
|
6
|
+
export declare class UIAgentStepHandler implements StepHandler {
|
|
7
|
+
private context;
|
|
8
|
+
private fileManager;
|
|
9
|
+
constructor(context: SequenceExecutorLike);
|
|
10
|
+
canHandle(step: Step): boolean;
|
|
11
|
+
execute(step: UIAgentStep, index: number): Promise<ExecuteRes>;
|
|
12
|
+
_resolveStepExpressions(step: UIAgentStep): UIAgentStep;
|
|
13
|
+
processSuccessfulResponse(_step: Step, index: number, _res: ExecuteRes): Promise<Histogram>;
|
|
14
|
+
private _convertToPlaywrightStep;
|
|
15
|
+
private _judgeUIAgentStep;
|
|
16
|
+
private _callOpenAiForJudgement;
|
|
17
|
+
private _extractJudgeResult;
|
|
18
|
+
}
|