@sun-asterisk/sungen 1.0.22 → 1.0.23

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 (45) hide show
  1. package/dist/cli/index.js +1 -1
  2. package/dist/core/live-scanner/element-finder.d.ts +2 -2
  3. package/dist/core/live-scanner/element-finder.d.ts.map +1 -1
  4. package/dist/core/live-scanner/element-finder.js +195 -114
  5. package/dist/core/live-scanner/element-finder.js.map +1 -1
  6. package/dist/core/live-scanner/matrix-reader.d.ts.map +1 -1
  7. package/dist/core/live-scanner/matrix-reader.js +1 -0
  8. package/dist/core/live-scanner/matrix-reader.js.map +1 -1
  9. package/dist/core/live-scanner/matrix-writer.d.ts.map +1 -1
  10. package/dist/core/live-scanner/matrix-writer.js +1 -0
  11. package/dist/core/live-scanner/matrix-writer.js.map +1 -1
  12. package/dist/core/live-scanner/step-replayer.d.ts.map +1 -1
  13. package/dist/core/live-scanner/step-replayer.js +3 -2
  14. package/dist/core/live-scanner/step-replayer.js.map +1 -1
  15. package/dist/core/live-scanner/types.d.ts +3 -2
  16. package/dist/core/live-scanner/types.d.ts.map +1 -1
  17. package/dist/generators/scaffold-generator/index.d.ts +1 -0
  18. package/dist/generators/scaffold-generator/index.d.ts.map +1 -1
  19. package/dist/generators/scaffold-generator/index.js +19 -0
  20. package/dist/generators/scaffold-generator/index.js.map +1 -1
  21. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/fill-editor-action.hbs +3 -0
  22. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/locator.hbs +1 -1
  23. package/dist/generators/test-generator/patterns/form-patterns.d.ts.map +1 -1
  24. package/dist/generators/test-generator/patterns/form-patterns.js +8 -2
  25. package/dist/generators/test-generator/patterns/form-patterns.js.map +1 -1
  26. package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
  27. package/dist/generators/test-generator/step-mapper.js +8 -5
  28. package/dist/generators/test-generator/step-mapper.js.map +1 -1
  29. package/dist/generators/test-generator/utils/selector-resolver.d.ts +1 -0
  30. package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
  31. package/dist/generators/test-generator/utils/selector-resolver.js +21 -17
  32. package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/cli/index.ts +1 -1
  35. package/src/core/live-scanner/element-finder.ts +201 -114
  36. package/src/core/live-scanner/matrix-reader.ts +1 -0
  37. package/src/core/live-scanner/matrix-writer.ts +1 -0
  38. package/src/core/live-scanner/step-replayer.ts +3 -2
  39. package/src/core/live-scanner/types.ts +3 -2
  40. package/src/generators/scaffold-generator/index.ts +20 -0
  41. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/fill-editor-action.hbs +3 -0
  42. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/locator.hbs +1 -1
  43. package/src/generators/test-generator/patterns/form-patterns.ts +9 -2
  44. package/src/generators/test-generator/step-mapper.ts +8 -5
  45. package/src/generators/test-generator/utils/selector-resolver.ts +25 -17
