@sun-asterisk/sungen 1.0.21 → 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.
- package/dist/cli/index.js +1 -1
- package/dist/core/live-scanner/element-finder.d.ts +2 -2
- package/dist/core/live-scanner/element-finder.d.ts.map +1 -1
- package/dist/core/live-scanner/element-finder.js +253 -56
- package/dist/core/live-scanner/element-finder.js.map +1 -1
- package/dist/core/live-scanner/matrix-reader.d.ts.map +1 -1
- package/dist/core/live-scanner/matrix-reader.js +1 -0
- package/dist/core/live-scanner/matrix-reader.js.map +1 -1
- package/dist/core/live-scanner/matrix-writer.d.ts.map +1 -1
- package/dist/core/live-scanner/matrix-writer.js +15 -4
- package/dist/core/live-scanner/matrix-writer.js.map +1 -1
- package/dist/core/live-scanner/step-replayer.d.ts.map +1 -1
- package/dist/core/live-scanner/step-replayer.js +3 -2
- package/dist/core/live-scanner/step-replayer.js.map +1 -1
- package/dist/core/live-scanner/types.d.ts +3 -2
- package/dist/core/live-scanner/types.d.ts.map +1 -1
- package/dist/generators/scaffold-generator/index.d.ts +1 -0
- package/dist/generators/scaffold-generator/index.d.ts.map +1 -1
- package/dist/generators/scaffold-generator/index.js +19 -0
- package/dist/generators/scaffold-generator/index.js.map +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/fill-editor-action.hbs +3 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/locator.hbs +1 -1
- package/dist/generators/test-generator/patterns/form-patterns.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/form-patterns.js +8 -2
- package/dist/generators/test-generator/patterns/form-patterns.js.map +1 -1
- package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
- package/dist/generators/test-generator/step-mapper.js +8 -5
- package/dist/generators/test-generator/step-mapper.js.map +1 -1
- package/dist/generators/test-generator/utils/selector-resolver.d.ts +1 -0
- package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
- package/dist/generators/test-generator/utils/selector-resolver.js +21 -17
- package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/index.ts +1 -1
- package/src/core/live-scanner/element-finder.ts +263 -55
- package/src/core/live-scanner/matrix-reader.ts +1 -0
- package/src/core/live-scanner/matrix-writer.ts +15 -4
- package/src/core/live-scanner/step-replayer.ts +3 -2
- package/src/core/live-scanner/types.ts +3 -2
- package/src/generators/scaffold-generator/index.ts +20 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/fill-editor-action.hbs +3 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/locator.hbs +1 -1
- package/src/generators/test-generator/patterns/form-patterns.ts +9 -2
- package/src/generators/test-generator/step-mapper.ts +8 -5
- 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.
|
|
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,
|
|
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
|
}
|
|
@@ -31,17 +31,19 @@ async function findElement(page, gherkinRef, gherkinType, nth = 0) {
|
|
|
31
31
|
try {
|
|
32
32
|
playwrightName = await result.locator.evaluate((el) => {
|
|
33
33
|
// computedRole/computedLabel not available in all browsers, fallback to aria
|
|
34
|
-
|
|
34
|
+
const raw = el.computedName
|
|
35
35
|
|| el.getAttribute('aria-label')
|
|
36
36
|
|| el.textContent?.trim()?.substring(0, 100)
|
|
37
37
|
|| '';
|
|
38
|
+
return raw.replace(/[\n\r\t]/g, ' ').replace(/\s+/g, ' ').trim();
|
|
38
39
|
});
|
|
39
40
|
// Better approach: use Playwright's accessibility snapshot
|
|
40
41
|
const ariaSnapshot = await result.locator.ariaSnapshot();
|
|
41
42
|
// Parse accessible name from snapshot (format: "- role \"name\"" or "- role \"name\": ...")
|
|
42
|
-
|
|
43
|
+
// Regex handles escaped quotes (\") inside the name string
|
|
44
|
+
const nameMatch = ariaSnapshot?.match(/"((?:[^"\\]|\\.)*)"/);
|
|
43
45
|
if (nameMatch) {
|
|
44
|
-
playwrightName = nameMatch[1];
|
|
46
|
+
playwrightName = unescapeAriaSnapshot(nameMatch[1]);
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
catch {
|
|
@@ -58,6 +60,7 @@ async function findElement(page, gherkinRef, gherkinType, nth = 0) {
|
|
|
58
60
|
name: actualName,
|
|
59
61
|
testid: attrs.testid,
|
|
60
62
|
tag: attrs.tag,
|
|
63
|
+
contenteditable: attrs.contenteditable,
|
|
61
64
|
placeholder: attrs.placeholder,
|
|
62
65
|
label: attrs.label,
|
|
63
66
|
context: 'page',
|
|
@@ -66,7 +69,7 @@ async function findElement(page, gherkinRef, gherkinType, nth = 0) {
|
|
|
66
69
|
warning: result.warning,
|
|
67
70
|
};
|
|
68
71
|
}
|
|
69
|
-
async function cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth) {
|
|
72
|
+
async function cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth, context = 'page') {
|
|
70
73
|
// ① getByTestId
|
|
71
74
|
const testidResult = await tryTestId(page, gherkinRef, nth);
|
|
72
75
|
if (testidResult)
|
|
@@ -76,7 +79,7 @@ async function cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth)
|
|
|
76
79
|
// ② getByRole — exact role match
|
|
77
80
|
const roles = (0, role_fallback_1.getRoleFallbacks)(gherkinType);
|
|
78
81
|
if (roles.length > 0) {
|
|
79
|
-
const exactResult = await tryRole(page, roles[0], namePattern, nth);
|
|
82
|
+
const exactResult = await tryRole(page, roles[0], gherkinRef, namePattern, nth);
|
|
80
83
|
if (exactResult) {
|
|
81
84
|
return {
|
|
82
85
|
...exactResult,
|
|
@@ -86,7 +89,7 @@ async function cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth)
|
|
|
86
89
|
}
|
|
87
90
|
// ③ getByRole — fallback roles
|
|
88
91
|
for (let i = 1; i < roles.length; i++) {
|
|
89
|
-
const fallbackResult = await tryRole(page, roles[i], namePattern, nth);
|
|
92
|
+
const fallbackResult = await tryRole(page, roles[i], gherkinRef, namePattern, nth);
|
|
90
93
|
if (fallbackResult) {
|
|
91
94
|
return {
|
|
92
95
|
...fallbackResult,
|
|
@@ -97,16 +100,24 @@ async function cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth)
|
|
|
97
100
|
}
|
|
98
101
|
}
|
|
99
102
|
// ④ getByLabel — for form elements
|
|
100
|
-
const labelResult = await tryLabel(page, namePattern, nth);
|
|
103
|
+
const labelResult = await tryLabel(page, gherkinRef, namePattern, nth);
|
|
101
104
|
if (labelResult)
|
|
102
105
|
return labelResult;
|
|
103
106
|
// ⑤ getByPlaceholder — for input fields
|
|
104
|
-
const placeholderResult = await tryPlaceholder(page, namePattern, nth);
|
|
107
|
+
const placeholderResult = await tryPlaceholder(page, gherkinRef, namePattern, nth);
|
|
105
108
|
if (placeholderResult)
|
|
106
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
|
+
}
|
|
107
118
|
}
|
|
108
119
|
// ⑥ getByText — final fallback
|
|
109
|
-
const textResult = await tryText(page, namePattern, nth);
|
|
120
|
+
const textResult = await tryText(page, gherkinRef, namePattern, nth);
|
|
110
121
|
if (textResult)
|
|
111
122
|
return textResult;
|
|
112
123
|
return null;
|
|
@@ -140,12 +151,52 @@ async function tryTestId(page, ref, nth) {
|
|
|
140
151
|
}
|
|
141
152
|
return null;
|
|
142
153
|
}
|
|
143
|
-
// ② ③ getByRole
|
|
144
|
-
async function tryRole(page, role, namePattern, nth) {
|
|
154
|
+
// ② ③ getByRole — regex first, exact disambiguation when ambiguous
|
|
155
|
+
async function tryRole(page, role, gherkinRef, namePattern, nth) {
|
|
145
156
|
try {
|
|
146
157
|
const locator = page.getByRole(role, { name: namePattern });
|
|
147
158
|
const count = await locator.count();
|
|
148
|
-
if (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();
|
|
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) || '');
|
|
167
|
+
return {
|
|
168
|
+
locator: target,
|
|
169
|
+
selectorType: 'role',
|
|
170
|
+
selectorValue: role,
|
|
171
|
+
role: role,
|
|
172
|
+
matchMethod: 'exact_role',
|
|
173
|
+
warning: null,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
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
|
|
149
200
|
const target = nth > 0 ? locator.nth(nth) : locator.first();
|
|
150
201
|
if (await target.isVisible({ timeout: 3000 })) {
|
|
151
202
|
// Get the actual accessible name for the selector
|
|
@@ -166,74 +217,189 @@ async function tryRole(page, role, namePattern, nth) {
|
|
|
166
217
|
}
|
|
167
218
|
return null;
|
|
168
219
|
}
|
|
169
|
-
// ④ getByLabel
|
|
170
|
-
async function tryLabel(page, namePattern, nth) {
|
|
220
|
+
// ④ getByLabel — regex first, exact disambiguation when ambiguous
|
|
221
|
+
async function tryLabel(page, gherkinRef, namePattern, nth) {
|
|
171
222
|
try {
|
|
172
223
|
const locator = page.getByLabel(namePattern);
|
|
173
224
|
const count = await locator.count();
|
|
174
|
-
if (count
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
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
|
+
}
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
// Exact disambiguation failed
|
|
185
248
|
}
|
|
186
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
|
+
};
|
|
261
|
+
}
|
|
187
262
|
}
|
|
188
263
|
catch {
|
|
189
264
|
// Label not found
|
|
190
265
|
}
|
|
191
266
|
return null;
|
|
192
267
|
}
|
|
193
|
-
// ⑤ getByPlaceholder
|
|
194
|
-
async function tryPlaceholder(page, namePattern, nth) {
|
|
268
|
+
// ⑤ getByPlaceholder — regex first, exact disambiguation when ambiguous
|
|
269
|
+
async function tryPlaceholder(page, gherkinRef, namePattern, nth) {
|
|
195
270
|
try {
|
|
196
271
|
const locator = page.getByPlaceholder(namePattern);
|
|
197
272
|
const count = await locator.count();
|
|
198
|
-
if (count
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
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
|
|
210
297
|
}
|
|
211
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
|
+
}
|
|
212
312
|
}
|
|
213
313
|
catch {
|
|
214
314
|
// Placeholder not found
|
|
215
315
|
}
|
|
216
316
|
return null;
|
|
217
317
|
}
|
|
218
|
-
|
|
219
|
-
|
|
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) {
|
|
220
330
|
try {
|
|
221
|
-
|
|
331
|
+
// Scope the search to the current context
|
|
332
|
+
const root = context === 'dialog' ? page.getByRole('dialog') : page;
|
|
333
|
+
const locator = root.locator('[contenteditable="true"]');
|
|
222
334
|
const count = await locator.count();
|
|
223
|
-
if (count
|
|
224
|
-
|
|
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();
|
|
225
341
|
if (await target.isVisible({ timeout: 3000 })) {
|
|
226
342
|
return {
|
|
227
343
|
locator: target,
|
|
228
|
-
selectorType: '
|
|
229
|
-
selectorValue: '',
|
|
230
|
-
role: '',
|
|
231
|
-
matchMethod: '
|
|
232
|
-
warning:
|
|
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,
|
|
233
351
|
};
|
|
234
352
|
}
|
|
235
353
|
}
|
|
236
354
|
}
|
|
355
|
+
catch {
|
|
356
|
+
// Not found
|
|
357
|
+
}
|
|
358
|
+
return null;
|
|
359
|
+
}
|
|
360
|
+
// ⑥ getByText — regex first, exact disambiguation when ambiguous
|
|
361
|
+
async function tryText(page, gherkinRef, namePattern, nth) {
|
|
362
|
+
try {
|
|
363
|
+
const locator = page.getByText(namePattern);
|
|
364
|
+
const count = await locator.count();
|
|
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
|
+
}
|
|
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
|
+
};
|
|
401
|
+
}
|
|
402
|
+
}
|
|
237
403
|
catch {
|
|
238
404
|
// Text not found
|
|
239
405
|
}
|
|
@@ -242,27 +408,34 @@ async function tryText(page, namePattern, nth) {
|
|
|
242
408
|
async function extractElementAttributes(locator) {
|
|
243
409
|
try {
|
|
244
410
|
return await locator.evaluate((el) => {
|
|
411
|
+
// Inline sanitizer — browser context can't access Node functions
|
|
412
|
+
const clean = (s) => (s || '').replace(/[\n\r\t]/g, ' ').replace(/\s+/g, ' ').trim();
|
|
245
413
|
// Find associated label
|
|
246
414
|
let label = null;
|
|
247
415
|
if (el.id) {
|
|
248
416
|
const labelEl = el.ownerDocument.querySelector(`label[for="${el.id}"]`);
|
|
249
417
|
if (labelEl)
|
|
250
|
-
label = labelEl.textContent
|
|
418
|
+
label = clean(labelEl.textContent) || null;
|
|
251
419
|
}
|
|
252
420
|
if (!label && el.closest('label')) {
|
|
253
|
-
label = el.closest('label')?.textContent
|
|
421
|
+
label = clean(el.closest('label')?.textContent) || null;
|
|
254
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;
|
|
255
427
|
return {
|
|
256
428
|
testid: el.getAttribute('data-testid'),
|
|
257
429
|
tag: el.tagName.toLowerCase(),
|
|
258
|
-
|
|
259
|
-
|
|
430
|
+
contenteditable: isContentEditable,
|
|
431
|
+
accessibleName: clean(el.getAttribute('aria-label') || el.textContent?.trim()?.substring(0, 100)),
|
|
432
|
+
placeholder: clean(el.getAttribute('placeholder')) || null,
|
|
260
433
|
label,
|
|
261
434
|
};
|
|
262
435
|
});
|
|
263
436
|
}
|
|
264
437
|
catch {
|
|
265
|
-
return { testid: null, tag: 'unknown', accessibleName: '', placeholder: null, label: null };
|
|
438
|
+
return { testid: null, tag: 'unknown', contenteditable: false, accessibleName: '', placeholder: null, label: null };
|
|
266
439
|
}
|
|
267
440
|
}
|
|
268
441
|
function buildUnresolvedElement(gherkinRef, gherkinType) {
|
|
@@ -275,6 +448,7 @@ function buildUnresolvedElement(gherkinRef, gherkinType) {
|
|
|
275
448
|
name: gherkinRef,
|
|
276
449
|
testid: null,
|
|
277
450
|
tag: '',
|
|
451
|
+
contenteditable: false,
|
|
278
452
|
placeholder: null,
|
|
279
453
|
label: null,
|
|
280
454
|
context: 'page',
|
|
@@ -283,6 +457,29 @@ function buildUnresolvedElement(gherkinRef, gherkinType) {
|
|
|
283
457
|
warning: 'Element not found on page',
|
|
284
458
|
};
|
|
285
459
|
}
|
|
460
|
+
/**
|
|
461
|
+
* Normalize a DOM text value for YAML output:
|
|
462
|
+
* collapse real newlines/tabs/carriage-returns into spaces, then deduplicate whitespace.
|
|
463
|
+
* Runs in both browser evaluate() and Node context.
|
|
464
|
+
*/
|
|
465
|
+
function sanitizeText(str) {
|
|
466
|
+
return str.replace(/[\n\r\t]/g, ' ').replace(/\s+/g, ' ').trim();
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Unescape a string extracted from Playwright's ariaSnapshot() output.
|
|
470
|
+
* ariaSnapshot encodes special chars as literal escape sequences:
|
|
471
|
+
* \n → newline, \t → tab, \\ → backslash, \" → quote
|
|
472
|
+
* We unescape them then normalize whitespace.
|
|
473
|
+
*/
|
|
474
|
+
function unescapeAriaSnapshot(str) {
|
|
475
|
+
return str
|
|
476
|
+
.replace(/\\n/g, ' ')
|
|
477
|
+
.replace(/\\t/g, ' ')
|
|
478
|
+
.replace(/\\"/g, '"')
|
|
479
|
+
.replace(/\\\\/g, '\\')
|
|
480
|
+
.replace(/\s+/g, ' ')
|
|
481
|
+
.trim();
|
|
482
|
+
}
|
|
286
483
|
function escapeRegex(str) {
|
|
287
484
|
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
288
485
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-finder.js","sourceRoot":"","sources":["../../../src/core/live-scanner/element-finder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAkBH,kCAyDC;AAxED,mDAAmE;AAYnE;;GAEG;AACI,KAAK,UAAU,WAAW,CAC/B,IAAU,EACV,UAAkB,EAClB,WAAmB,EACnB,MAAc,CAAC;IAEf,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IAEtF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE7D,kFAAkF;IAClF,yEAAyE;IACzE,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE;YACpD,6EAA6E;YAC7E,OAAQ,EAAU,CAAC,YAAY;mBAC1B,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC;mBAC7B,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;mBACzC,EAAE,CAAC;QACV,CAAC,CAAC,CAAC;QACH,2DAA2D;QAC3D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACzD,4FAA4F;QAC5F,MAAM,SAAS,GAAG,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,UAAU,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,IAAI,KAAK,CAAC,cAAc,IAAI,UAAU,CAAC;IACxE,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAEzF,OAAO;QACL,UAAU;QACV,WAAW;QACX,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,IAAU,EACV,UAAkB,EAClB,WAAmB,EACnB,WAAmB,EACnB,GAAW;IAEX,gBAAgB;IAChB,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,uEAAuE;IACvE,IAAI,CAAC,IAAA,8BAAc,EAAC,WAAW,CAAC,EAAE,CAAC;QACjC,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAA,gCAAgB,EAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;YACpE,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO;oBACL,GAAG,WAAW;oBACd,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,+BAA+B;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACvE,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO;wBACL,GAAG,cAAc;wBACjB,WAAW,EAAE,eAAe;wBAC5B,OAAO,EAAE,iBAAiB,WAAW,qBAAqB,KAAK,CAAC,CAAC,CAAC,GAAG;qBACtE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;QAEpC,wCAAwC;QACxC,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACvE,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAC;IAClD,CAAC;IAED,+BAA+B;IAC/B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gBAAgB;AAChB,KAAK,UAAU,SAAS,CAAC,IAAU,EAAE,GAAW,EAAE,GAAW;IAC3D,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAErE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,OAAO,MAAM,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC5D,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;oBACxD,OAAO;wBACL,OAAO,EAAE,MAAM;wBACf,YAAY,EAAE,QAAQ;wBACtB,aAAa,EAAE,MAAM,IAAI,OAAO;wBAChC,IAAI,EAAE,EAAE;wBACR,WAAW,EAAE,QAAQ;wBACrB,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gBAAgB;AAChB,KAAK,UAAU,OAAO,CACpB,IAAU,EACV,IAAY,EACZ,WAAmB,EACnB,GAAW;IAEX,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC9C,kDAAkD;gBAClD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAClD,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CACjF,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,MAAM;oBACf,YAAY,EAAE,MAAM;oBACpB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe;AACf,KAAK,UAAU,QAAQ,CAAC,IAAU,EAAE,WAAmB,EAAE,GAAW;IAClE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC9C,OAAO;oBACL,OAAO,EAAE,MAAM;oBACf,YAAY,EAAE,OAAO;oBACrB,aAAa,EAAE,EAAE,EAAG,4BAA4B;oBAChD,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE,OAAO;oBACpB,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qBAAqB;AACrB,KAAK,UAAU,cAAc,CAAC,IAAU,EAAE,WAAmB,EAAE,GAAW;IACxE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC9C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC7D,OAAO;oBACL,OAAO,EAAE,MAAM;oBACf,YAAY,EAAE,aAAa;oBAC3B,aAAa,EAAE,WAAW,IAAI,EAAE;oBAChC,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE,aAAa;oBAC1B,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,cAAc;AACd,KAAK,UAAU,OAAO,CAAC,IAAU,EAAE,WAAmB,EAAE,GAAW;IACjE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC9C,OAAO;oBACL,OAAO,EAAE,MAAM;oBACf,YAAY,EAAE,MAAM;oBACpB,aAAa,EAAE,EAAE,EAAG,4BAA4B;oBAChD,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE,WAAW;oBACxB,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,OAAgB;IAOtD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,wBAAwB;YACxB,IAAI,KAAK,GAAkB,IAAI,CAAC;YAChC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACxE,IAAI,OAAO;oBAAE,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;YAC3D,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC;gBACtC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;gBAC7B,cAAc,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE;gBAChG,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC;gBAC3C,KAAK;aACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB,EAAE,WAAmB;IACrE,OAAO;QACL,UAAU;QACV,WAAW;QACX,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,EAAE;QACP,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,YAAY;QACzB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,2BAA2B;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
|
|
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,
|
|
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,
|
|
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;
|
|
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"}
|
|
@@ -40,6 +40,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
40
40
|
exports.writeMatrix = writeMatrix;
|
|
41
41
|
const fs = __importStar(require("fs"));
|
|
42
42
|
const yaml = __importStar(require("yaml"));
|
|
43
|
+
/**
|
|
44
|
+
* Sanitize a string value before YAML serialization:
|
|
45
|
+
* collapse newlines/tabs/carriage-returns into spaces to prevent
|
|
46
|
+
* broken escape sequences (e.g. \\n) in QUOTE_DOUBLE output.
|
|
47
|
+
*/
|
|
48
|
+
function sanitizeForYaml(value) {
|
|
49
|
+
if (!value)
|
|
50
|
+
return value;
|
|
51
|
+
return value.replace(/[\n\r\t]/g, ' ').replace(/\s+/g, ' ').trim() || null;
|
|
52
|
+
}
|
|
43
53
|
function writeMatrix(result, outputPath) {
|
|
44
54
|
const output = {
|
|
45
55
|
screen: result.screen,
|
|
@@ -60,13 +70,14 @@ function writeMatrix(result, outputPath) {
|
|
|
60
70
|
scenarioData.elements[elementKey] = {
|
|
61
71
|
gherkin_type: element.gherkinType,
|
|
62
72
|
selector_type: element.selectorType,
|
|
63
|
-
selector_value: element.selectorValue,
|
|
73
|
+
selector_value: sanitizeForYaml(element.selectorValue),
|
|
64
74
|
role: element.role,
|
|
65
|
-
name: element.name,
|
|
75
|
+
name: sanitizeForYaml(element.name),
|
|
66
76
|
testid: element.testid,
|
|
67
77
|
tag: element.tag,
|
|
68
|
-
|
|
69
|
-
|
|
78
|
+
contenteditable: element.contenteditable,
|
|
79
|
+
placeholder: sanitizeForYaml(element.placeholder),
|
|
80
|
+
label: sanitizeForYaml(element.label),
|
|
70
81
|
context: element.context,
|
|
71
82
|
match_method: element.matchMethod,
|
|
72
83
|
exact: element.exact,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix-writer.js","sourceRoot":"","sources":["../../../src/core/live-scanner/matrix-writer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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,
|
|
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"}
|