@sun-asterisk/sungen 1.0.14 → 1.0.16

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 (125) hide show
  1. package/dist/generators/cli.js +1 -1
  2. package/dist/generators/gherkin-parser/index.d.ts +3 -0
  3. package/dist/generators/gherkin-parser/index.d.ts.map +1 -1
  4. package/dist/generators/gherkin-parser/index.js +14 -1
  5. package/dist/generators/gherkin-parser/index.js.map +1 -1
  6. package/dist/generators/scaffold-generator/index.d.ts +4 -1
  7. package/dist/generators/scaffold-generator/index.d.ts.map +1 -1
  8. package/dist/generators/scaffold-generator/index.js +46 -18
  9. package/dist/generators/scaffold-generator/index.js.map +1 -1
  10. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/click-element-with-text.hbs +1 -1
  11. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/radio-select-action.hbs +1 -1
  12. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/unknown-element-action.hbs +1 -0
  13. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/upload-action.hbs +1 -0
  14. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-assertion.hbs +1 -2
  15. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-filter-assertion.hbs +1 -0
  16. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-role-variable-assertion.hbs +5 -0
  17. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-variable-assertion.hbs +1 -0
  18. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/empty-assertion.hbs +1 -2
  19. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/enabled-assertion.hbs +1 -2
  20. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-filter-assertion.hbs +1 -0
  21. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-role-variable-assertion.hbs +5 -0
  22. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-variable-assertion.hbs +1 -0
  23. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/is-hidden-assertion.hbs +1 -0
  24. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/not-checked-assertion.hbs +1 -1
  25. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-locator-variable-assertion.hbs +1 -1
  26. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-role-variable-assertion.hbs +5 -1
  27. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-value-assertion.hbs +1 -1
  28. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-variable-assertion.hbs +1 -1
  29. package/dist/generators/test-generator/adapters/playwright/templates/steps/navigation/wait-for-element-with-text.hbs +1 -0
  30. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-base.hbs +10 -0
  31. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-nth.hbs +1 -0
  32. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/default.hbs +1 -0
  33. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/id.hbs +1 -0
  34. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/label.hbs +1 -0
  35. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/locator.hbs +1 -0
  36. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/placeholder.hbs +1 -0
  37. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/role.hbs +1 -0
  38. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/testid.hbs +1 -0
  39. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/text.hbs +1 -0
  40. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator.hbs +10 -1
  41. package/dist/generators/test-generator/code-generator.d.ts +3 -1
  42. package/dist/generators/test-generator/code-generator.d.ts.map +1 -1
  43. package/dist/generators/test-generator/code-generator.js +66 -14
  44. package/dist/generators/test-generator/code-generator.js.map +1 -1
  45. package/dist/generators/test-generator/patterns/assertion-patterns.d.ts.map +1 -1
  46. package/dist/generators/test-generator/patterns/assertion-patterns.js +148 -73
  47. package/dist/generators/test-generator/patterns/assertion-patterns.js.map +1 -1
  48. package/dist/generators/test-generator/patterns/form-patterns.d.ts.map +1 -1
  49. package/dist/generators/test-generator/patterns/form-patterns.js +37 -5
  50. package/dist/generators/test-generator/patterns/form-patterns.js.map +1 -1
  51. package/dist/generators/test-generator/patterns/interaction-patterns.d.ts.map +1 -1
  52. package/dist/generators/test-generator/patterns/interaction-patterns.js +116 -20
  53. package/dist/generators/test-generator/patterns/interaction-patterns.js.map +1 -1
  54. package/dist/generators/test-generator/patterns/navigation-patterns.d.ts.map +1 -1
  55. package/dist/generators/test-generator/patterns/navigation-patterns.js +1 -1
  56. package/dist/generators/test-generator/patterns/navigation-patterns.js.map +1 -1
  57. package/dist/generators/test-generator/step-mapper.d.ts +1 -0
  58. package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
  59. package/dist/generators/test-generator/step-mapper.js +15 -0
  60. package/dist/generators/test-generator/step-mapper.js.map +1 -1
  61. package/dist/generators/test-generator/template-engine.d.ts +5 -0
  62. package/dist/generators/test-generator/template-engine.d.ts.map +1 -1
  63. package/dist/generators/test-generator/template-engine.js +67 -3
  64. package/dist/generators/test-generator/template-engine.js.map +1 -1
  65. package/dist/generators/test-generator/utils/selector-resolver.d.ts +14 -1
  66. package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
  67. package/dist/generators/test-generator/utils/selector-resolver.js +32 -5
  68. package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
  69. package/dist/input/cli-adapter.js +1 -1
  70. package/dist/orchestrator/project-initializer.d.ts.map +1 -1
  71. package/dist/orchestrator/project-initializer.js +2 -1
  72. package/dist/orchestrator/project-initializer.js.map +1 -1
  73. package/package.json +1 -1
  74. package/src/generators/cli.ts +1 -1
  75. package/src/generators/gherkin-parser/index.ts +18 -1
  76. package/src/generators/scaffold-generator/index.ts +50 -22
  77. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/click-element-with-text.hbs +1 -1
  78. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/radio-select-action.hbs +1 -1
  79. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/unknown-element-action.hbs +1 -0
  80. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/upload-action.hbs +1 -0
  81. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-assertion.hbs +1 -2
  82. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-filter-assertion.hbs +1 -0
  83. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-role-variable-assertion.hbs +5 -0
  84. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-variable-assertion.hbs +1 -0
  85. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/empty-assertion.hbs +1 -2
  86. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/enabled-assertion.hbs +1 -2
  87. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-filter-assertion.hbs +1 -0
  88. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-role-variable-assertion.hbs +5 -0
  89. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-variable-assertion.hbs +1 -0
  90. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/is-hidden-assertion.hbs +1 -0
  91. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/not-checked-assertion.hbs +1 -1
  92. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-locator-variable-assertion.hbs +1 -1
  93. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-role-variable-assertion.hbs +5 -1
  94. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-value-assertion.hbs +1 -1
  95. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-variable-assertion.hbs +1 -1
  96. package/src/generators/test-generator/adapters/playwright/templates/steps/navigation/wait-for-element-with-text.hbs +1 -0
  97. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-base.hbs +10 -0
  98. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-nth.hbs +1 -0
  99. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/default.hbs +1 -0
  100. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/id.hbs +1 -0
  101. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/label.hbs +1 -0
  102. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/locator.hbs +1 -0
  103. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/placeholder.hbs +1 -0
  104. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/role.hbs +1 -0
  105. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/testid.hbs +1 -0
  106. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/text.hbs +1 -0
  107. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator.hbs +10 -1
  108. package/src/generators/test-generator/code-generator.ts +70 -15
  109. package/src/generators/test-generator/patterns/assertion-patterns.ts +171 -78
  110. package/src/generators/test-generator/patterns/form-patterns.ts +39 -5
  111. package/src/generators/test-generator/patterns/interaction-patterns.ts +126 -24
  112. package/src/generators/test-generator/patterns/navigation-patterns.ts +2 -1
  113. package/src/generators/test-generator/step-mapper.ts +18 -2
  114. package/src/generators/test-generator/template-engine.ts +74 -3
  115. package/src/generators/test-generator/utils/selector-resolver.ts +34 -5
  116. package/src/input/cli-adapter.ts +1 -1
  117. package/src/orchestrator/project-initializer.ts +2 -1
  118. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/target-element-action.hbs +0 -1
  119. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/not-visible-assertion.hbs +0 -1
  120. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-filter-assertion.hbs +0 -1
  121. package/dist/generators/test-generator/adapters/playwright/templates/steps/navigation/page-navigation.hbs +0 -1
  122. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/target-element-action.hbs +0 -1
  123. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/not-visible-assertion.hbs +0 -1
  124. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-filter-assertion.hbs +0 -1
  125. package/src/generators/test-generator/adapters/playwright/templates/steps/navigation/page-navigation.hbs +0 -1