package/dist/cli/index.js CHANGED
@@ -20,7 +20,7 @@ async function main() {
20
20
  program
21
21
  .name('sungen')
22
22
  .description('AI-Native E2E Test Generator - Generate Playwright tests from Gherkin features')
23
- .version('1.0.22');
23
+ .version('1.0.23');
24
24
  // Global options
25
25
  program
26
26
  .option('-c, --config <path>', 'Path to custom config file')
@@ -12,9 +12,9 @@
12
12
  * so `map` can generate the correct locator code.
13
13
  */
14
14
  import type { Page } from 'playwright';
15
- import { LiveElement } from './types';
15
+ import { LiveElement, ElementContext } from './types';
16
16
  /**
17
17
  * Find an element on the page using cascading Playwright locator strategies.
18
18
  */
19
- export declare function findElement(page: Page, gherkinRef: string, gherkinType: string, nth?: number): Promise<LiveElement>;
19
+ export declare function findElement(page: Page, gherkinRef: string, gherkinType: string, nth?: number, context?: ElementContext): Promise<LiveElement>;
20
20
  //# sourceMappingURL=element-finder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-finder.d.ts","sourceRoot":"","sources":["../../../src/core/live-scanner/element-finder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,WAAW,EAA6C,MAAM,SAAS,CAAC;AAWjF;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,GAAG,GAAE,MAAU,GACd,OAAO,CAAC,WAAW,CAAC,CAsDtB"}
1
+ {"version":3,"file":"element-finder.d.ts","sourceRoot":"","sources":["../../../src/core/live-scanner/element-finder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,WAAW,EAA6B,cAAc,EAAE,MAAM,SAAS,CAAC;AAWjF;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,GAAG,GAAE,MAAU,EACf,OAAO,GAAE,cAAuB,GAC/B,OAAO,CAAC,WAAW,CAAC,CAuDtB"}
@@ -18,9 +18,9 @@ const role_fallback_1 = require("./role-fallback");
18
18
  /**
19
19
  * Find an element on the page using cascading Playwright locator strategies.
20
20
  */
21
- async function findElement(page, gherkinRef, gherkinType, nth = 0) {
21
+ async function findElement(page, gherkinRef, gherkinType, nth = 0, context = 'page') {
22
22
  const namePattern = new RegExp(escapeRegex(gherkinRef), 'i');
23
- const result = await cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth);
23
+ const result = await cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth, context);
24
24
  if (!result) {
25
25
  return buildUnresolvedElement(gherkinRef, gherkinType);
26
26
  }
@@ -60,6 +60,7 @@ async function findElement(page, gherkinRef, gherkinType, nth = 0) {
60
60
  name: actualName,
61
61
  testid: attrs.testid,
62
62
  tag: attrs.tag,
63
+ contenteditable: attrs.contenteditable,
63
64
  placeholder: attrs.placeholder,
64
65
  label: attrs.label,
65
66
  context: 'page',
@@ -68,7 +69,7 @@ async function findElement(page, gherkinRef, gherkinType, nth = 0) {
68
69
  warning: result.warning,
69
70
  };
70
71
  }
71
- async function cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth) {
72
+ async function cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth, context = 'page') {
72
73
  // ① getByTestId
73
74
  const testidResult = await tryTestId(page, gherkinRef, nth);
74
75
  if (testidResult)
@@ -106,6 +107,14 @@ async function cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth)
106
107
  const placeholderResult = await tryPlaceholder(page, gherkinRef, namePattern, nth);
107
108
  if (placeholderResult)
108
109
  return placeholderResult;
110
+ // ⑤.5 contenteditable — for rich text editors (textarea/textbox/field types)
111
+ // When role match fails (editor has role="textbox" but no accessible name),
112
+ // try to find a [contenteditable="true"] element scoped to the current context
113
+ if (isEditableType(gherkinType)) {
114
+ const ceResult = await tryContentEditable(page, nth, context);
115
+ if (ceResult)
116
+ return ceResult;
117
+ }
109
118
  }
110
119
  // ⑥ getByText — final fallback
111
120
  const textResult = await tryText(page, gherkinRef, namePattern, nth);
@@ -142,15 +151,19 @@ async function tryTestId(page, ref, nth) {
142
151
  }
143
152
  return null;
144
153
  }
