@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.
Files changed (86) hide show
  1. package/dist/ai-assertion/index.js +15 -53
  2. package/dist/ai-assertion/index.js.map +1 -1
  3. package/dist/ai-assertion/prompts.js +2 -2
  4. package/dist/ai-assertion/prompts.js.map +1 -1
  5. package/dist/asserter.js +9 -47
  6. package/dist/asserter.js.map +1 -1
  7. package/dist/block-request.d.ts +1 -1
  8. package/dist/block-request.js +12 -22
  9. package/dist/block-request.js.map +1 -1
  10. package/dist/cookies.d.ts +1 -1
  11. package/dist/cookies.js +6 -8
  12. package/dist/cookies.js.map +1 -1
  13. package/dist/env.d.ts +4 -0
  14. package/dist/env.js +8 -0
  15. package/dist/env.js.map +1 -0
  16. package/dist/errors.js +2 -16
  17. package/dist/errors.js.map +1 -1
  18. package/dist/extraction-combiner.js +5 -43
  19. package/dist/extraction-combiner.js.map +1 -1
  20. package/dist/failures.js +3 -13
  21. package/dist/failures.js.map +1 -1
  22. package/dist/grpc.js +15 -72
  23. package/dist/grpc.js.map +1 -1
  24. package/dist/iteration-stats.js +5 -7
  25. package/dist/iteration-stats.js.map +1 -1
  26. package/dist/mill-version.js +1 -1
  27. package/dist/mill-version.js.map +1 -1
  28. package/dist/parameter-pools.js +6 -44
  29. package/dist/parameter-pools.js.map +1 -1
  30. package/dist/performance.js +2 -4
  31. package/dist/performance.js.map +1 -1
  32. package/dist/post-script/post-script-executor.js +7 -25
  33. package/dist/post-script/post-script-executor.js.map +1 -1
  34. package/dist/post-sequence.js +17 -55
  35. package/dist/post-sequence.js.map +1 -1
  36. package/dist/redact-data.js +9 -11
  37. package/dist/redact-data.js.map +1 -1
  38. package/dist/request-sequence-result.js +2 -12
  39. package/dist/request-sequence-result.js.map +1 -1
  40. package/dist/res-keeper.d.ts +1 -1
  41. package/dist/res-keeper.js +3 -21
  42. package/dist/res-keeper.js.map +1 -1
  43. package/dist/sampler.js +13 -75
  44. package/dist/sampler.js.map +1 -1
  45. package/dist/sequence-executor-like.d.ts +4 -1
  46. package/dist/sequence.d.ts +3 -1
  47. package/dist/sequence.js +141 -204
  48. package/dist/sequence.js.map +1 -1
  49. package/dist/single-runner.d.ts +2 -0
  50. package/dist/single-runner.js +12 -81
  51. package/dist/single-runner.js.map +1 -1
  52. package/dist/step-handlers/code-step-handler.js +6 -41
  53. package/dist/step-handlers/code-step-handler.js.map +1 -1
  54. package/dist/step-handlers/extract-step-handler.js +6 -41
  55. package/dist/step-handlers/extract-step-handler.js.map +1 -1
  56. package/dist/step-handlers/playwright/constants.d.ts +4 -0
  57. package/dist/step-handlers/playwright/constants.js +15 -6
  58. package/dist/step-handlers/playwright/constants.js.map +1 -1
  59. package/dist/step-handlers/playwright/files-manager.d.ts +3 -0
  60. package/dist/step-handlers/playwright/files-manager.js +69 -34
  61. package/dist/step-handlers/playwright/files-manager.js.map +1 -1
  62. package/dist/step-handlers/playwright/index.d.ts +2 -1
  63. package/dist/step-handlers/playwright/index.js +16 -46
  64. package/dist/step-handlers/playwright/index.js.map +1 -1
  65. package/dist/step-handlers/playwright/transformer.d.ts +2 -1
  66. package/dist/step-handlers/playwright/transformer.js +9 -8
  67. package/dist/step-handlers/playwright/transformer.js.map +1 -1
  68. package/dist/step-handlers/playwright/types.d.ts +2 -0
  69. package/dist/step-handlers/playwright-step-handler.js +27 -65
  70. package/dist/step-handlers/playwright-step-handler.js.map +1 -1
  71. package/dist/step-handlers/request-step-handler.js +6 -41
  72. package/dist/step-handlers/request-step-handler.js.map +1 -1
  73. package/dist/step-handlers/wait-step-handler.js +11 -46
  74. package/dist/step-handlers/wait-step-handler.js.map +1 -1
  75. package/dist/step-handlers/web-socket-step-handler.js +18 -75
  76. package/dist/step-handlers/web-socket-step-handler.js.map +1 -1
  77. package/dist/test-run-event-emitter.js +2 -4
  78. package/dist/test-run-event-emitter.js.map +1 -1
  79. package/dist/types/playwright.d.ts +3 -0
  80. package/dist/types/playwright.js +3 -0
  81. package/dist/types/playwright.js.map +1 -0
  82. package/dist/utils.js +2 -20
  83. package/dist/utils.js.map +1 -1
  84. package/dist/ws.js +20 -58
  85. package/dist/ws.js.map +1 -1
  86. package/package.json +4 -3
