@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selector-resolver.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/selector-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAoE;AAEpE;;;GAGG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,eAAe,GAA8B;QACjD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,YAAY;QACZ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE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"}
|
|
1
|
+
{"version":3,"file":"selector-resolver.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/selector-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAoE;AAEpE;;;GAGG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,eAAe,GAA8B;QACjD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,YAAY;QACZ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;QAChD,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE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"}
|
package/package.json
CHANGED
package/src/cli/index.ts
CHANGED
|
@@ -32,11 +32,12 @@ export async function findElement(
|
|
|
32
32
|
page: Page,
|
|
33
33
|
gherkinRef: string,
|
|
34
34
|
gherkinType: string,
|
|
35
|
-
nth: number = 0
|
|
35
|
+
nth: number = 0,
|
|
36
|
+
context: ElementContext = 'page'
|
|
36
37
|
): Promise<LiveElement> {
|
|
37
38
|
const namePattern = new RegExp(escapeRegex(gherkinRef), 'i');
|
|
38
39
|
|
|
39
|
-
const result = await cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth);
|
|
40
|
+
const result = await cascadingSearch(page, gherkinRef, gherkinType, namePattern, nth, context);
|
|
40
41
|
|
|
41
42
|
if (!result) {
|
|
42
43
|
return buildUnresolvedElement(gherkinRef, gherkinType);
|
|
@@ -50,17 +51,19 @@ export async function findElement(
|
|
|
50
51
|
try {
|
|
51
52
|
playwrightName = await result.locator.evaluate((el) => {
|
|
52
53
|
// computedRole/computedLabel not available in all browsers, fallback to aria
|
|
53
|
-
|
|
54
|
+
const raw = (el as any).computedName
|
|
54
55
|
|| el.getAttribute('aria-label')
|
|
55
56
|
|| el.textContent?.trim()?.substring(0, 100)
|
|
56
57
|
|| '';
|
|
58
|
+
return raw.replace(/[\n\r\t]/g, ' ').replace(/\s+/g, ' ').trim();
|
|
57
59
|
});
|
|
58
60
|
// Better approach: use Playwright's accessibility snapshot
|
|
59
61
|
const ariaSnapshot = await result.locator.ariaSnapshot();
|
|
60
62
|
// Parse accessible name from snapshot (format: "- role \"name\"" or "- role \"name\": ...")
|
|
61
|
-
|
|
63
|
+
// Regex handles escaped quotes (\") inside the name string
|
|
64
|
+
const nameMatch = ariaSnapshot?.match(/"((?:[^"\\]|\\.)*)"/);
|
|
62
65
|
if (nameMatch) {
|
|
63
|
-
playwrightName = nameMatch[1];
|
|
66
|
+
playwrightName = unescapeAriaSnapshot(nameMatch[1]);
|
|
64
67
|
}
|
|
65
68
|
} catch {
|
|
66
69
|
playwrightName = attrs.accessibleName || gherkinRef;
|
|
@@ -78,6 +81,7 @@ export async function findElement(
|
|
|
78
81
|
name: actualName,
|
|
79
82
|
testid: attrs.testid,
|
|
80
83
|
tag: attrs.tag,
|
|
84
|
+
contenteditable: attrs.contenteditable,
|
|
81
85
|
placeholder: attrs.placeholder,
|
|
82
86
|
label: attrs.label,
|
|
83
87
|
context: 'page',
|
|
@@ -92,7 +96,8 @@ async function cascadingSearch(
|
|
|
92
96
|
gherkinRef: string,
|
|
93
97
|
gherkinType: string,
|
|
94
98
|
namePattern: RegExp,
|
|
95
|
-
nth: number
|
|
99
|
+
nth: number,
|
|
100
|
+
context: ElementContext = 'page'
|
|
96
101
|
): Promise<FindResult | null> {
|
|
97
102
|
// ① getByTestId
|
|
98
103
|
const testidResult = await tryTestId(page, gherkinRef, nth);
|
|
@@ -103,7 +108,7 @@ async function cascadingSearch(
|
|
|
103
108
|
// ② getByRole — exact role match
|
|
104
109
|
const roles = getRoleFallbacks(gherkinType);
|
|
105
110
|
if (roles.length > 0) {
|
|
106
|
-
const exactResult = await tryRole(page, roles[0], namePattern, nth);
|
|
111
|
+
const exactResult = await tryRole(page, roles[0], gherkinRef, namePattern, nth);
|
|
107
112
|
if (exactResult) {
|
|
108
113
|
return {
|
|
109
114
|
...exactResult,
|
|
@@ -114,7 +119,7 @@ async function cascadingSearch(
|
|
|
114
119
|
|
|
115
120
|
// ③ getByRole — fallback roles
|
|
116
121
|
for (let i = 1; i < roles.length; i++) {
|
|
117
|
-
const fallbackResult = await tryRole(page, roles[i], namePattern, nth);
|
|
122
|
+
const fallbackResult = await tryRole(page, roles[i], gherkinRef, namePattern, nth);
|
|
118
123
|
if (fallbackResult) {
|
|
119
124
|
return {
|
|
120
125
|
...fallbackResult,
|
|
@@ -126,16 +131,24 @@ async function cascadingSearch(
|
|
|
126
131
|
}
|
|
127
132
|
|
|
128
133
|
// ④ getByLabel — for form elements
|
|
129
|
-
const labelResult = await tryLabel(page, namePattern, nth);
|
|
134
|
+
const labelResult = await tryLabel(page, gherkinRef, namePattern, nth);
|
|
130
135
|
if (labelResult) return labelResult;
|
|
131
136
|
|
|
132
137
|
// ⑤ getByPlaceholder — for input fields
|
|
133
|
-
const placeholderResult = await tryPlaceholder(page, namePattern, nth);
|
|
138
|
+
const placeholderResult = await tryPlaceholder(page, gherkinRef, namePattern, nth);
|
|
134
139
|
if (placeholderResult) return placeholderResult;
|
|
140
|
+
|
|
141
|
+
// ⑤.5 contenteditable — for rich text editors (textarea/textbox/field types)
|
|
142
|
+
// When role match fails (editor has role="textbox" but no accessible name),
|
|
143
|
+
// try to find a [contenteditable="true"] element scoped to the current context
|
|
144
|
+
if (isEditableType(gherkinType)) {
|
|
145
|
+
const ceResult = await tryContentEditable(page, nth, context);
|
|
146
|
+
if (ceResult) return ceResult;
|
|
147
|
+
}
|
|
135
148
|
}
|
|
136
149
|
|
|
137
150
|
// ⑥ getByText — final fallback
|
|
138
|
-
const textResult = await tryText(page, namePattern, nth);
|
|
151
|
+
const textResult = await tryText(page, gherkinRef, namePattern, nth);
|
|
139
152
|
if (textResult) return textResult;
|
|
140
153
|
|
|
141
154
|
return null;
|
|
@@ -171,17 +184,59 @@ async function tryTestId(page: Page, ref: string, nth: number): Promise<FindResu
|
|
|
171
184
|
return null;
|
|
172
185
|
}
|
|
173
186
|
|
|
174
|
-
// ② ③ getByRole
|
|
187
|
+
// ② ③ getByRole — regex first, exact disambiguation when ambiguous
|
|
175
188
|
async function tryRole(
|
|
176
189
|
page: Page,
|
|
177
190
|
role: string,
|
|
191
|
+
gherkinRef: string,
|
|
178
192
|
namePattern: RegExp,
|
|
179
193
|
nth: number
|
|
180
194
|
): Promise<FindResult | null> {
|
|
181
195
|
try {
|
|
182
196
|
const locator = page.getByRole(role as any, { name: namePattern });
|
|
183
197
|
const count = await locator.count();
|
|
184
|
-
if (count
|
|
198
|
+
if (count === 0) return null;
|
|
199
|
+
|
|
200
|
+
if (count === 1) {
|
|
201
|
+
// Single match — use directly, zero overhead
|
|
202
|
+
const target = nth > 0 ? locator.nth(nth) : locator.first();
|
|
203
|
+
if (await target.isVisible({ timeout: 3000 })) {
|
|
204
|
+
// Get the actual accessible name for the selector
|
|
205
|
+
const accessibleName = await target.evaluate((el) =>
|
|
206
|
+
el.getAttribute('aria-label') || el.textContent?.trim()?.substring(0, 100) || ''
|
|
207
|
+
);
|
|
208
|
+
return {
|
|
209
|
+
locator: target,
|
|
210
|
+
selectorType: 'role',
|
|
211
|
+
selectorValue: role,
|
|
212
|
+
role: role,
|
|
213
|
+
matchMethod: 'exact_role',
|
|
214
|
+
warning: null,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
} else {
|
|
218
|
+
// Multiple matches — try exact to disambiguate
|
|
219
|
+
try {
|
|
220
|
+
const exactLocator = page.getByRole(role as any, { name: gherkinRef, exact: true });
|
|
221
|
+
const exactCount = await exactLocator.count();
|
|
222
|
+
if (exactCount > 0) {
|
|
223
|
+
const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
|
|
224
|
+
if (await target.isVisible({ timeout: 3000 })) {
|
|
225
|
+
return {
|
|
226
|
+
locator: target,
|
|
227
|
+
selectorType: 'role',
|
|
228
|
+
selectorValue: role,
|
|
229
|
+
role: role,
|
|
230
|
+
matchMethod: 'exact_role',
|
|
231
|
+
warning: null,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
} catch {
|
|
236
|
+
// Exact disambiguation failed
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// Fall back to first regex match
|
|
185
240
|
const target = nth > 0 ? locator.nth(nth) : locator.first();
|
|
186
241
|
if (await target.isVisible({ timeout: 3000 })) {
|
|
187
242
|
// Get the actual accessible name for the selector
|
|
@@ -204,73 +259,189 @@ async function tryRole(
|
|
|
204
259
|
return null;
|
|
205
260
|
}
|
|
206
261
|
|
|
207
|
-
// ④ getByLabel
|
|
208
|
-
async function tryLabel(page: Page, namePattern: RegExp, nth: number): Promise<FindResult | null> {
|
|
262
|
+
// ④ getByLabel — regex first, exact disambiguation when ambiguous
|
|
263
|
+
async function tryLabel(page: Page, gherkinRef: string, namePattern: RegExp, nth: number): Promise<FindResult | null> {
|
|
209
264
|
try {
|
|
210
265
|
const locator = page.getByLabel(namePattern);
|
|
211
266
|
const count = await locator.count();
|
|
212
|
-
if (count
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
267
|
+
if (count === 0) return null;
|
|
268
|
+
|
|
269
|
+
if (count > 1) {
|
|
270
|
+
// Multiple matches — try exact to disambiguate
|
|
271
|
+
try {
|
|
272
|
+
const exactLocator = page.getByLabel(gherkinRef, { exact: true });
|
|
273
|
+
const exactCount = await exactLocator.count();
|
|
274
|
+
if (exactCount > 0) {
|
|
275
|
+
const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
|
|
276
|
+
if (await target.isVisible({ timeout: 3000 })) {
|
|
277
|
+
return {
|
|
278
|
+
locator: target,
|
|
279
|
+
selectorType: 'label',
|
|
280
|
+
selectorValue: '',
|
|
281
|
+
role: '',
|
|
282
|
+
matchMethod: 'label',
|
|
283
|
+
warning: null,
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
} catch {
|
|
288
|
+
// Exact disambiguation failed
|
|
223
289
|
}
|
|
224
290
|
}
|
|
291
|
+
|
|
292
|
+
// Single match or exact failed — use first regex match
|
|
293
|
+
const target = nth > 0 ? locator.nth(nth) : locator.first();
|
|
294
|
+
if (await target.isVisible({ timeout: 3000 })) {
|
|
295
|
+
return {
|
|
296
|
+
locator: target,
|
|
297
|
+
selectorType: 'label',
|
|
298
|
+
selectorValue: '',
|
|
299
|
+
role: '',
|
|
300
|
+
matchMethod: 'label',
|
|
301
|
+
warning: null,
|
|
302
|
+
};
|
|
303
|
+
}
|
|
225
304
|
} catch {
|
|
226
305
|
// Label not found
|
|
227
306
|
}
|
|
228
307
|
return null;
|
|
229
308
|
}
|
|
230
309
|
|
|
231
|
-
// ⑤ getByPlaceholder
|
|
232
|
-
async function tryPlaceholder(page: Page, namePattern: RegExp, nth: number): Promise<FindResult | null> {
|
|
310
|
+
// ⑤ getByPlaceholder — regex first, exact disambiguation when ambiguous
|
|
311
|
+
async function tryPlaceholder(page: Page, gherkinRef: string, namePattern: RegExp, nth: number): Promise<FindResult | null> {
|
|
233
312
|
try {
|
|
234
313
|
const locator = page.getByPlaceholder(namePattern);
|
|
235
314
|
const count = await locator.count();
|
|
236
|
-
if (count
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
315
|
+
if (count === 0) return null;
|
|
316
|
+
|
|
317
|
+
if (count > 1) {
|
|
318
|
+
// Multiple matches — try exact to disambiguate
|
|
319
|
+
try {
|
|
320
|
+
const exactLocator = page.getByPlaceholder(gherkinRef, { exact: true });
|
|
321
|
+
const exactCount = await exactLocator.count();
|
|
322
|
+
if (exactCount > 0) {
|
|
323
|
+
const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
|
|
324
|
+
if (await target.isVisible({ timeout: 3000 })) {
|
|
325
|
+
const rawPlaceholder = await target.getAttribute('placeholder');
|
|
326
|
+
return {
|
|
327
|
+
locator: target,
|
|
328
|
+
selectorType: 'placeholder',
|
|
329
|
+
selectorValue: sanitizeText(rawPlaceholder || ''),
|
|
330
|
+
role: '',
|
|
331
|
+
matchMethod: 'placeholder',
|
|
332
|
+
warning: null,
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
} catch {
|
|
337
|
+
// Exact disambiguation failed
|
|
248
338
|
}
|
|
249
339
|
}
|
|
340
|
+
|
|
341
|
+
// Single match or exact failed — use first regex match
|
|
342
|
+
const target = nth > 0 ? locator.nth(nth) : locator.first();
|
|
343
|
+
if (await target.isVisible({ timeout: 3000 })) {
|
|
344
|
+
const rawPlaceholder = await target.getAttribute('placeholder');
|
|
345
|
+
return {
|
|
346
|
+
locator: target,
|
|
347
|
+
selectorType: 'placeholder',
|
|
348
|
+
selectorValue: sanitizeText(rawPlaceholder || ''),
|
|
349
|
+
role: '',
|
|
350
|
+
matchMethod: 'placeholder',
|
|
351
|
+
warning: null,
|
|
352
|
+
};
|
|
353
|
+
}
|
|
250
354
|
} catch {
|
|
251
355
|
// Placeholder not found
|
|
252
356
|
}
|
|
253
357
|
return null;
|
|
254
358
|
}
|
|
255
359
|
|
|
256
|
-
|
|
257
|
-
|
|
360
|
+
/**
|
|
361
|
+
* Check if gherkinType is an editable/input type that could be a contenteditable div
|
|
362
|
+
*/
|
|
363
|
+
function isEditableType(gherkinType: string): boolean {
|
|
364
|
+
const normalized = gherkinType.toLowerCase().trim();
|
|
365
|
+
return normalized === 'textarea' || normalized === 'textbox' || normalized === 'field' || normalized === 'editor';
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// ⑤.5 contenteditable — for rich text editors
|
|
369
|
+
// Scoped to current context (dialog/page) to avoid matching wrong editor.
|
|
370
|
+
// The nth from Gherkin refers to text matches, not contenteditable count,
|
|
371
|
+
// so we try the requested nth first, then fall back to first match.
|
|
372
|
+
async function tryContentEditable(page: Page, nth: number, context: ElementContext): Promise<FindResult | null> {
|
|
258
373
|
try {
|
|
259
|
-
|
|
374
|
+
// Scope the search to the current context
|
|
375
|
+
const root = context === 'dialog' ? page.getByRole('dialog') : page;
|
|
376
|
+
const locator = root.locator('[contenteditable="true"]');
|
|
260
377
|
const count = await locator.count();
|
|
261
|
-
if (count
|
|
262
|
-
|
|
378
|
+
if (count === 0) return null;
|
|
379
|
+
|
|
380
|
+
// Try requested nth first, then fall back to first visible
|
|
381
|
+
const candidates = nth > 0 && count > nth ? [nth, 0] : [0];
|
|
382
|
+
for (const idx of candidates) {
|
|
383
|
+
const target = idx > 0 ? locator.nth(idx) : locator.first();
|
|
263
384
|
if (await target.isVisible({ timeout: 3000 })) {
|
|
264
385
|
return {
|
|
265
386
|
locator: target,
|
|
266
|
-
selectorType: '
|
|
267
|
-
selectorValue: '',
|
|
268
|
-
role: '',
|
|
269
|
-
matchMethod: '
|
|
270
|
-
warning:
|
|
387
|
+
selectorType: 'locator',
|
|
388
|
+
selectorValue: '[contenteditable="true"]',
|
|
389
|
+
role: 'textbox',
|
|
390
|
+
matchMethod: 'contenteditable',
|
|
391
|
+
warning: count > 1
|
|
392
|
+
? `${count} contenteditable elements in ${context}, using index ${idx}. Use nth in Gherkin to disambiguate.`
|
|
393
|
+
: null,
|
|
271
394
|
};
|
|
272
395
|
}
|
|
273
396
|
}
|
|
397
|
+
} catch {
|
|
398
|
+
// Not found
|
|
399
|
+
}
|
|
400
|
+
return null;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// ⑥ getByText — regex first, exact disambiguation when ambiguous
|
|
404
|
+
async function tryText(page: Page, gherkinRef: string, namePattern: RegExp, nth: number): Promise<FindResult | null> {
|
|
405
|
+
try {
|
|
406
|
+
const locator = page.getByText(namePattern);
|
|
407
|
+
const count = await locator.count();
|
|
408
|
+
if (count === 0) return null;
|
|
409
|
+
|
|
410
|
+
if (count > 1) {
|
|
411
|
+
// Multiple matches — try exact to disambiguate
|
|
412
|
+
try {
|
|
413
|
+
const exactLocator = page.getByText(gherkinRef, { exact: true });
|
|
414
|
+
const exactCount = await exactLocator.count();
|
|
415
|
+
if (exactCount > 0) {
|
|
416
|
+
const target = nth > 0 ? exactLocator.nth(nth) : exactLocator.first();
|
|
417
|
+
if (await target.isVisible({ timeout: 3000 })) {
|
|
418
|
+
return {
|
|
419
|
+
locator: target,
|
|
420
|
+
selectorType: 'text',
|
|
421
|
+
selectorValue: '',
|
|
422
|
+
role: '',
|
|
423
|
+
matchMethod: 'text_only',
|
|
424
|
+
warning: null,
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
} catch {
|
|
429
|
+
// Exact disambiguation failed
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
// Single match or exact failed — use first regex match
|
|
434
|
+
const target = nth > 0 ? locator.nth(nth) : locator.first();
|
|
435
|
+
if (await target.isVisible({ timeout: 3000 })) {
|
|
436
|
+
return {
|
|
437
|
+
locator: target,
|
|
438
|
+
selectorType: 'text',
|
|
439
|
+
selectorValue: '',
|
|
440
|
+
role: '',
|
|
441
|
+
matchMethod: 'text_only',
|
|
442
|
+
warning: null,
|
|
443
|
+
};
|
|
444
|
+
}
|
|
274
445
|
} catch {
|
|
275
446
|
// Text not found
|
|
276
447
|
}
|
|
@@ -280,32 +451,43 @@ async function tryText(page: Page, namePattern: RegExp, nth: number): Promise<Fi
|
|
|
280
451
|
async function extractElementAttributes(locator: Locator): Promise<{
|
|
281
452
|
testid: string | null;
|
|
282
453
|
tag: string;
|
|
454
|
+
contenteditable: boolean;
|
|
283
455
|
accessibleName: string;
|
|
284
456
|
placeholder: string | null;
|
|
285
457
|
label: string | null;
|
|
286
458
|
}> {
|
|
287
459
|
try {
|
|
288
460
|
return await locator.evaluate((el) => {
|
|
461
|
+
// Inline sanitizer — browser context can't access Node functions
|
|
462
|
+
const clean = (s: string | null | undefined): string =>
|
|
463
|
+
(s || '').replace(/[\n\r\t]/g, ' ').replace(/\s+/g, ' ').trim();
|
|
464
|
+
|
|
289
465
|
// Find associated label
|
|
290
466
|
let label: string | null = null;
|
|
291
467
|
if (el.id) {
|
|
292
468
|
const labelEl = el.ownerDocument.querySelector(`label[for="${el.id}"]`);
|
|
293
|
-
if (labelEl) label = labelEl.textContent
|
|
469
|
+
if (labelEl) label = clean(labelEl.textContent) || null;
|
|
294
470
|
}
|
|
295
471
|
if (!label && el.closest('label')) {
|
|
296
|
-
label = el.closest('label')?.textContent
|
|
472
|
+
label = clean(el.closest('label')?.textContent) || null;
|
|
297
473
|
}
|
|
298
474
|
|
|
475
|
+
// Detect contenteditable: check element itself and ancestors (rich text editors
|
|
476
|
+
// often have contenteditable on a parent div wrapping the editable area)
|
|
477
|
+
const isContentEditable = el.getAttribute('contenteditable') === 'true'
|
|
478
|
+
|| el.isContentEditable;
|
|
479
|
+
|
|
299
480
|
return {
|
|
300
481
|
testid: el.getAttribute('data-testid'),
|
|
301
482
|
tag: el.tagName.toLowerCase(),
|
|
302
|
-
|
|
303
|
-
|
|
483
|
+
contenteditable: isContentEditable,
|
|
484
|
+
accessibleName: clean(el.getAttribute('aria-label') || el.textContent?.trim()?.substring(0, 100)),
|
|
485
|
+
placeholder: clean(el.getAttribute('placeholder')) || null,
|
|
304
486
|
label,
|
|
305
487
|
};
|
|
306
488
|
});
|
|
307
489
|
} catch {
|
|
308
|
-
return { testid: null, tag: 'unknown', accessibleName: '', placeholder: null, label: null };
|
|
490
|
+
return { testid: null, tag: 'unknown', contenteditable: false, accessibleName: '', placeholder: null, label: null };
|
|
309
491
|
}
|
|
310
492
|
}
|
|
311
493
|
|
|
@@ -319,6 +501,7 @@ function buildUnresolvedElement(gherkinRef: string, gherkinType: string): LiveEl
|
|
|
319
501
|
name: gherkinRef,
|
|
320
502
|
testid: null,
|
|
321
503
|
tag: '',
|
|
504
|
+
contenteditable: false,
|
|
322
505
|
placeholder: null,
|
|
323
506
|
label: null,
|
|
324
507
|
context: 'page',
|
|
@@ -328,6 +511,31 @@ function buildUnresolvedElement(gherkinRef: string, gherkinType: string): LiveEl
|
|
|
328
511
|
};
|
|
329
512
|
}
|
|
330
513
|
|
|
514
|
+
/**
|
|
515
|
+
* Normalize a DOM text value for YAML output:
|
|
516
|
+
* collapse real newlines/tabs/carriage-returns into spaces, then deduplicate whitespace.
|
|
517
|
+
* Runs in both browser evaluate() and Node context.
|
|
518
|
+
*/
|
|
519
|
+
function sanitizeText(str: string): string {
|
|
520
|
+
return str.replace(/[\n\r\t]/g, ' ').replace(/\s+/g, ' ').trim();
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* Unescape a string extracted from Playwright's ariaSnapshot() output.
|
|
525
|
+
* ariaSnapshot encodes special chars as literal escape sequences:
|
|
526
|
+
* \n → newline, \t → tab, \\ → backslash, \" → quote
|
|
527
|
+
* We unescape them then normalize whitespace.
|
|
528
|
+
*/
|
|
529
|
+
function unescapeAriaSnapshot(str: string): string {
|
|
530
|
+
return str
|
|
531
|
+
.replace(/\\n/g, ' ')
|
|
532
|
+
.replace(/\\t/g, ' ')
|
|
533
|
+
.replace(/\\"/g, '"')
|
|
534
|
+
.replace(/\\\\/g, '\\')
|
|
535
|
+
.replace(/\s+/g, ' ')
|
|
536
|
+
.trim();
|
|
537
|
+
}
|
|
538
|
+
|
|
331
539
|
function escapeRegex(str: string): string {
|
|
332
540
|
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
333
541
|
}
|
|
@@ -45,6 +45,7 @@ export function mergeMatrixElements(result: LiveScanResult): Record<string, Live
|
|
|
45
45
|
name: el.name || '',
|
|
46
46
|
testid: el.testid || null,
|
|
47
47
|
tag: el.tag || '',
|
|
48
|
+
contenteditable: el.contenteditable === true,
|
|
48
49
|
placeholder: el.placeholder || null,
|
|
49
50
|
label: el.label || null,
|
|
50
51
|
context: (el.context as any) || 'page',
|