145
- // ② ③ getByRole — exact string first, then regex fallback
154
+ // ② ③ getByRole — regex first, exact disambiguation when ambiguous
146
155
  async function tryRole(page, role, gherkinRef, namePattern, nth) {
147
- // Step 1: Exact string match (prevents short refs matching longer names)
148
156
  try {
149
- const exactLocator = page.getByRole(role, { name: gherkinRef, exact: true });
150
- const exactCount = await exactLocator.count();
151
- if (exactCount > 0) {
152
- const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
157
+ const locator = page.getByRole(role, { name: namePattern });
158
+ const count = await locator.count();
159
+ if (count === 0)
160
+ return null;
161
+ if (count === 1) {
162
+ // Single match — use directly, zero overhead
163
+ const target = nth > 0 ? locator.nth(nth) : locator.first();
153
164
  if (await target.isVisible({ timeout: 3000 })) {
165
+ // Get the actual accessible name for the selector
166
+ const accessibleName = await target.evaluate((el) => el.getAttribute('aria-label') || el.textContent?.trim()?.substring(0, 100) || '');
154
167
  return {
155
168
  locator: target,
156
169
  selectorType: 'role',
@@ -161,15 +174,29 @@ async function tryRole(page, role, gherkinRef, namePattern, nth) {
161
174
  };
162
175
  }
163
176
  }
164
- }
165
- catch {
166
- // Exact match not found, continue to regex
167
- }
168
- // Step 2: Regex fallback (substring match)
169
- try {
170
- const locator = page.getByRole(role, { name: namePattern });
171
- const count = await locator.count();
172
- if (count > 0) {
177
+ else {
178
+ // Multiple matches — try exact to disambiguate
179
+ try {
180
+ const exactLocator = page.getByRole(role, { name: gherkinRef, exact: true });
181
+ const exactCount = await exactLocator.count();
182
+ if (exactCount > 0) {
183
+ const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
184
+ if (await target.isVisible({ timeout: 3000 })) {
185
+ return {
186
+ locator: target,
187
+ selectorType: 'role',
188
+ selectorValue: role,
189
+ role: role,
190
+ matchMethod: 'exact_role',
191
+ warning: null,
192
+ };
193
+ }
194
+ }
195
+ }
196
+ catch {
197
+ // Exact disambiguation failed
198
+ }
199
+ // Fall back to first regex match
173
200
  const target = nth > 0 ? locator.nth(nth) : locator.first();
174
201
  if (await target.isVisible({ timeout: 3000 })) {
175
202
  // Get the actual accessible name for the selector
@@ -190,45 +217,47 @@ async function tryRole(page, role, gherkinRef, namePattern, nth) {
190
217
  }
191
218
  return null;
192
219
  }
193
- // ④ getByLabel — exact string first, then regex fallback
220
+ // ④ getByLabel — regex first, exact disambiguation when ambiguous
194
221
  async function tryLabel(page, gherkinRef, namePattern, nth) {
195
- // Step 1: Exact string match
196
- try {
197
- const exactLocator = page.getByLabel(gherkinRef, { exact: true });
198
- const exactCount = await exactLocator.count();
199
- if (exactCount > 0) {
200
- const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
201
- if (await target.isVisible({ timeout: 3000 })) {
202
- return {
203
- locator: target,
204
- selectorType: 'label',
205
- selectorValue: '', // Will be filled from attrs
206
- role: '',
207
- matchMethod: 'label',
208
- warning: null,
209
- };
210
- }
211
- }
212
- }
213
- catch {
214
- // Exact match not found, continue to regex
215
- }
216
- // Step 2: Regex fallback
217
222
  try {
218
223
  const locator = page.getByLabel(namePattern);
219
224
  const count = await locator.count();
220
- if (count > 0) {
221
- const target = nth > 0 ? locator.nth(nth) : locator.first();
222
- if (await target.isVisible({ timeout: 3000 })) {
223
- return {
224
- locator: target,
225
- selectorType: 'label',
226
- selectorValue: '', // Will be filled from attrs
227
- role: '',
228
- matchMethod: 'label',
229
- warning: null,
230
- };
225
+ if (count === 0)
226
+ return null;
227
+ if (count > 1) {
228
+ // Multiple matches — try exact to disambiguate
229
+ try {
230
+ const exactLocator = page.getByLabel(gherkinRef, { exact: true });
231
+ const exactCount = await exactLocator.count();
232
+ if (exactCount > 0) {
233
+ const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
234
+ if (await target.isVisible({ timeout: 3000 })) {
235
+ return {
236
+ locator: target,
237
+ selectorType: 'label',
238
+ selectorValue: '',
239
+ role: '',
240
+ matchMethod: 'label',
241
+ warning: null,
242
+ };
243
+ }
244
+ }
231
245
  }
246
+ catch {
247
+ // Exact disambiguation failed
248
+ }
249
+ }
250
+ // Single match or exact failed — use first regex match
251
+ const target = nth > 0 ? locator.nth(nth) : locator.first();
252
+ if (await target.isVisible({ timeout: 3000 })) {
253
+ return {
254
+ locator: target,
255
+ selectorType: 'label',
256
+ selectorValue: '',
257
+ role: '',
258
+ matchMethod: 'label',
259
+ warning: null,
260
+ };
232
261
  }
233
262
  }
234
263
  catch {
@@ -236,93 +265,139 @@ async function tryLabel(page, gherkinRef, namePattern, nth) {
236
265
  }
237
266
  return null;
238
267
  }
239
- // ⑤ getByPlaceholder — exact string first, then regex fallback
268
+ // ⑤ getByPlaceholder — regex first, exact disambiguation when ambiguous
240
269
  async function tryPlaceholder(page, gherkinRef, namePattern, nth) {
241
- // Step 1: Exact string match
242
- try {
243
- const exactLocator = page.getByPlaceholder(gherkinRef, { exact: true });
244
- const exactCount = await exactLocator.count();
245
- if (exactCount > 0) {
246
- const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
247
- if (await target.isVisible({ timeout: 3000 })) {
248
- const rawPlaceholder = await target.getAttribute('placeholder');
249
- return {
250
- locator: target,
251
- selectorType: 'placeholder',
252
- selectorValue: sanitizeText(rawPlaceholder || ''),
253
- role: '',
254
- matchMethod: 'placeholder',
255
- warning: null,
256
- };
257
- }
258
- }
259
- }
260
- catch {
261
- // Exact match not found, continue to regex
262
- }
263
- // Step 2: Regex fallback
264
270
  try {
265
271
  const locator = page.getByPlaceholder(namePattern);
266
272
  const count = await locator.count();
267
- if (count > 0) {
268
- const target = nth > 0 ? locator.nth(nth) : locator.first();
269
- if (await target.isVisible({ timeout: 3000 })) {
270
- const rawPlaceholder = await target.getAttribute('placeholder');
271
- return {
272
- locator: target,
273
- selectorType: 'placeholder',
274
- selectorValue: sanitizeText(rawPlaceholder || ''),
275
- role: '',
276
- matchMethod: 'placeholder',
277
- warning: null,
278
- };
273
+ if (count === 0)
274
+ return null;
275
+ if (count > 1) {
276
+ // Multiple matches try exact to disambiguate
277
+ try {
278
+ const exactLocator = page.getByPlaceholder(gherkinRef, { exact: true });
279
+ const exactCount = await exactLocator.count();
280
+ if (exactCount > 0) {
281
+ const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
282
+ if (await target.isVisible({ timeout: 3000 })) {
283
+ const rawPlaceholder = await target.getAttribute('placeholder');
284
+ return {
285
+ locator: target,
286
+ selectorType: 'placeholder',
287
+ selectorValue: sanitizeText(rawPlaceholder || ''),
288
+ role: '',
289
+ matchMethod: 'placeholder',
290
+ warning: null,
291
+ };
292
+ }
293
+ }
294
+ }
295
+ catch {
296
+ // Exact disambiguation failed
279
297
  }
280
298
  }
299
+ // Single match or exact failed — use first regex match
300
+ const target = nth > 0 ? locator.nth(nth) : locator.first();
301
+ if (await target.isVisible({ timeout: 3000 })) {
302
+ const rawPlaceholder = await target.getAttribute('placeholder');
303
+ return {
304
+ locator: target,
305
+ selectorType: 'placeholder',
306
+ selectorValue: sanitizeText(rawPlaceholder || ''),
307
+ role: '',
308
+ matchMethod: 'placeholder',
309
+ warning: null,
310
+ };
311
+ }
281
312
  }
282
313
  catch {
283
314
  // Placeholder not found
284
315
  }
285
316
  return null;
286
317
  }
287
- // ⑥ getByText — exact string first, then regex fallback
288
- async function tryText(page, gherkinRef, namePattern, nth) {
289
- // Step 1: Exact string match
318
+ /**
319
+ * Check if gherkinType is an editable/input type that could be a contenteditable div
320
+ */
321
+ function isEditableType(gherkinType) {
322
+ const normalized = gherkinType.toLowerCase().trim();
323
+ return normalized === 'textarea' || normalized === 'textbox' || normalized === 'field' || normalized === 'editor';
324
+ }
325
+ // ⑤.5 contenteditable — for rich text editors
326
+ // Scoped to current context (dialog/page) to avoid matching wrong editor.
327
+ // The nth from Gherkin refers to text matches, not contenteditable count,
328
+ // so we try the requested nth first, then fall back to first match.
329
+ async function tryContentEditable(page, nth, context) {
290
330
  try {
291
- const exactLocator = page.getByText(gherkinRef, { exact: true });
292
- const exactCount = await exactLocator.count();
293
- if (exactCount > 0) {
294
- const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
331
+ // Scope the search to the current context
332
+ const root = context === 'dialog' ? page.getByRole('dialog') : page;
333
+ const locator = root.locator('[contenteditable="true"]');
334
+ const count = await locator.count();
335
+ if (count === 0)
336
+ return null;
337
+ // Try requested nth first, then fall back to first visible
338
+ const candidates = nth > 0 && count > nth ? [nth, 0] : [0];
339
+ for (const idx of candidates) {
340
+ const target = idx > 0 ? locator.nth(idx) : locator.first();
295
341
  if (await target.isVisible({ timeout: 3000 })) {
296
342
  return {
297
343
  locator: target,
298
- selectorType: 'text',
299
- selectorValue: '', // Will be filled from attrs
300
- role: '',
301
- matchMethod: 'text_only',
302
- warning: null,
344
+ selectorType: 'locator',
345
+ selectorValue: '[contenteditable="true"]',
346
+ role: 'textbox',
347
+ matchMethod: 'contenteditable',
348
+ warning: count > 1
349
+ ? `${count} contenteditable elements in ${context}, using index ${idx}. Use nth in Gherkin to disambiguate.`
350
+ : null,
303
351
  };
304
352
  }
305
353
  }
306
354
  }
307
355
  catch {
308
- // Exact match not found, continue to regex
356
+ // Not found
309
357
  }
310
- // Step 2: Regex fallback
358
+ return null;
359
+ }
360
+ // ⑥ getByText — regex first, exact disambiguation when ambiguous
361
+ async function tryText(page, gherkinRef, namePattern, nth) {
311
362
  try {
312
363
  const locator = page.getByText(namePattern);
313
364
  const count = await locator.count();
314
- if (count > 0) {
315
- const target = nth > 0 ? locator.nth(nth) : locator.first();
316
- if (await target.isVisible({ timeout: 3000 })) {
317
- return {
318
- locator: target,
319
- selectorType: 'text',
320
- selectorValue: '', // Will be filled from attrs
321
- role: '',
322
- matchMethod: 'text_only',
323
- warning: null,
324
- };
365
+ if (count === 0)
366
+ return null;
367
+ if (count > 1) {
368
+ // Multiple matches — try exact to disambiguate
369
+ try {
370
+ const exactLocator = page.getByText(gherkinRef, { exact: true });
371
+ const exactCount = await exactLocator.count();
372
+ if (exactCount > 0) {
373
+ const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
374
+ if (await target.isVisible({ timeout: 3000 })) {
375
+ return {
376
+ locator: target,
377
+ selectorType: 'text',
378
+ selectorValue: '',
379
+ role: '',
380
+ matchMethod: 'text_only',
381
+ warning: null,
382
+ };
383
+ }
384
+ }
325
385
  }
386
+ catch {
387
+ // Exact disambiguation failed
388
+ }
389
+ }
390
+ // Single match or exact failed — use first regex match
391
+ const target = nth > 0 ? locator.nth(nth) : locator.first();
392
+ if (await target.isVisible({ timeout: 3000 })) {
393
+ return {
394
+ locator: target,
395
+ selectorType: 'text',
396
+ selectorValue: '',
397
+ role: '',
398
+ matchMethod: 'text_only',
399
+ warning: null,
400
+ };
326
401
  }
327
402
  }
328
403
  catch {
@@ -345,9 +420,14 @@ async function extractElementAttributes(locator) {
345
420
  if (!label && el.closest('label')) {
346
421
  label = clean(el.closest('label')?.textContent) || null;
347
422
  }
423
+ // Detect contenteditable: check element itself and ancestors (rich text editors
424
+ // often have contenteditable on a parent div wrapping the editable area)
425
+ const isContentEditable = el.getAttribute('contenteditable') === 'true'
426
+ || el.isContentEditable;
348
427
  return {
349
428
  testid: el.getAttribute('data-testid'),
350
429
  tag: el.tagName.toLowerCase(),
430
+ contenteditable: isContentEditable,
351
431
  accessibleName: clean(el.getAttribute('aria-label') || el.textContent?.trim()?.substring(0, 100)),
352
432
  placeholder: clean(el.getAttribute('placeholder')) || null,
353
433
  label,
@@ -355,7 +435,7 @@ async function extractElementAttributes(locator) {
355
435
  });
356
436
  }
357
437
  catch {
358
- return { testid: null, tag: 'unknown', accessibleName: '', placeholder: null, label: null };
438
+ return { testid: null, tag: 'unknown', contenteditable: false, accessibleName: '', placeholder: null, label: null };
359
439
  }
360
440
  }
361
441
  function buildUnresolvedElement(gherkinRef, gherkinType) {
@@ -368,6 +448,7 @@ function buildUnresolvedElement(gherkinRef, gherkinType) {
368
448
  name: gherkinRef,
369
449
  testid: null,
370
450
  tag: '',
451
+ contenteditable: false,
371
452
  placeholder: null,
372
453
  label: null,
373
454
  context: 'page',
@@ -1 +1 @@
1
- {"version":3,"file":"element-finder.js","sourceRoot":"","sources":["../../../src/core/live-scanner/element-finder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element-finder.js","sourceRoot":"","sources":["../../../src/core/live-scanner/element-finder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"matrix-reader.d.ts","sourceRoot":"","sources":["../../../src/core/live-scanner/matrix-reader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAQlE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAoCvF"}
1
+ {"version":3,"file":"matrix-reader.d.ts","sourceRoot":"","sources":["../../../src/core/live-scanner/matrix-reader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAQlE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAqCvF"}
@@ -41,6 +41,7 @@ function mergeMatrixElements(result) {
41
41
  name: el.name || '',
42
42
  testid: el.testid || null,
43
43
  tag: el.tag || '',
44
+ contenteditable: el.contenteditable === true,
44
45
  placeholder: el.placeholder || null,
45
46
  label: el.label || null,
46
47
  context: el.context || 'page',
@@ -1 +1 @@
1
- {"version":3,"file":"matrix-reader.js","sourceRoot":"","sources":["../../../src/core/live-scanner/matrix-reader.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AASH,gCAQC;AAMD,kDAoCC;AAzDD,iDAAuD;AAGvD;;;GAGG;AACH,SAAgB,UAAU,CAAC,QAAgB;IACzC,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAM,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAwB,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,MAAsB;IACxD,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAI,QAAgB,CAAC,QAAQ,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,MAAM,EAAE,GAAG,GAAU,CAAC;YAEtB,sDAAsD;YACtD,MAAM,OAAO,GAAgB;gBAC3B,UAAU,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG;gBAC1B,WAAW,EAAE,EAAE,CAAC,YAAY,IAAI,EAAE;gBAClC,YAAY,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE;gBACpC,aAAa,EAAE,EAAE,CAAC,cAAc,IAAI,EAAE;gBACtC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;gBACnB,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;gBACnB,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI;gBACzB,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE;gBACjB,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,IAAI;gBACnC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI;gBACvB,OAAO,EAAG,EAAE,CAAC,OAAe,IAAI,MAAM;gBACtC,WAAW,EAAG,EAAE,CAAC,YAAoB,IAAI,YAAY;gBACrD,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI;gBACxB,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI;aAC5B,CAAC;YAEF,kCAAkC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,KAAK,YAAY,IAAI,OAAO,CAAC,WAAW,KAAK,YAAY,CAAC,EAAE,CAAC;gBACvG,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"matrix-reader.js","sourceRoot":"","sources":["../../../src/core/live-scanner/matrix-reader.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AASH,gCAQC;AAMD,kDAqCC;AA1DD,iDAAuD;AAGvD;;;GAGG;AACH,SAAgB,UAAU,CAAC,QAAgB;IACzC,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAM,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAwB,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,MAAsB;IACxD,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAI,QAAgB,CAAC,QAAQ,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,MAAM,EAAE,GAAG,GAAU,CAAC;YAEtB,sDAAsD;YACtD,MAAM,OAAO,GAAgB;gBAC3B,UAAU,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG;gBAC1B,WAAW,EAAE,EAAE,CAAC,YAAY,IAAI,EAAE;gBAClC,YAAY,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE;gBACpC,aAAa,EAAE,EAAE,CAAC,cAAc,IAAI,EAAE;gBACtC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;gBACnB,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;gBACnB,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI;gBACzB,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE;gBACjB,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,IAAI;gBAC5C,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,IAAI;gBACnC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI;gBACvB,OAAO,EAAG,EAAE,CAAC,OAAe,IAAI,MAAM;gBACtC,WAAW,EAAG,EAAE,CAAC,YAAoB,IAAI,YAAY;gBACrD,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI;gBACxB,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI;aAC5B,CAAC;YAEF,kCAAkC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,KAAK,YAAY,IAAI,OAAO,CAAC,WAAW,KAAK,YAAY,CAAC,EAAE,CAAC;gBACvG,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"matrix-writer.d.ts","sourceRoot":"","sources":["../../../src/core/live-scanner/matrix-writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAYzC,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAwD5E"}
1
+ {"version":3,"file":"matrix-writer.d.ts","sourceRoot":"","sources":["../../../src/core/live-scanner/matrix-writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAYzC,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAyD5E"}
@@ -75,6 +75,7 @@ function writeMatrix(result, outputPath) {
75
75
  name: sanitizeForYaml(element.name),
76
76
  testid: element.testid,
77
77
  tag: element.tag,
78
+ contenteditable: element.contenteditable,
78
79
  placeholder: sanitizeForYaml(element.placeholder),
79
80
  label: sanitizeForYaml(element.label),
80
81
  context: element.context,
@@ -1 +1 @@
1
- {"version":3,"file":"matrix-writer.js","sourceRoot":"","sources":["../../../src/core/live-scanner/matrix-writer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBH,kCAwDC;AAtED,uCAAyB;AACzB,2CAA6B;AAG7B;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAoB;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AAC7E,CAAC;AAED,SAAgB,WAAW,CAAC,MAAsB,EAAE,UAAkB;IACpE,MAAM,MAAM,GAAQ;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,EAAE;KACd,CAAC;IAEF,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvE,MAAM,YAAY,GAAQ;YACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC;QAEF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC1C,CAAC;QAED,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG;gBAClC,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,aAAa,EAAE,OAAO,CAAC,YAAY;gBACnC,cAAc,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC;gBACtD,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC;gBACjD,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;IAC/C,CAAC;IAED,MAAM,MAAM,GAAG;QACb,sCAAsC;QACtC,aAAa,MAAM,CAAC,MAAM,gBAAgB,MAAM,CAAC,OAAO,EAAE;QAC1D,cAAc,MAAM,CAAC,SAAS,EAAE;QAChC,kEAAkE;QAClE,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QACrC,SAAS,EAAE,GAAG;QACd,iBAAiB,EAAE,cAAc;QACjC,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"matrix-writer.js","sourceRoot":"","sources":["../../../src/core/live-scanner/matrix-writer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBH,kCAyDC;AAvED,uCAAyB;AACzB,2CAA6B;AAG7B;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAAoB;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AAC7E,CAAC;AAED,SAAgB,WAAW,CAAC,MAAsB,EAAE,UAAkB;IACpE,MAAM,MAAM,GAAQ;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,EAAE;KACd,CAAC;IAEF,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACvE,MAAM,YAAY,GAAQ;YACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC;QAEF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC1C,CAAC;QAED,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG;gBAClC,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,aAAa,EAAE,OAAO,CAAC,YAAY;gBACnC,cAAc,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC;gBACtD,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC;gBACjD,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;IAC/C,CAAC;IAED,MAAM,MAAM,GAAG;QACb,sCAAsC;QACtC,aAAa,MAAM,CAAC,MAAM,gBAAgB,MAAM,CAAC,OAAO,EAAE;QAC1D,cAAc,MAAM,CAAC,SAAS,EAAE;QAChC,kEAAkE;QAClE,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QACrC,SAAS,EAAE,GAAG;QACd,iBAAiB,EAAE,cAAc;QACjC,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"step-replayer.d.ts","sourceRoot":"","sources":["../../../src/core/live-scanner/step-replayer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AAGtD,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,cAAc,EAAE,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC,CA8HvB"}
1
+ {"version":3,"file":"step-replayer.d.ts","sourceRoot":"","sources":["../../../src/core/live-scanner/step-replayer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AAGtD,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,cAAc,EAAE,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC,CA+HvB"}
@@ -58,6 +58,7 @@ async function replaySteps(page, steps, featurePath, baseUrl, existingElements)
58
58
  name: step.selectorRef,
59
59
  testid: null,
60
60
  tag: '',
61
+ contenteditable: false,
61
62
  placeholder: null,
62
63
  label: null,
63
64
  context: 'page',
@@ -99,8 +100,8 @@ async function replaySteps(page, steps, featurePath, baseUrl, existingElements)
99
100
  }
100
101
  continue;
101
102
  }
102
- // Find the element on the page
103
- const element = await (0, element_finder_1.findElement)(page, step.selectorRef, elementType, nth);
103
+ // Find the element on the page, scoped to current context (dialog/page)
104
+ const element = await (0, element_finder_1.findElement)(page, step.selectorRef, elementType, nth, currentContext);
104
105
  element.context = currentContext;
105
106
  // Record in matrix (first match wins for duplicate keys)
106
107
  if (!elements[key]) {