@@ -80,7 +80,7 @@ const program = new commander_1.Command();
80
80
  program
81
81
  .name('qa-generator')
82
82
  .description('AI-Native QA Selector DSL Generator')
83
- .version('1.0.14');
83
+ .version('1.0.16');
84
84
  // ============================================================================
85
85
  // Command: discover
86
86
  // ============================================================================
@@ -5,12 +5,15 @@ export interface ParsedStep {
5
5
  dataRef?: string;
6
6
  value?: string;
7
7
  elementType?: string;
8
+ nth?: number;
8
9
  featurePath?: string;
9
10
  }
10
11
  export interface ParsedScenario {
11
12
  name: string;
12
13
  tags: string[];
13
14
  steps: ParsedStep[];
15
+ stepsName?: string;
16
+ extendsName?: string;
14
17
  }
15
18
  export interface ParsedFeature {
16
19
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/gherkin-parser/index.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,MAAM,CAAiB;;IAS/B;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IA6BjD;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,SAAS;IAuCjB;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;CAmB3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/gherkin-parser/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,MAAM,CAAiB;;IAS/B;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IA6BjD;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAkBtB;;OAEG;IACH,OAAO,CAAC,SAAS;IA+CjB;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;CAmB3D"}
@@ -42,6 +42,7 @@ const Gherkin = __importStar(require("@cucumber/gherkin"));
42
42
  const Messages = __importStar(require("@cucumber/messages"));
43
43
  const fs_1 = __importDefault(require("fs"));
44
44
  const path_1 = __importDefault(require("path"));
45
+ const selector_resolver_1 = require("../test-generator/utils/selector-resolver");
45
46
  class GherkinParser {
46
47
  constructor() {
47
48
  const uuidFn = Messages.IdGenerator.uuid();
@@ -97,10 +98,15 @@ class GherkinParser {
97
98
  .filter((child) => child.scenario)
98
99
  .map((child) => {
99
100
  const scenario = child.scenario;
101
+ const tags = scenario.tags.map((tag) => tag.name);
102
+ const stepsName = tags.find(t => t.startsWith('@steps:'))?.replace('@steps:', '') || undefined;
103
+ const extendsName = tags.find(t => t.startsWith('@extend:'))?.replace('@extend:', '') || undefined;
100
104
  return {
101
105
  name: scenario.name,
102
- tags: scenario.tags.map((tag) => tag.name),
106
+ tags,
103
107
  steps: scenario.steps.map((step) => this.parseStep(step)),
108
+ stepsName,
109
+ extendsName,
104
110
  };
105
111
  });
106
112
  }
@@ -132,6 +138,12 @@ class GherkinParser {
132
138
  const finalWordMatch = text.match(/\b(page|button|field|link|text|checkbox|radio|select|dropdown|modal|dialog|message|error|warning|success|alert|table|list|list-item|listitem|row)\b$/i);
133
139
  elementType = finalWordMatch ? finalWordMatch[1].toLowerCase() : undefined;
134
140
  }
141
+ // Extract positional index from "[Element] field 3", "[Element] button 2", etc.
142
+ let nth = 0;
143
+ if (selectorRef && selectorMatch) {
144
+ const afterElement = text.slice(selectorMatch.index + selectorMatch[0].length);
145
+ nth = selector_resolver_1.SelectorResolver.extractNthFromStep(afterElement);
146
+ }
135
147
  return {
136
148
  keyword: step.keyword.trim(),
137
149
  text,
@@ -139,6 +151,7 @@ class GherkinParser {
139
151
  dataRef,
140
152
  value,
141
153
  elementType,
154
+ nth,
142
155
  };
143
156
  }
144
157
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/gherkin-parser/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/gherkin-parser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,2DAA6C;AAC7C,6DAA+C;AAC/C,4CAAoB;AACpB,gDAAwB;AACxB,iFAA6E;AA+B7E,MAAa,aAAa;IAKxB;QACE,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;QAExC,4BAA4B;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAExD,gEAAgE;QAChE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzD,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW;YACX,IAAI;YACJ,IAAI;YACJ,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YACzC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACvC,UAAU,EAAE,QAAQ;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAyB;QAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAC5B,EAAE,UAAU,CAAC;QAEd,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAyB;QAC9C,OAAO,OAAO,CAAC,QAAQ;aACpB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;aACjC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAS,CAAC;YACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;YAC/F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;YACnG,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI;gBACJ,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzD,SAAS;gBACT,WAAW;aACZ,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,IAAmB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,8EAA8E;QAC9E,8CAA8C;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjE,+EAA+E;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvE,8CAA8C;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAErD,6FAA6F;QAC7F,qEAAqE;QACrE,6CAA6C;QAC7C,IAAI,WAA+B,CAAC;QACpC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACrD,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,qEAAqE;YACrE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,uJAAuJ,CAAC,CAAC;YAC3L,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,CAAC;QAED,gFAAgF;QAChF,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/E,GAAG,GAAG,oCAAgB,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAC5B,IAAI;YACJ,WAAW;YACX,OAAO;YACP,KAAK;YACL,WAAW;YACX,GAAG;SACJ,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,WAAmB;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,SAAS,IAAI,CAAC,GAAW;YACvB,MAAM,OAAO,GAAG,YAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAE7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjB,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC7D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA5JD,sCA4JC"}
@@ -46,7 +46,6 @@ export declare class ScaffoldGenerator {
46
46
  * Extract nth index from text after element reference
47
47
  * e.g., " field 1 with" -> 1, " button 2" -> 2, " row 1" -> 1, " text" -> 0
48
48
  */
49
- private extractNthIndex;
50
49
  /**
51
50
  * Detect the action type from a Gherkin step line
52
51
  */
@@ -86,6 +85,10 @@ export declare class ScaffoldGenerator {
86
85
  * Get role value for select actions based on target type
87
86
  */
88
87
  private getSelectRoleValue;
88
+ /**
89
+ * Get ARIA role value for fill actions — all fillable inputs use 'textbox'
90
+ */
91
+ private getFillRoleValue;
89
92
  /**
90
93
  * Generate YAML content from scaffold result
91
94
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/scaffold-generator/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;CACxC;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAiBD,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,cAAc;IAKzD;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IAQpD;;OAEG;IACH,OAAO,CAAC,eAAe;IAiDvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA0DzB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,YAAY;IA4BpB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;;OAIG;IACH;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,aAAa;IA2CrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2G7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAyB1E;;OAEG;IACH,aAAa,CACX,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAUP;;OAEG;IACH,kBAAkB,CAChB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,OAAe,GAC9B;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;IAsB/C;;OAEG;IACH,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAmBpE;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,GAAE,MAAqB,EAAE,cAAc,GAAE,OAAe,GAAG,SAAS,EAAE;IAyElH;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAmB1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/scaffold-generator/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;CACxC;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAiBD,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,cAAc;IAKzD;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IAQpD;;OAEG;IACH,OAAO,CAAC,eAAe;IAqDvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsEzB;;;OAGG;IACH;;OAEG;IACH,OAAO,CAAC,YAAY;IA4BpB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;;OAIG;IACH;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,aAAa;IA2CrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqH7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAuBpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAyB1E;;OAEG;IACH,aAAa,CACX,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAUP;;OAEG;IACH,kBAAkB,CAChB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,OAAe,GAC9B;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;IAsB/C;;OAEG;IACH,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAmBpE;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,GAAE,MAAqB,EAAE,cAAc,GAAE,OAAe,GAAG,SAAS,EAAE;IAyElH;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAmB1B"}
@@ -50,12 +50,15 @@ class ScaffoldGenerator {
50
50
  let match;
51
51
  while ((match = elementRegex.exec(trimmedLine)) !== null) {
52
52
  const rawText = match[1];
53
- const key = selector_resolver_1.SelectorResolver.generateKey(rawText);
53
+ const baseKey = selector_resolver_1.SelectorResolver.generateKey(rawText);
54
54
  // Extract nth index and target type from text after the element reference
55
55
  // Matches patterns like: [Email] field 1, [Submit] button 2, [Name] 3
56
56
  const afterElement = trimmedLine.slice(match.index + match[0].length);
57
- const nth = this.extractNthIndex(afterElement);
57
+ const nth = selector_resolver_1.SelectorResolver.extractNthFromStep(afterElement);
58
58
  const targetType = this.extractTargetType(afterElement, action);
59
+ // Append nth to key so elements at different positions get distinct keys
60
+ // e.g., [Hãy gửi lời cảm ơn] field 3 → "hay.gui.loi.cam.on--3"
61
+ const key = nth > 0 ? `${baseKey}--${nth}` : baseKey;
59
62
  // Check if element starts with "target" (semantic indicator for dynamic content)
60
63
  // e.g., [target order], [Target Item] → element should have empty value
61
64
  const isTargetElement = /^target\s/i.test(rawText);
@@ -101,19 +104,31 @@ class ScaffoldGenerator {
101
104
  if (/^field\b/.test(lowerText) || /^\d*\s*field\b/.test(lowerText) || /^input\b/.test(lowerText)) {
102
105
  return 'field';
103
106
  }
107
+ if (/^textbox\b/.test(lowerText) || /^\d*\s*textbox\b/.test(lowerText)) {
108
+ return 'textbox';
109
+ }
110
+ if (/^textarea\b/.test(lowerText) || /^\d*\s*textarea\b/.test(lowerText)) {
111
+ return 'textarea';
112
+ }
104
113
  if (/^text\b/.test(lowerText) || /^\d*\s*text\b/.test(lowerText)) {
105
114
  return 'text';
106
115
  }
107
116
  if (/^label\b/.test(lowerText) || /^\d*\s*label\b/.test(lowerText)) {
108
117
  return 'label';
109
118
  }
119
+ if (/^uploader\b/.test(lowerText) || /^\d*\s*uploader\b/.test(lowerText)) {
120
+ return 'uploader';
121
+ }
110
122
  if (/^element\b/.test(lowerText) || /^\d*\s*element\b/.test(lowerText)) {
111
123
  return 'element';
112
124
  }
113
125
  if (/^(logo|image|img|icon)\b/.test(lowerText) || /^\d*\s*(logo|image|img|icon)\b/.test(lowerText)) {
114
126
  return 'img';
115
127
  }
116
- if (/^(heading|header|title|caption|message)\b/.test(lowerText) || /^\d*\s*(heading|header|title|caption|message)\b/.test(lowerText)) {
128
+ if (/^(heading|header)\b/.test(lowerText) || /^\d*\s*(heading|header)\b/.test(lowerText)) {
129
+ return 'heading';
130
+ }
131
+ if (/^(title|caption|message)\b/.test(lowerText) || /^\d*\s*(title|caption|message)\b/.test(lowerText)) {
117
132
  return 'text';
118
133
  }
119
134
  // Default based on action
@@ -134,16 +149,6 @@ class ScaffoldGenerator {
134
149
  * Extract nth index from text after element reference
135
150
  * e.g., " field 1 with" -> 1, " button 2" -> 2, " row 1" -> 1, " text" -> 0
136
151
  */
137
- extractNthIndex(text) {
138
- // Match patterns like "field 1", "button 2", "row 1", "text 3", or just a number
139
- // The number should come right after optional keywords (field, button, text, link, row, etc.)
140
- const nthRegex = /^\s*(?:field|button|text|link|input|element|item|logo|image|img|icon|raw|table|columnheader|list|listitem|row)?\s*(\d+)\b/i;
141
- const match = nthRegex.exec(text);
142
- if (match) {
143
- return parseInt(match[1], 10);
144
- }
145
- return 0;
146
- }
147
152
  /**
148
153
  * Detect the action type from a Gherkin step line
149
154
  */
@@ -264,6 +269,15 @@ class ScaffoldGenerator {
264
269
  }
265
270
  switch (element.action) {
266
271
  case 'fill':
272
+ // For fill action with uploader type, use label type (file input triggered by label)
273
+ if (targetType === 'uploader') {
274
+ return {
275
+ locator: '',
276
+ type: 'label',
277
+ value: element.rawText,
278
+ nth,
279
+ };
280
+ }
267
281
  // For fill action with label type, use label type
268
282
  if (targetType === 'label') {
269
283
  return {
@@ -273,12 +287,12 @@ class ScaffoldGenerator {
273
287
  nth,
274
288
  };
275
289
  }
276
- // For fill action, use placeholder type
277
- // User should update 'value' with actual placeholder text from inspection
290
+ // For fill action with field/textbox/textarea types, use role-based locator
278
291
  return {
279
292
  locator: '',
280
- type: 'placeholder',
281
- value: element.rawText, // TODO: Replace with actual placeholder from inspection
293
+ type: 'role',
294
+ value: this.getFillRoleValue(targetType),
295
+ name: element.rawText,
282
296
  nth,
283
297
  };
284
298
  case 'click':
@@ -303,7 +317,7 @@ class ScaffoldGenerator {
303
317
  case 'see':
304
318
  // For assertions - respect targetType for role-based elements
305
319
  if (targetType === 'img' || targetType === 'button' || targetType === 'link' ||
306
- targetType === 'checkbox' || targetType === 'radio') {
320
+ targetType === 'checkbox' || targetType === 'radio' || targetType === 'heading') {
307
321
  const seeRoleValue = this.getRoleValue(targetType);
308
322
  return {
309
323
  locator: '',
@@ -367,6 +381,8 @@ class ScaffoldGenerator {
367
381
  return 'menuitem';
368
382
  case 'img':
369
383
  return 'img';
384
+ case 'heading':
385
+ return 'heading';
370
386
  default:
371
387
  return 'button'; // Default to button
372
388
  }
@@ -395,6 +411,18 @@ class ScaffoldGenerator {
395
411
  return 'combobox'; // Default to combobox
396
412
  }
397
413
  }
414
+ /**
415
+ * Get ARIA role value for fill actions — all fillable inputs use 'textbox'
416
+ */
417
+ getFillRoleValue(targetType) {
418
+ switch (targetType) {
419
+ case 'field':
420
+ case 'textbox':
421
+ case 'textarea':
422
+ default:
423
+ return 'textbox';
424
+ }
425
+ }
398
426
  /**
399
427
  * Generate YAML content from scaffold result
400
428
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/scaffold-generator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/scaffold-generator/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- await {{> locator}}.filter({ hasText: '{{escapeQuotes dataValue}}' }).click();
1
+ await {{> locator-base}}.filter({ hasText: {{#if (and (eq strategy "text") (eq value ""))}}/.*{{escapeRegex dataValue}}$/{{else}}'{{escapeQuotes dataValue}}'{{/if}} }){{> locator-nth}}.click();
@@ -1 +1 @@
1
- await page.getByRole('radio', { name: '{{selectValue}}'{{#if (shouldUseExact selectorRef)}}, exact: true{{/if}} }).check();
1
+ await {{pageRoot}}.getByRole('radio', { name: '{{selectValue}}'{{#if (shouldUseExact selectorRef)}}, exact: true{{/if}} }).check();
@@ -0,0 +1 @@
1
+ await page.getByText('{{escapeQuotes selectorValue}}').filter({ hasText: {{#if (eq selectorValue "")}}/.*{{escapeRegex dataValue}}$/{{else}}'{{escapeQuotes dataValue}}'{{/if}} }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}.{{action}}();
@@ -0,0 +1 @@
1
+ await {{> locator}}.setInputFiles('specs/storage/{{fileName}}');
@@ -1,2 +1 @@
1
- const {{varName}} = await pw.getElement('[{{selectorRef}}]', '{{screenId}}');
2
- await expect({{varName}}).toBeDisabled();
1
+ await expect({{> locator}}).toBeDisabled();
@@ -0,0 +1 @@
1
+ await expect({{> locator-base}}.filter({ hasText: '{{escapeQuotes dataValue}}' }){{> locator-nth}}).toBeDisabled();
@@ -0,0 +1,5 @@
1
+ {{#if name}}
2
+ await expect(page.getByRole('{{role}}', { name: '{{escapeQuotes name}}'{{#if (shouldUseExact selectorRef)}}, exact: true{{/if}} }).filter({ hasText: '{{escapeQuotes dataValue}}' }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeDisabled();
3
+ {{else}}
4
+ await expect(page.getByRole('{{role}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}}).filter({ hasText: '{{escapeQuotes dataValue}}' }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeDisabled();
5
+ {{/if}}
@@ -0,0 +1 @@
1
+ await expect(page.getByText('{{escapeQuotes selectorRef}}').filter({ hasText: {{#if (eq selectorValue "")}}/.*{{escapeRegex dataValue}}$/{{else}}'{{escapeQuotes dataValue}}'{{/if}} }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeDisabled();
@@ -1,2 +1 @@
1
- const {{varName}} = await pw.getElement('[{{selectorRef}}]', '{{screenId}}');
2
- await expect({{varName}}).toBeEmpty();
1
+ await expect({{> locator}}).toBeEmpty();
@@ -1,2 +1 @@
1
- const {{varName}} = await pw.getElement('[{{selectorRef}}]', '{{screenId}}');
2
- await expect({{varName}}).toBeEnabled();
1
+ await expect({{> locator}}).toBeEnabled();
@@ -0,0 +1 @@
1
+ await expect({{> locator-base}}.filter({ hasText: '{{escapeQuotes dataValue}}' }){{> locator-nth}}).toBeHidden();
@@ -0,0 +1,5 @@
1
+ {{#if name}}
2
+ await expect(page.getByRole('{{role}}', { name: '{{escapeQuotes name}}'{{#if (shouldUseExact selectorRef)}}, exact: true{{/if}} }).filter({ hasText: '{{escapeQuotes dataValue}}' }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeHidden();
3
+ {{else}}
4
+ await expect(page.getByRole('{{role}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}}).filter({ hasText: '{{escapeQuotes dataValue}}' }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeHidden();
5
+ {{/if}}
@@ -0,0 +1 @@
1
+ await expect(page.getByText('{{escapeQuotes selectorRef}}').filter({ hasText: {{#if (eq selectorValue "")}}/.*{{escapeRegex dataValue}}$/{{else}}'{{escapeQuotes dataValue}}'{{/if}} }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeHidden();
@@ -1 +1 @@
1
- await expect({{> locator}}).not.toBeChecked();
1
+ await expect({{> locator}}).toBeChecked({ checked: false });
@@ -1 +1 @@
1
- await expect({{> locator}}.filter({ hasText: '{{dataValue}}' })).toBeVisible();
1
+ await expect({{> locator-base}}.filter({ hasText: '{{escapeQuotes dataValue}}' }){{> locator-nth}}).toBeVisible();
@@ -1 +1,5 @@
1
- {{#if name}}await expect(page.getByRole('{{role}}', { name: '{{name}}'{{#if (shouldUseExact selectorRef)}}, exact: true{{/if}} }).filter({ hasText: '{{dataValue}}' }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeVisible();{{else}}await expect(page.getByRole('{{role}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}}).filter({ hasText: '{{dataValue}}' }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeVisible();{{/if}}
1
+ {{#if name}}
2
+ await expect(page.getByRole('{{role}}', { name: '{{escapeQuotes name}}'{{#if (shouldUseExact selectorRef)}}, exact: true{{/if}} }).filter({ hasText: '{{escapeQuotes dataValue}}' }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeVisible();
3
+ {{else}}
4
+ await expect(page.getByRole('{{role}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}}).filter({ hasText: '{{escapeQuotes dataValue}}' }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeVisible();
5
+ {{/if}}
@@ -1 +1 @@
1
- await expect(page.getByText(/{{escapeQuotes value}}.*{{escapeRegex dataValue}}/{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}})).toBeVisible();
1
+ await expect(page.getByText('{{escapeQuotes value}}').filter({ hasText: '{{escapeQuotes dataValue}}' })).toBeVisible();
@@ -1 +1 @@
1
- await expect(page.getByText(/.*{{variable}}/{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}})).toBeVisible();
1
+ await expect(page.getByText('{{escapeQuotes selectorRef}}').filter({ hasText: {{#if (eq selectorValue "")}}/.*{{escapeRegex dataValue}}$/{{else}}'{{escapeQuotes dataValue}}'{{/if}} }){{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}).toBeVisible();
@@ -0,0 +1 @@
1
+ await {{> locator-base}}.filter({ hasText: '{{escapeQuotes dataValue}}' }){{> locator-nth}}.waitFor({ state: '{{state}}' });
@@ -0,0 +1,10 @@
1
+ {{#switch strategy~}}
2
+ {{~#case 'testid'}}{{> locator-strategies/testid}}{{/case~}}
3
+ {{~#case 'role'}}{{> locator-strategies/role}}{{/case~}}
4
+ {{~#case 'placeholder'}}{{> locator-strategies/placeholder}}{{/case~}}
5
+ {{~#case 'label'}}{{> locator-strategies/label}}{{/case~}}
6
+ {{~#case 'text'}}{{> locator-strategies/text}}{{/case~}}
7
+ {{~#case 'locator'}}{{> locator-strategies/locator}}{{/case~}}
8
+ {{~#case 'id'}}{{> locator-strategies/id}}{{/case~}}
9
+ {{~#default}}{{> locator-strategies/default}}{{/default~}}
10
+ {{~/switch}}
@@ -0,0 +1 @@
1
+ {{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}
@@ -0,0 +1 @@
1
+ {{pageRoot}}.getByLabel('{{escapeQuotes value}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}})
@@ -0,0 +1 @@
1
+ {{pageRoot}}.getByPlaceholder('{{escapeQuotes value}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}})
@@ -0,0 +1 @@
1
+ {{#if name}}{{pageRoot}}.getByRole('{{role}}', { name: '{{escapeQuotes name}}'{{#if (shouldUseExact selectorRef)}}, exact: true{{/if}} }){{else}}{{pageRoot}}.getByRole('{{role}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}}){{/if}}
@@ -0,0 +1 @@
1
+ {{pageRoot}}.getByText('{{escapeQuotes value}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}})
@@ -1 +1,10 @@
1
- {{#if (eq strategy 'testid')}}page.getByTestId('{{value}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}}){{else if (eq strategy 'role')}}{{#if name}}page.getByRole('{{role}}', { name: '{{escapeQuotes name}}'{{#if (shouldUseExact selectorRef)}}, exact: true{{/if}} }){{else}}page.getByRole('{{role}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}}){{/if}}{{else if (eq strategy 'placeholder')}}page.getByPlaceholder('{{escapeQuotes value}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}}){{else if (eq strategy 'label')}}page.getByLabel('{{escapeQuotes value}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}}){{else if (eq strategy 'text')}}page.getByText('{{escapeQuotes value}}'{{#if (shouldUseExact selectorRef)}}, { exact: true }{{/if}}){{else if (eq strategy 'locator')}}page.locator('{{escapeQuotes value}}'){{else if (eq strategy 'id')}}page.locator('{{selector}}'){{else}}page.locator('{{escapeQuotes selector}}'){{/if}}{{#if (gt nth 0)}}.nth({{subtract nth 1}}){{/if}}
1
+ {{#switch strategy~}}
2
+ {{~#case 'testid'}}{{> locator-strategies/testid}}{{/case~}}
3
+ {{~#case 'role'}}{{> locator-strategies/role}}{{/case~}}
4
+ {{~#case 'placeholder'}}{{> locator-strategies/placeholder}}{{/case~}}
5
+ {{~#case 'label'}}{{> locator-strategies/label}}{{/case~}}
6
+ {{~#case 'text'}}{{> locator-strategies/text}}{{/case~}}
7
+ {{~#case 'locator'}}{{> locator-strategies/locator}}{{/case~}}
8
+ {{~#case 'id'}}{{> locator-strategies/id}}{{/case~}}
9
+ {{~#default}}{{> locator-strategies/default}}{{/default~}}
10
+ {{~/switch}}{{> locator-nth}}
@@ -15,6 +15,7 @@ export declare class CodeGenerator {
15
15
  private screenName?;
16
16
  private authSetupGenerator;
17
17
  private options;
18
+ private stepsRegistry;
18
19
  constructor(options?: {
19
20
  useAI?: boolean;
20
21
  verbose?: boolean;
@@ -27,7 +28,8 @@ export declare class CodeGenerator {
27
28
  */
28
29
  generateTest(feature: ParsedFeature, outputDir: string): Promise<GeneratedTest>;
29
30
  /**
30
- * Count total steps in feature (excluding background)
31
+ * Count total steps in feature (excluding background).
32
+ * For @extend scenarios, counts base steps + own steps (merged total).
31
33
  */
32
34
  private countSteps;
33
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/code-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAC;AAqF9E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAAM;gBAET,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAe3H;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IA+CzB;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;YAS/B,gBAAgB;YAsDhB,kBAAkB;YAiBlB,gBAAgB;IAkC9B;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC;CA8F5B"}
1
+ {"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/code-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAC;AAqF9E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAAM;IAErB,OAAO,CAAC,aAAa,CAAqC;gBAE9C,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAe3H;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAgDzB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;YAS/B,gBAAgB;YAkEhB,kBAAkB;YAiBlB,gBAAgB;IAoE9B;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC;CA8F5B"}