@dev-blinq/cucumber_client 1.0.1426-dev → 1.0.1426-stage

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 (43) hide show
  1. package/bin/assets/bundled_scripts/recorder.js +73 -73
  2. package/bin/assets/preload/css_gen.js +10 -10
  3. package/bin/assets/preload/toolbar.js +27 -29
  4. package/bin/assets/preload/unique_locators.js +1 -1
  5. package/bin/assets/preload/yaml.js +288 -275
  6. package/bin/assets/scripts/aria_snapshot.js +223 -220
  7. package/bin/assets/scripts/dom_attr.js +329 -329
  8. package/bin/assets/scripts/dom_parent.js +169 -174
  9. package/bin/assets/scripts/event_utils.js +94 -94
  10. package/bin/assets/scripts/pw.js +2050 -1949
  11. package/bin/assets/scripts/recorder.js +70 -45
  12. package/bin/assets/scripts/snapshot_capturer.js +147 -147
  13. package/bin/assets/scripts/unique_locators.js +153 -45
  14. package/bin/assets/scripts/yaml.js +796 -783
  15. package/bin/assets/templates/_hooks_template.txt +6 -2
  16. package/bin/assets/templates/utils_template.txt +16 -16
  17. package/bin/client/code_cleanup/find_step_definition_references.js +0 -1
  18. package/bin/client/code_gen/api_codegen.js +2 -2
  19. package/bin/client/code_gen/code_inversion.js +63 -2
  20. package/bin/client/code_gen/function_signature.js +4 -0
  21. package/bin/client/code_gen/page_reflection.js +52 -11
  22. package/bin/client/code_gen/playwright_codeget.js +25 -3
  23. package/bin/client/cucumber/feature_data.js +2 -2
  24. package/bin/client/cucumber/project_to_document.js +8 -2
  25. package/bin/client/cucumber/steps_definitions.js +19 -3
  26. package/bin/client/local_agent.js +3 -2
  27. package/bin/client/parse_feature_file.js +23 -26
  28. package/bin/client/playground/projects/env.json +2 -2
  29. package/bin/client/recorderv3/bvt_init.js +363 -0
  30. package/bin/client/recorderv3/bvt_recorder.js +1008 -47
  31. package/bin/client/recorderv3/implemented_steps.js +2 -0
  32. package/bin/client/recorderv3/index.js +3 -283
  33. package/bin/client/recorderv3/scriptTest.js +1 -1
  34. package/bin/client/recorderv3/services.js +818 -142
  35. package/bin/client/recorderv3/step_runner.js +31 -8
  36. package/bin/client/recorderv3/step_utils.js +510 -39
  37. package/bin/client/recorderv3/update_feature.js +32 -13
  38. package/bin/client/recorderv3/wbr_entry.js +61 -0
  39. package/bin/client/recording.js +1 -0
  40. package/bin/client/upload-service.js +4 -2
  41. package/bin/client/utils/socket_logger.js +1 -1
  42. package/bin/index.js +4 -1
  43. package/package.json +6 -4
@@ -14,6 +14,7 @@ import { escapeString, getExamplesContent } from "./update_feature.js";
14
14
  import fs from "fs";
15
15
  import { locateDefinitionPath } from "../cucumber/steps_definitions.js";
16
16
  import { tmpdir } from "os";
17
+ import socketLogger from "../utils/socket_logger.js";
17
18
 
18
19
  export class BVTStepRunner {
19
20
  #currentStepController = null;
@@ -59,6 +60,7 @@ export class BVTStepRunner {
59
60
  }
60
61
  this.bvtContext.web.pausedCmd = null;
61
62
  } else {
63
+ socketLogger.warn(`bvtContext.web.pausedCmd is null`);
62
64
  if (this.liveExecutionMap.has(cmdId)) {
63
65
  const { resolve } = this.liveExecutionMap.get(cmdId);
64
66
  if (resolve) {
@@ -66,6 +68,7 @@ export class BVTStepRunner {
66
68
  }
67
69
  } else {
68
70
  console.warn(`No paused command found for cmdId: ${cmdId}`);
71
+ socketLogger.error(`No paused command found for cmdId: ${cmdId}`);
69
72
  }
70
73
  }
71
74
  }
@@ -213,6 +216,7 @@ export class BVTStepRunner {
213
216
  this.sendExecutionStatus({
214
217
  type: "cmdExecutionSuccess",
215
218
  cmdId: body.cmdId,
219
+ info,
216
220
  selectedStrategy: info?.selectedStrategy,
217
221
  });
218
222
  } else {
@@ -253,7 +257,7 @@ export class BVTStepRunner {
253
257
 
254
258
  try {
255
259
  this.#lastAttemptedCmdId = null;
256
- let cmdIDs = (step.commands || []).map((cmd) => cmd.cmdId);
260
+ let cmdIDs = (step.commands || []).map((cmd) => cmd.cmdId ?? cmd.id);
257
261
  bvtContext.web.pausedCmd = null;
258
262
 
259
263
  // Clear the liveExecutionMap and set up new entries for this step
@@ -269,7 +273,21 @@ export class BVTStepRunner {
269
273
  if (bvtContext.web) {
270
274
  bvtContext.web.getCmdId = () => {
271
275
  if (cmdIDs.length === 0) {
272
- cmdIDs = (step.commands || []).map((cmd) => cmd.cmdId);
276
+ cmdIDs = (step.commands || []).map((cmd) => cmd.cmdId ?? cmd.id);
277
+ }
278
+ const cId = cmdIDs.shift();
279
+ this.sendExecutionStatus({
280
+ type: "cmdExecutionStart",
281
+ cmdId: cId,
282
+ });
283
+ this.#lastAttemptedCmdId = cId;
284
+ return cId;
285
+ };
286
+ }
287
+ if (bvtContext.api) {
288
+ bvtContext.api.getCmdId = () => {
289
+ if (cmdIDs.length === 0) {
290
+ cmdIDs = (step.commands || []).map((cmd) => cmd.cmdId ?? cmd.id);
273
291
  }
274
292
  const cId = cmdIDs.shift();
275
293
  this.sendExecutionStatus({
@@ -316,6 +334,7 @@ export class BVTStepRunner {
316
334
  codePage,
317
335
  projectDir: this.projectDir,
318
336
  stepsDefinitions,
337
+ parametersMap,
319
338
  });
320
339
  if (codePage) {
321
340
  await codePage.save(stepDefsFilePath);
@@ -376,13 +395,17 @@ export class BVTStepRunner {
376
395
  this.#currentStepController = null;
377
396
  global.__BVT_STEP_ABORT_SIGNAL = null;
378
397
 
379
- // Clean up temp folder
380
- const __temp_features_FolderName = process.env.tempFeaturesFolderPath;
381
- if (__temp_features_FolderName) {
382
- const tempFolderPath = path.join(this.projectDir, __temp_features_FolderName);
383
- if (fs.existsSync(tempFolderPath)) {
384
- fs.rmSync(tempFolderPath, { recursive: true });
398
+ try {
399
+ // Clean up temp folder
400
+ const __temp_features_FolderName = process.env.tempFeaturesFolderPath;
401
+ if (__temp_features_FolderName) {
402
+ const tempFolderPath = path.join(this.projectDir, __temp_features_FolderName);
403
+ if (fs.existsSync(tempFolderPath)) {
404
+ fs.rmSync(tempFolderPath, { recursive: true });
405
+ }
385
406
  }
407
+ } catch (error) {
408
+ console.error("Error cleaning up temp folder", error);
386
409
  }
387
410
  }
388
411
  }