@@ -1,31 +1,11 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
2
  Object.defineProperty(exports, "__esModule", { value: true });
25
3
  exports.PlaywrightFilesManager = void 0;
26
- var path = __importStar(require("path"));
27
- var v4_1 = __importDefault(require("uuid/v4"));
28
- var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
4
+ var tslib_1 = require("tslib");
5
+ var path = tslib_1.__importStar(require("path"));
6
+ var v4_1 = tslib_1.__importDefault(require("uuid/v4"));
7
+ var isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty"));
8
+ var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
29
9
  var file_system_1 = require("@loadmill/core/dist/utils/file-system");
30
10
  var constants_1 = require("./constants");
31
11
  var PlaywrightFilesManager = /** @class */ (function () {
@@ -36,7 +16,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
36
16
  writable: true,
37
17
  value: void 0
38
18
  });
39
- this.rootDir = path.join(constants_1.PLAYWRIGHT_FILES_DIR_PATH, v4_1.default());
19
+ this.rootDir = path.join(constants_1.PLAYWRIGHT_FILES_DIR_PATH, (0, v4_1.default)());
40
20
  }
41
21
  Object.defineProperty(PlaywrightFilesManager.prototype, "getRootDir", {
42
22
  enumerable: false,
@@ -51,7 +31,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
51
31
  configurable: true,
52
32
  writable: true,
53
33
  value: function () {
54
- file_system_1.deleteFolderFromDisk(this.rootDir);
34
+ (0, file_system_1.deleteFolderFromDisk)(this.rootDir);
55
35
  }
56
36
  });
57
37
  Object.defineProperty(PlaywrightFilesManager.prototype, "getResultFilePath", {
@@ -67,7 +47,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
67
47
  configurable: true,
68
48
  writable: true,
69
49
  value: function () {
70
- var content = file_system_1.readFileFromDisk(this.getResultFilePath());
50
+ var content = (0, file_system_1.readFileFromDisk)(this.getResultFilePath());
71
51
  return content && JSON.parse(content);
72
52
  }
73
53
  });
@@ -84,7 +64,54 @@ var PlaywrightFilesManager = /** @class */ (function () {
84
64
  configurable: true,
85
65
  writable: true,
86
66
  value: function () {
87
- return file_system_1.readFileFromDisk(path.join(this.getResultHtmlDir(), constants_1.RESULT_HTML_FILE_NAME));
67
+ return (0, file_system_1.readFileFromDisk)(path.join(this.getResultHtmlDir(), constants_1.RESULT_HTML_FILE_NAME));
68
+ }
69
+ });
70
+ Object.defineProperty(PlaywrightFilesManager.prototype, "getResultHtmlAttachmentsDir", {
71
+ enumerable: false,
72
+ configurable: true,
73
+ writable: true,
74
+ value: function () {
75
+ return path.join(this.getResultHtmlDir(), constants_1.RESULT_HTML_ATTACHMENTS_DIR);
76
+ }
77
+ });
78
+ Object.defineProperty(PlaywrightFilesManager.prototype, "getHtmlReportAttachments", {
79
+ enumerable: false,
80
+ configurable: true,
81
+ writable: true,
82
+ value: function () {
83
+ var attachmentsDir = this.getResultHtmlAttachmentsDir();
84
+ var attachmentsFileNames = (0, file_system_1.readFolderFromDisk)(attachmentsDir) || [];
85
+ log_1.default.debug('Playwright step HTML report attachments', { attachmentsFileNames: attachmentsFileNames });
86
+ var validAttachmentsFileNames = attachmentsFileNames.filter(function (fileName) { return _isValidHtmlReportFileType(fileName); });
87
+ if ((0, isEmpty_1.default)(validAttachmentsFileNames)) {
88
+ return [];
89
+ }
90
+ var attachmentsTotalSize = 0;
91
+ var attachments = [];
92
+ for (var _i = 0, validAttachmentsFileNames_1 = validAttachmentsFileNames; _i < validAttachmentsFileNames_1.length; _i++) {
93
+ var fileName = validAttachmentsFileNames_1[_i];
94
+ var filePath = path.join(attachmentsDir, fileName);
95
+ var content = (0, file_system_1.readFileAsBufferFromDisk)(filePath);
96
+ if (!content) {
97
+ log_1.default.warn("Failed to read attachment file: ".concat(filePath));
98
+ continue;
99
+ }
100
+ var contentSize = content.length;
101
+ if (_isAttachmentsSizeLimitExceeded(attachmentsTotalSize, contentSize)) {
102
+ // TODO communicate better to the user- maybe create an image with a warning that will be displayed in the HTML report
103
+ log_1.default.warn('Attachmenet exceeds the maximum size for HTML report attachments and will not be included', {
104
+ fileName: fileName,
105
+ size: _formatSizeToMb(contentSize),
106
+ attachmentsTotalSize: _formatSizeToMb(attachmentsTotalSize),
107
+ maxSize: _formatSizeToMb(constants_1.MAX_ATTACHMENTS_SIZE_PER_STEP),
108
+ });
109
+ continue;
110
+ }
111
+ attachments.push({ fileName: fileName, content: content });
112
+ attachmentsTotalSize += contentSize;
113
+ }
114
+ return attachments;
88
115
  }
89
116
  });
90
117
  Object.defineProperty(PlaywrightFilesManager.prototype, "getExtractedExecDataFilePath", {
@@ -100,7 +127,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
100
127
  configurable: true,
101
128
  writable: true,
102
129
  value: function () {
103
- var content = file_system_1.readFileFromDisk(this.getExtractedExecDataFilePath());
130
+ var content = (0, file_system_1.readFileFromDisk)(this.getExtractedExecDataFilePath());
104
131
  if (!content) {
105
132
  throw new Error('Failed reading extracted execution data');
106
133
  }
@@ -112,7 +139,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
112
139
  configurable: true,
113
140
  writable: true,
114
141
  value: function (step) {
115
- var testFileName = "playwright-step." + step.id + ".spec.ts";
142
+ var testFileName = "playwright-step.".concat(step.id, ".spec.ts");
116
143
  return path.join(this.rootDir, constants_1.PLAYWRIGHT_TESTS_DIR, testFileName);
117
144
  }
118
145
  });
@@ -121,7 +148,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
121
148
  configurable: true,
122
149
  writable: true,
123
150
  value: function (step, content) {
124
- file_system_1.writeFileToDisk(this.getTestFilePath(step), content);
151
+ (0, file_system_1.writeFileToDisk)(this.getTestFilePath(step), content);
125
152
  }
126
153
  });
127
154
  Object.defineProperty(PlaywrightFilesManager.prototype, "getConfigFilePath", {
@@ -137,7 +164,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
137
164
  configurable: true,
138
165
  writable: true,
139
166
  value: function (content) {
140
- file_system_1.writeFileToDisk(this.getConfigFilePath(), content);
167
+ (0, file_system_1.writeFileToDisk)(this.getConfigFilePath(), content);
141
168
  }
142
169
  });
143
170
  Object.defineProperty(PlaywrightFilesManager.prototype, "waitForReportsGeneration", {
@@ -152,7 +179,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
152
179
  if (_this.getTestResult() && _this.getHtmlReport()) {
153
180
  log_1.default.debug('Playwright step reports generated');
154
181
  clearInterval(interval);
155
- resolve();
182
+ resolve(void 0);
156
183
  }
157
184
  }, constants_1.REPORTS_GENERATION_INTERVAL_MS);
158
185
  setTimeout(function () {
@@ -165,4 +192,12 @@ var PlaywrightFilesManager = /** @class */ (function () {
165
192
  return PlaywrightFilesManager;
166
193
  }());
167
194
  exports.PlaywrightFilesManager = PlaywrightFilesManager;
195
+ var _isValidHtmlReportFileType = function (fileName) {
196
+ var ext = path.extname(fileName).toLowerCase();
197
+ return constants_1.validHtmlReportFileTypes.includes(ext);
198
+ };
199
+ var _isAttachmentsSizeLimitExceeded = function (totalSize, contentSize) {
200
+ return totalSize + contentSize > constants_1.MAX_ATTACHMENTS_SIZE_PER_STEP;
201
+ };
202
+ var _formatSizeToMb = function (size) { return (size / (1024 * 1024)).toFixed(2) + ' MB'; };
168
203
  //# sourceMappingURL=files-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"files-manager.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/files-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files-manager.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/files-manager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { PlaywrightStep } from '@loadmill/core/dist/playwright-step';
2
2
  import { SequenceExecutorParameters } from '@loadmill/core/dist/parameters';
3
3
  import { CookiesDetails } from '@loadmill/core/dist/conf/types';
4
+ import { PlaywrightOptions } from '../../types/playwright';
4
5
  import { PlaywrightFilesManager } from './files-manager';
5
6
  import { PlaywrightExecutionResult } from './types';
6
- export declare const executePlaywrightStep: (step: PlaywrightStep, filesManager: PlaywrightFilesManager, params: SequenceExecutorParameters, cookies: CookiesDetails) => Promise<PlaywrightExecutionResult>;
7
+ export declare const executePlaywrightStep: (step: PlaywrightStep, filesManager: PlaywrightFilesManager, params: SequenceExecutorParameters, cookies: CookiesDetails, playwrightOptions: PlaywrightOptions) => Promise<PlaywrightExecutionResult>;
7
8
  export declare const missingDepsErrMsg = "Playwright missing dependencies";
@@ -1,53 +1,20 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  exports.missingDepsErrMsg = exports.executePlaywrightStep = void 0;
4
+ var tslib_1 = require("tslib");
40
5
  var child_process_1 = require("child_process");
6
+ var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
41
7
  var transformer_1 = require("./transformer");
42
- var executePlaywrightStep = function (step, filesManager, params, cookies) { return __awaiter(void 0, void 0, void 0, function () {
8
+ var executePlaywrightStep = function (step, filesManager, params, cookies, playwrightOptions) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
43
9
  var output;
44
- return __generator(this, function (_a) {
10
+ return tslib_1.__generator(this, function (_a) {
45
11
  switch (_a.label) {
46
12
  case 0:
47
- _generateAndSaveTestFiles(step, filesManager, params, cookies);
13
+ _generateAndSaveTestFiles(step, filesManager, params, cookies, playwrightOptions);
48
14
  return [4 /*yield*/, _runPlaywrightTest(filesManager.getConfigFilePath(), filesManager.getRootDir())];
49
15
  case 1:
50
16
  output = (_a.sent()).output;
17
+ log_1.default.debug('Playwright step execution output:', output.join('\n'));
51
18
  if (!_shouldWaitForReportsGeneration(output)) return [3 /*break*/, 3];
52
19
  return [4 /*yield*/, filesManager.waitForReportsGeneration()];
53
20
  case 2:
@@ -58,22 +25,23 @@ var executePlaywrightStep = function (step, filesManager, params, cookies) { ret
58
25
  return [2 /*return*/, {
59
26
  result: filesManager.getTestResult(),
60
27
  htmlReport: filesManager.getHtmlReport(),
28
+ htmlReportAttachments: filesManager.getHtmlReportAttachments(),
61
29
  }];
62
30
  }
63
31
  });
64
32
  }); };
65
33
  exports.executePlaywrightStep = executePlaywrightStep;
66
- var _generateAndSaveTestFiles = function (step, filesManager, params, cookies) {
67
- var configFile = transformer_1.generateConfigFile(filesManager);
34
+ var _generateAndSaveTestFiles = function (step, filesManager, params, cookies, playwrightOptions) {
35
+ var configFile = (0, transformer_1.generateConfigFile)(filesManager, playwrightOptions);
68
36
  filesManager.writeConfigFile(configFile);
69
- var testFile = transformer_1.generateTestFile(step, filesManager, params, cookies);
37
+ var testFile = (0, transformer_1.generateTestFile)(step, filesManager, params, cookies);
70
38
  filesManager.writeTestFile(step, testFile);
71
39
  };
72
- var _runPlaywrightTest = function (configFilePath, executionDir) { return __awaiter(void 0, void 0, void 0, function () {
73
- return __generator(this, function (_a) {
40
+ var _runPlaywrightTest = function (configFilePath, executionDir) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
41
+ return tslib_1.__generator(this, function (_a) {
74
42
  return [2 /*return*/, new Promise(function (resolve, reject) {
75
43
  var output = [];
76
- var process = child_process_1.spawn('npx', ['@playwright/test', 'test', '--config', configFilePath], {
44
+ var process = (0, child_process_1.spawn)('npx', ['@playwright/test', 'test', '--config', configFilePath], {
77
45
  stdio: ['ignore', 'pipe', 'pipe'],
78
46
  cwd: executionDir,
79
47
  });
@@ -84,9 +52,11 @@ var _runPlaywrightTest = function (configFilePath, executionDir) { return __awai
84
52
  output.push(data.toString());
85
53
  });
86
54
  process.on('close', function (code) {
55
+ log_1.default.debug('Playwright test execution completed', { code: code });
87
56
  resolve({ code: code, output: output });
88
57
  });
89
58
  process.on('error', function (error) {
59
+ log_1.default.debug('Error executing Playwright test', { error: error });
90
60
  reject(error);
91
61
  });
92
62
  })];
@@ -114,7 +84,7 @@ var _isBrowsersNotInstalled = function (log) {
114
84
  };
115
85
  var browserNotInstalledErrMsg = 'Playwright couldn\'t find the required browser on this agent.';
116
86
  var _throwMissingDepsError = function (message) {
117
- throw new Error(exports.missingDepsErrMsg + "- " + message);
87
+ throw new Error("".concat(exports.missingDepsErrMsg, "- ").concat(message));
118
88
  };
119
89
  exports.missingDepsErrMsg = 'Playwright missing dependencies';
120
90
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { PlaywrightStep } from '@loadmill/core/dist/playwright-step';
2
2
  import { SequenceExecutorParameters } from '@loadmill/core/dist/parameters';
3
3
  import { CookiesDetails } from '@loadmill/core/dist/conf/types';
4
+ import { PlaywrightOptions } from '../../types/playwright';
4
5
  import { PlaywrightFilesManager } from './files-manager';
5
6
  export declare const generateTestFile: ({ description, postScript: userCode }: PlaywrightStep, filesManager: PlaywrightFilesManager, params: SequenceExecutorParameters, cookies: CookiesDetails) => string;
6
- export declare const generateConfigFile: (filesManager: PlaywrightFilesManager) => string;
7
+ export declare const generateConfigFile: (filesManager: PlaywrightFilesManager, playwrightOptions: PlaywrightOptions) => string;
@@ -4,9 +4,10 @@ exports.generateConfigFile = exports.generateTestFile = void 0;
4
4
  var constants_1 = require("@loadmill/universal/dist/ast/parser/constants");
5
5
  var parameters_1 = require("@loadmill/core/dist/parameters");
6
6
  var declared_parameters_in_code_1 = require("@loadmill/core/dist/parameters/declared-parameters/declared-parameters-in-code");
7
+ var constants_2 = require("./constants");
7
8
  var generateTestFile = function (_a, filesManager, params, cookies) {
8
9
  var description = _a.description, userCode = _a.postScript;
9
- return "\n import fs from 'fs';\n import { test, expect } from '@playwright/test';\n\n " + _declareParams(params) + "\n\n test('" + (description || 'Playwright Step') + "', async ({ page, context }) => {\n " + _injectCookies(cookies) + "\n\n " + userCode + "\n\n " + _generateResolvedParams(params, declared_parameters_in_code_1.getDeclaredParametersFromCode(userCode, constants_1.PLAYWRIGHT_PARSE_OPTIONS)) + "\n " + _saveExtractedExecDataToDisk(filesManager) + "\n });\n";
10
+ return "\n import fs from 'fs';\n import { test, expect } from '@playwright/test';\n\n ".concat(_declareParams(params), "\n\n test('").concat(description || 'Playwright Step', "', async ({ page, context }, testInfo) => {\n ").concat(_injectCookies(cookies), "\n\n ").concat(userCode, "\n\n ").concat(_generateResolvedParams(params, (0, declared_parameters_in_code_1.getDeclaredParametersFromCode)(userCode, constants_1.PLAYWRIGHT_PARSE_OPTIONS)), "\n ").concat(_saveExtractedExecDataToDisk(filesManager), "\n });\n");
10
11
  };
11
12
  exports.generateTestFile = generateTestFile;
12
13
  var _declareParams = function (params) {
@@ -17,14 +18,14 @@ var _declareParams = function (params) {
17
18
  })
18
19
  .map(function (_a) {
19
20
  var key = _a[0], value = _a[1];
20
- return (parameters_1.isBuiltInParamName(key) ? 'const' : 'let') + " " + key + " = " + JSON.stringify(value) + ";";
21
+ return "".concat((0, parameters_1.isBuiltInParamName)(key) ? 'const' : 'let', " ").concat(key, " = ").concat(JSON.stringify(value), ";");
21
22
  })
22
23
  .join('\n');
23
24
  };
24
25
  var RESERVED_KEYWORDS = ['test', 'expect', 'page', 'context', 'return'];
25
26
  var _isReservedParam = function (paramName) { return RESERVED_KEYWORDS.includes(paramName); };
26
27
  var _injectCookies = function (cookies) {
27
- return "await context.addCookies(" + _formatCookies(cookies) + ");";
28
+ return "await context.addCookies(".concat(_formatCookies(cookies), ");");
28
29
  };
29
30
  var _formatCookies = function (cookies) {
30
31
  var existingCookies = [];
@@ -41,20 +42,20 @@ var _formatCookies = function (cookies) {
41
42
  return JSON.stringify(existingCookies);
42
43
  };
43
44
  var paramsVariableName = '__loadmill_params_to_write';
44
- var _generateResolvedParams = function (params, declaredVariables) { return "\n const " + paramsVariableName + " = {};\n " + _appendParams(params) + "\n " + _appendDeclaredVariables(declaredVariables) + "\n"; };
45
+ var _generateResolvedParams = function (params, declaredVariables) { return "\n const ".concat(paramsVariableName, " = {};\n ").concat(_appendParams(params), "\n ").concat(_appendDeclaredVariables(declaredVariables), "\n"); };
45
46
  var _appendParams = function (params) {
46
- return Object.keys(params).map(function (key) { return paramsVariableName + "." + key + " = " + key + ";"; }).join('\n');
47
+ return Object.keys(params).map(function (key) { return "".concat(paramsVariableName, ".").concat(key, " = ").concat(key, ";"); }).join('\n');
47
48
  };
48
49
  var _appendDeclaredVariables = function (declaredVariables) {
49
50
  return declaredVariables.map(function (_a) {
50
51
  var name = _a.name;
51
- return paramsVariableName + "." + name + " = " + name + ";";
52
+ return "".concat(paramsVariableName, ".").concat(name, " = ").concat(name, ";");
52
53
  }).join('\n');
53
54
  };
54
55
  var _saveExtractedExecDataToDisk = function (filesManager) {
55
- return "fs.writeFileSync('" + filesManager.getExtractedExecDataFilePath() + "', JSON.stringify({ params: " + paramsVariableName + ", cookies: " + _getCookies() + " }));";
56
+ return "fs.writeFileSync('".concat(filesManager.getExtractedExecDataFilePath(), "', JSON.stringify({ params: ").concat(paramsVariableName, ", cookies: ").concat(_getCookies(), " }));");
56
57
  };
57
58
  var _getCookies = function () { return 'await context.cookies()'; };
58
- var generateConfigFile = function (filesManager) { return "\n import { defineConfig, devices } from '@playwright/test';\n\n export default defineConfig({\n reporter: [\n ['json', { outputFile: '" + filesManager.getResultFilePath() + "' }],\n ['html', { outputFolder: '" + filesManager.getResultHtmlDir() + "', open: 'never' }],\n ],\n projects: [\n {\n name: 'chromium',\n use: { ...devices['Desktop Chrome'] },\n },\n ],\n });\n"; };
59
+ 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_2.playwrightAttachmentsPath, "',\n }],\n ],\n use: {\n screenshot: '").concat(playwrightOptions.takeScreenshotPerTest ? 'on' : 'off', "',\n video: 'retain-on-failure',\n },\n projects: [\n {\n name: 'chromium',\n use: { ...devices['Desktop Chrome'] },\n },\n ],\n });\n"); };
59
60
  exports.generateConfigFile = generateConfigFile;
60
61
  //# sourceMappingURL=transformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/transformer.ts"],"names":[],"mappings":";;;AAGA,2EAAyF;AAEzF,6DAAgG;AAChG,8HAA+H;AAKxH,IAAM,gBAAgB,GAAG,UAC9B,EAAqD,EACrD,YAAoC,EACpC,MAAkC,EAClC,OAAuB;QAHrB,WAAW,iBAAA,EAAc,QAAQ,gBAAA;IAIxB,OAAA,uFAIT,cAAc,CAAC,MAAM,CAAC,qBAEhB,WAAW,IAAI,iBAAiB,gDACpC,cAAc,CAAC,OAAO,CAAC,gBAEvB,QAAQ,gBAER,uBAAuB,CAAC,MAAM,EAAE,2DAA6B,CAAC,QAAQ,EAAE,oCAAwB,CAAC,CAAC,cAClG,4BAA4B,CAAC,YAAY,CAAC,cAE/C;AAdY,CAcZ,CAAC;AAnBW,QAAA,gBAAgB,oBAmB3B;AAEF,IAAM,cAAc,GAAG,UAAC,MAAkC;IACxD,OAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACnB,MAAM,CAAC,UAAC,EAAK;YAAJ,GAAG,QAAA;QAAM,OAAA,CAAC,gBAAgB,CAAC,GAAG,CAAC;IAAtB,CAAsB,CAAC;SACzC,GAAG,CAAC,UAAC,EAAY;YAAX,GAAG,QAAA,EAAE,KAAK,QAAA;QAAM,OAAA,CAAG,+BAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,UAAI,GAAG,WAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAG;IAAjF,CAAiF,CAAC;SACxG,IAAI,CAAC,IAAI,CAAC;AAHb,CAGa,CAAC;AAEhB,IAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAE1E,IAAM,gBAAgB,GAAG,UAAC,SAAiB,IAAc,OAAA,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAArC,CAAqC,CAAC;AAE/F,IAAM,cAAc,GAAG,UAAC,OAAuB;IAC7C,OAAA,8BAA4B,cAAc,CAAC,OAAO,CAAC,OAAI;AAAvD,CAAuD,CAAC;AAE1D,IAAM,cAAc,GAAG,UAAC,OAAuB;IAC7C,IAAM,eAAe,GAAyD,EAAE,CAAC;IACjF,KAA0B,UAAsB,EAAtB,KAAA,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;QAA7C,IAAM,WAAW,SAAA;QACpB,KAA4B,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,EAAE;YAApC,IAAM,aAAa,oBAAA;YAChB,IAAA,KAA2B,aAAa,IAAI,EAAE,EAA5C,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAwB,CAAC;YAC7C,IAAA,YAAY,GAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAtB,CAAuB;YACrC,IAAA,KAAkB,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAvC,MAAI,QAAA,EAAE,KAAK,QAA4B,CAAC;YAChD,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,QAAA,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;SACrD;KACF;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,IAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAExD,IAAM,uBAAuB,GAAG,UAC9B,MAAkC,EAClC,iBAAqC,IAC1B,OAAA,eACH,kBAAkB,kBACxB,aAAa,CAAC,MAAM,CAAC,YACrB,wBAAwB,CAAC,iBAAiB,CAAC,OAC9C,EAJY,CAIZ,CAAC;AAEF,IAAM,aAAa,GAAG,UAAC,MAAkC;IACvD,OAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAG,kBAAkB,SAAI,GAAG,WAAM,GAAG,MAAG,EAAxC,CAAwC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAArF,CAAqF,CAAC;AAExF,IAAM,wBAAwB,GAAG,UAAC,iBAAqC;IACrE,OAAA,iBAAiB,CAAC,GAAG,CAAC,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAG,kBAAkB,SAAI,IAAI,WAAM,IAAI,MAAG;IAA1C,CAA0C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAA1F,CAA0F,CAAC;AAE7F,IAAM,4BAA4B,GAAG,UAAC,YAAoC;IACxE,OAAA,uBAAqB,YAAY,CAAC,4BAA4B,EAAE,oCAA+B,kBAAkB,mBAAc,WAAW,EAAE,UAAO;AAAnJ,CAAmJ,CAAC;AAEtJ,IAAM,WAAW,GAAG,cAAc,OAAA,yBAAyB,EAAzB,CAAyB,CAAC;AAErD,IAAM,kBAAkB,GAAG,UAAC,YAAoC,IAAa,OAAA,sJAKpD,YAAY,CAAC,iBAAiB,EAAE,+CAC9B,YAAY,CAAC,gBAAgB,EAAE,iKAShE,EAfmF,CAenF,CAAC;AAfW,QAAA,kBAAkB,sBAe7B"}
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/transformer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { SequenceExecutorParameters } from '@loadmill/core/dist/parameters';
2
+ import { PlaywrightHTMLReportAttachment } from '@loadmill/core/dist/playwright-step/types';
2
3
  import { Cookie } from '@playwright/test';
3
4
  import { JSONReport } from '@playwright/test/reporter';
4
5
  export declare type PlaywrightExecutionResult = {
5
6
  result?: JSONReport;
6
7
  htmlReport?: string;
8
+ htmlReportAttachments: PlaywrightHTMLReportAttachment[];
7
9
  };
8
10
  export declare type ExtractedExecData = {
9
11
  params: SequenceExecutorParameters;
@@ -1,47 +1,9 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
2
  Object.defineProperty(exports, "__esModule", { value: true });
42
3
  exports.PlaywrightStepHandler = void 0;
43
- var strip_ansi_1 = __importDefault(require("strip-ansi"));
44
- var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
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"));
45
7
  var type_guards_1 = require("@loadmill/core/dist/step/type-guards");
46
8
  var performance_1 = require("../performance");
47
9
  var cookies_1 = require("../cookies");
@@ -69,7 +31,7 @@ var PlaywrightStepHandler = /** @class */ (function () {
69
31
  configurable: true,
70
32
  writable: true,
71
33
  value: function (step) {
72
- return type_guards_1.isPlaywrightStep(step);
34
+ return (0, type_guards_1.isPlaywrightStep)(step);
73
35
  }
74
36
  });
75
37
  Object.defineProperty(PlaywrightStepHandler.prototype, "execute", {
@@ -77,31 +39,31 @@ var PlaywrightStepHandler = /** @class */ (function () {
77
39
  configurable: true,
78
40
  writable: true,
79
41
  value: function (playwrightStep, stepIndex) {
80
- return __awaiter(this, void 0, void 0, function () {
81
- var requestStartTime, beforeTime, res, errMsg, _a, params, cookies, err_1;
82
- return __generator(this, function (_b) {
83
- switch (_b.label) {
42
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
43
+ var requestStartTime, beforeTime, _a, result, htmlReport, htmlReportAttachments, errMsg, _b, params, cookies, err_1;
44
+ return tslib_1.__generator(this, function (_c) {
45
+ switch (_c.label) {
84
46
  case 0:
85
- _b.trys.push([0, 2, 3, 4]);
47
+ _c.trys.push([0, 2, 3, 4]);
86
48
  requestStartTime = Date.now();
87
49
  beforeTime = performance_1.isPerformance ? performance.now() : requestStartTime;
88
- return [4 /*yield*/, playwright_1.executePlaywrightStep(playwrightStep, this.fileManager, this.context.parameters, this.context.getCurrentCookies())];
50
+ return [4 /*yield*/, (0, playwright_1.executePlaywrightStep)(playwrightStep, this.fileManager, this.context.parameters, this.context.getCurrentCookies(), this.context.playwrightOptions)];
89
51
  case 1:
90
- res = _b.sent();
91
- res.htmlReport && this.context.setHtmlReport(stepIndex, res.htmlReport);
92
- this.context.saveStdout(stepIndex, _getLogs(res));
93
- errMsg = _getErrMsg(res);
52
+ _a = _c.sent(), result = _a.result, htmlReport = _a.htmlReport, htmlReportAttachments = _a.htmlReportAttachments;
53
+ htmlReport && this.context.setHtmlReport(stepIndex, htmlReport, htmlReportAttachments);
54
+ this.context.saveStdout(stepIndex, _getLogs(result));
55
+ errMsg = _getErrMsg(result);
94
56
  if (errMsg) {
95
57
  this.context.setPostParameters(stepIndex);
96
58
  throw new errors_1.RequestFailuresError(errMsg);
97
59
  }
98
- _a = this.fileManager.getExtractedExecData(), params = _a.params, cookies = _a.cookies;
60
+ _b = this.fileManager.getExtractedExecData(), params = _b.params, cookies = _b.cookies;
99
61
  this.context.assignParameters(params);
100
62
  this.context.setCookies(_formatCookies(cookies));
101
63
  this.context.setTimeParams(requestStartTime, beforeTime);
102
64
  return [2 /*return*/, {}];
103
65
  case 2:
104
- err_1 = _b.sent();
66
+ err_1 = _c.sent();
105
67
  if (!(err_1 instanceof errors_1.RequestFailuresError)) {
106
68
  log_1.default.error('Error executing Playwright step:', err_1);
107
69
  }
@@ -121,8 +83,8 @@ var PlaywrightStepHandler = /** @class */ (function () {
121
83
  configurable: true,
122
84
  writable: true,
123
85
  value: function (_step, index, _res) {
124
- return __awaiter(this, void 0, void 0, function () {
125
- return __generator(this, function (_a) {
86
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
87
+ return tslib_1.__generator(this, function (_a) {
126
88
  this.context.setPostParameters(index);
127
89
  return [2 /*return*/, {}];
128
90
  });
@@ -142,21 +104,21 @@ var _formatCookies = function (cookies) {
142
104
  domain: domain,
143
105
  path: path,
144
106
  };
145
- cookies_1.appendCookie(cookiesToSend, cookieDetails);
107
+ (0, cookies_1.appendCookie)(cookiesToSend, cookieDetails);
146
108
  });
147
109
  return cookiesToSend;
148
110
  };
149
- var _getErrMsg = function (res) {
150
- var _a, _b, _c, _d, _e, _f, _g, _h;
151
- var errMsg = ((_f = (_e = (_d = (_c = (_b = (_a = res.result) === null || _a === void 0 ? void 0 : _a.suites[0]) === null || _b === void 0 ? void 0 : _b.specs[0]) === null || _c === void 0 ? void 0 : _c.tests[0]) === null || _d === void 0 ? void 0 : _d.results[0]) === null || _e === void 0 ? void 0 : _e.error) === null || _f === void 0 ? void 0 : _f.message) ||
152
- ((_h = (_g = res.result) === null || _g === void 0 ? void 0 : _g.errors[0]) === null || _h === void 0 ? void 0 : _h.message);
111
+ var _getErrMsg = function (result) {
112
+ var _a, _b, _c, _d, _e, _f;
113
+ var errMsg = ((_e = (_d = (_c = (_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[0]) === null || _c === void 0 ? void 0 : _c.results[0]) === null || _d === void 0 ? void 0 : _d.error) === null || _e === void 0 ? void 0 : _e.message) ||
114
+ ((_f = result === null || result === void 0 ? void 0 : result.errors[0]) === null || _f === void 0 ? void 0 : _f.message);
153
115
  if (errMsg) {
154
- return strip_ansi_1.default(errMsg);
116
+ return (0, strip_ansi_1.default)(errMsg);
155
117
  }
156
118
  };
157
- var _getLogs = function (res) {
158
- var _a, _b, _c, _d, _e;
159
- return ((_e = (_d = (_c = (_b = (_a = res.result) === null || _a === void 0 ? void 0 : _a.suites[0]) === null || _b === void 0 ? void 0 : _b.specs[0]) === null || _c === void 0 ? void 0 : _c.tests[0]) === null || _d === void 0 ? void 0 : _d.results[0]) === null || _e === void 0 ? void 0 : _e.stdout.map(function (log) { return 'text' in log ? log.text : log.buffer.toString(); })) || [];
119
+ var _getLogs = function (result) {
120
+ var _a, _b, _c, _d;
121
+ return ((_d = (_c = (_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[0]) === null || _c === void 0 ? void 0 : _c.results[0]) === null || _d === void 0 ? void 0 : _d.stdout.map(function (log) { return (0, strip_ansi_1.default)('text' in log ? log.text : log.buffer.toString()); })) || [];
160
122
  };
161
123
  var _handleMissingDepsError = function (err) {
162
124
  if (err.message.startsWith(playwright_1.missingDepsErrMsg)) {
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/playwright-step-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/playwright-step-handler.ts"],"names":[],"mappings":"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"}