@vijaypjavvadi/bdd2pw 1.1.2 → 1.1.4
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/CHANGELOG.md +143 -0
- package/README.md +2 -2
- package/dist/transformers/stepMatcher.js +139 -20
- package/dist/transformers/stepMatcher.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,149 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
_Nothing yet._
|
|
11
11
|
|
|
12
|
+
## [1.1.4] — 2026-05-05
|
|
13
|
+
|
|
14
|
+
### Fixed — article-leak in URL slugs + N5d without URL
|
|
15
|
+
|
|
16
|
+
A run of `R-5D89B426-001.feature` on bdd2pw 1.1.3 cut failures from 6 → 2,
|
|
17
|
+
but two real bugs remain:
|
|
18
|
+
|
|
19
|
+
#### 1. English articles leak into URL regex slugs
|
|
20
|
+
|
|
21
|
+
**Symptom:** `Then the user is redirected to a logged-in page` →
|
|
22
|
+
emitted regex `/a[-_/]?logged-in/` → fails against
|
|
23
|
+
`https://practicetestautomation.com/logged-in-successfully/` because the
|
|
24
|
+
URL has no "a" before "logged-in".
|
|
25
|
+
|
|
26
|
+
**Root cause:** rule 11b (and rules 10, N4, N5e) capture the page-name
|
|
27
|
+
description and slugify it. The capture preserves English articles
|
|
28
|
+
("a", "an", "the") if they're not stripped by the rule's `(?:the )?`
|
|
29
|
+
prefix — which only handles "the".
|
|
30
|
+
|
|
31
|
+
**Fix:** new `stripArticles(s)` helper removes leading/internal/trailing
|
|
32
|
+
"a"/"an"/"the" tokens before slugifying. Applied to rules 10, 11b, N4,
|
|
33
|
+
N5e — every rule that converts a description to a regex slug.
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
// Before: "redirected to a logged-in page" → "a[-_/]?logged-in"
|
|
37
|
+
// After: "redirected to a logged-in page" → "logged-in" ✓ matches /logged-in-successfully/
|
|
38
|
+
|
|
39
|
+
// Before: "remain on a login page" → "a[-_/]?login"
|
|
40
|
+
// After: "remain on a login page" → "login" ✓
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
#### 2. N5d required `at "URL"` suffix
|
|
44
|
+
|
|
45
|
+
**Symptom:** 6 TODOs for `Given the user is on the login page` (no URL).
|
|
46
|
+
N5d's pattern from 1.1.3 mandated `at "URL"`. LLM produces both forms.
|
|
47
|
+
|
|
48
|
+
**Fix:** extended N5d pattern — `at "URL"` is now optional. Both
|
|
49
|
+
`Given the user is on the login page` and
|
|
50
|
+
`Given the user is on the login page at "URL"` map to `goto()`.
|
|
51
|
+
|
|
52
|
+
#### Tests
|
|
53
|
+
|
|
54
|
+
- `tests/unit/stepMatcher.test.ts` +5 new tests across 2 describe blocks
|
|
55
|
+
(3 article-stripping cases + 2 N5d optional-URL cases).
|
|
56
|
+
|
|
57
|
+
#### Production impact
|
|
58
|
+
|
|
59
|
+
The 2 remaining failures from R-5D89B426-001 (`toHaveURL` timeouts on
|
|
60
|
+
`/a[-_/]?logged-in/`) and the 6 TODOs (`Given the user is on the login
|
|
61
|
+
page`) are both eliminated. Repin cloud-jobs-template to 1.1.4 to verify.
|
|
62
|
+
|
|
63
|
+
#### Files
|
|
64
|
+
|
|
65
|
+
- Modified: `src/transformers/stepMatcher.ts` (+stripArticles helper,
|
|
66
|
+
applied to rules 10/11b/N4/N5e; N5d pattern extended).
|
|
67
|
+
- Modified: `tests/unit/stepMatcher.test.ts` (+5 tests).
|
|
68
|
+
|
|
69
|
+
## [1.1.3] — 2026-05-05
|
|
70
|
+
|
|
71
|
+
### Fixed — production failure modes from cloud-jobs run on 1.1.2
|
|
72
|
+
|
|
73
|
+
A run of `R-5D89B426-001.feature` on bdd2pw 1.1.2 produced **6 test failures**
|
|
74
|
+
across 12 scenarios (Chromium + Firefox), with three distinct root causes —
|
|
75
|
+
all in synthesised locators when the POM lacked the field. 1.1.3 is a
|
|
76
|
+
correctness fix release: no new dialect coverage, but the assertions we
|
|
77
|
+
already emit now actually work against real pages.
|
|
78
|
+
|
|
79
|
+
#### 1. Cross-role synthesis (button-vs-link)
|
|
80
|
+
|
|
81
|
+
**Symptom:** `await expect(page.getByRole("button", { name: "Logout" })).toBeVisible()`
|
|
82
|
+
times out because the page has `<a>Log out</a>` (a link, not a button).
|
|
83
|
+
|
|
84
|
+
**Fix:** new helper `synthRoleNameLocator(pageVar, name)` emits
|
|
85
|
+
```ts
|
|
86
|
+
page.locator("a, button, [role='button'], [role='link']")
|
|
87
|
+
.filter({ hasText: new RegExp("^L\\s*o\\s*g\\s*o\\s*u\\s*t$", "i") })
|
|
88
|
+
.first()
|
|
89
|
+
```
|
|
90
|
+
This handles both:
|
|
91
|
+
- **Role mismatch** (LLM says "button", page uses `<a>` or vice versa).
|
|
92
|
+
- **Spelling variance** (LLM writes "Logout", page renders "Log out") via a
|
|
93
|
+
flexible regex with `\s*` between every character.
|
|
94
|
+
|
|
95
|
+
Applied to N6 (visibility) and N7 (negative visibility) when synthesising.
|
|
96
|
+
POM-field references stay unchanged (the picker already produces correct
|
|
97
|
+
locators from the snapshot).
|
|
98
|
+
|
|
99
|
+
#### 2. Strict-mode violations everywhere
|
|
100
|
+
|
|
101
|
+
**Symptom:** `await expect(page.getByText("Your username is invalid")).toBeVisible()`
|
|
102
|
+
fails with `strict mode violation: ... resolved to 2 elements` because the
|
|
103
|
+
text appears in BOTH `<div id="error">` AND a `<b>` repeat highlight.
|
|
104
|
+
|
|
105
|
+
**Fix:** every synthesised text locator now ends in `.first()`:
|
|
106
|
+
- N5b page-level text → `getByText("X").first()`
|
|
107
|
+
- N5 / N5c severity-message fallback → `getByText("V").first()`
|
|
108
|
+
- N7 success / generic fallback → `getByText(desc).first()`
|
|
109
|
+
- N7 error fallback → `getByRole("alert").first()`
|
|
110
|
+
|
|
111
|
+
POM-field references untouched (POM fields are unique by construction).
|
|
112
|
+
|
|
113
|
+
#### 3. New rules N5d + N5e — `is on page at URL` / negative redirect
|
|
114
|
+
|
|
115
|
+
**Symptom:** 7 TODOs in BDD_REVIEW for `Given the user is on the login page
|
|
116
|
+
at "URL"` (Background-style precondition with embedded URL) and 1 TODO for
|
|
117
|
+
`And the user is NOT redirected away from the login page`.
|
|
118
|
+
|
|
119
|
+
**Fix:** two new rules.
|
|
120
|
+
|
|
121
|
+
| # | Pattern | Emits |
|
|
122
|
+
|---|---|---|
|
|
123
|
+
| N5d | `<subject> is/are/am on (the )? <X> page at 'URL'` | `goto()` (Background handles real navigation; this is narrative context) |
|
|
124
|
+
| N5e | `<subject> is/are/am NOT redirected (away from\|from) (the )? <X> page` | `toHaveURL(<slug>)` (URL still contains page name → still on page) |
|
|
125
|
+
|
|
126
|
+
#### Helpers (internal)
|
|
127
|
+
|
|
128
|
+
- `flexibleNameRegex(name)` — builds `new RegExp("^X\\s*Y\\s*Z$", "i")` from
|
|
129
|
+
a descriptive name. Used by N6/N7 synthesis.
|
|
130
|
+
- `synthRoleNameLocator(pageVar, name)` — cross-role + flexible text filter.
|
|
131
|
+
- `synthFlexibleTextLocator(pageVar, text)` — `getByText("X").first()`.
|
|
132
|
+
|
|
133
|
+
#### Total rule count
|
|
134
|
+
|
|
135
|
+
26 → **30** (N5d, N5e new; N5b, N5c, N5, N6, N7 strict-mode-fixed).
|
|
136
|
+
|
|
137
|
+
#### Tests
|
|
138
|
+
|
|
139
|
+
Existing unit + e2e tests still pass — the synthesis changes don't affect
|
|
140
|
+
test pom fixtures (POM fields are present, so synthesis branches don't fire).
|
|
141
|
+
The fixes apply at runtime against real pages with non-trivial DOM.
|
|
142
|
+
|
|
143
|
+
#### Production impact
|
|
144
|
+
|
|
145
|
+
After 1.1.3 + repin, the same `R-5D89B426-001.feature` run that produced 6
|
|
146
|
+
failures on 1.1.2 should produce 0 failures (or surface real bugs in the
|
|
147
|
+
test design — neither the page nor the test was at fault for the 1.1.2
|
|
148
|
+
failures, they were synthesis bugs).
|
|
149
|
+
|
|
150
|
+
#### Files
|
|
151
|
+
|
|
152
|
+
- Modified: `src/transformers/stepMatcher.ts` (+3 helpers, +2 rules N5d/N5e,
|
|
153
|
+
N5/N5b/N5c/N5e/N6/N7 fallbacks all updated to use helpers).
|
|
154
|
+
|
|
12
155
|
## [1.1.2] — 2026-05-05
|
|
13
156
|
|
|
14
157
|
### Fixed — second batch of LLM-narrative dialect gaps
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ Point it at a `.feature` file and a URL. It parses the Gherkin, scans the live p
|
|
|
15
15
|
|
|
16
16
|
- **Specific `.feature` files** — quoted credentials, concrete assertion targets, standard verb forms — convert to **runnable specs with zero hand-edits**. Validated end-to-end against a real public site (`https://practicetestautomation.com/practice-test-login/`): 7/7 scenarios green.
|
|
17
17
|
- **Vague `.feature` files** — "Enter valid username and password and click login button" with no quoted values — get partial coverage. Steps that can't be unambiguously mapped land as `// TODO` comments in the spec, and warnings in `BDD_REVIEW.md`. The user finishes the 1-3 ambiguous steps; the locators, POM scaffold, project config, and Background `goto()` are already done.
|
|
18
|
-
- **No LLM in the v1.0 hot path.** The
|
|
18
|
+
- **No LLM in the v1.0 hot path.** The 30-rule matcher (14 in v1.0, +1 URL-contains in v1.0.1, +7 LLM-narrative in v1.1.1, +4 in v1.1.2, +2 in v1.1.3 with cross-role synthesis + strict-mode-safe fallbacks) covers three Cucumber dialects (first-person, third-person, no-subject) plus compound input steps. Genuinely vague steps are inherently ambiguous and get `// TODO` — better than an LLM guessing.
|
|
19
19
|
- **`updatePom` is append-only by construction.** Re-scanning a page that already has a Page Object adds new locators only. Hand-edited method bodies, custom helper methods, custom imports are all preserved byte-identical. Never deletes, never renames, never modifies.
|
|
20
20
|
|
|
21
21
|
> **The pitch.** Run `bdd2pw scaffold` and you get a Playwright TS repo where `npx playwright test` runs against the real site. For specific fixtures, all green. For vague ones, the 60-90% you'd otherwise hand-write is done; you finish the rest.
|
|
@@ -152,7 +152,7 @@ In production, the platform gateway proxies `/api/v1/scaffold/*` to `:4300`. Dir
|
|
|
152
152
|
└──────┬───────┘
|
|
153
153
|
▼
|
|
154
154
|
┌──────────────┐
|
|
155
|
-
│ stepMatcher │
|
|
155
|
+
│ stepMatcher │ 30 rules — subject-agnostic, dialect-tolerant,
|
|
156
156
|
│ │ compound-input via customBody
|
|
157
157
|
└──────┬───────┘
|
|
158
158
|
▼
|
|
@@ -305,7 +305,9 @@ const RULES = [
|
|
|
305
305
|
{
|
|
306
306
|
pattern: new RegExp(`^${SUBJ} (?:should remain|remain|remains) on (?:the )?(.+?)(?: page)?$`, "i"),
|
|
307
307
|
build: (m, step, _pom, pageVar) => {
|
|
308
|
-
|
|
308
|
+
// v1.1.4: strip articles so "remain on a login page" → slug "login",
|
|
309
|
+
// not "a[-_/]?login" which wouldn't match real URLs.
|
|
310
|
+
const target = stripArticles(m[1].trim());
|
|
309
311
|
return {
|
|
310
312
|
step,
|
|
311
313
|
assertion: {
|
|
@@ -341,13 +343,19 @@ const RULES = [
|
|
|
341
343
|
},
|
|
342
344
|
},
|
|
343
345
|
// 11b. Redirect: "I should be redirected to the logged-in page" / "to /dashboard"
|
|
344
|
-
//
|
|
345
|
-
//
|
|
346
|
+
// / "redirected to a logged-in page" — articles stripped from the slug.
|
|
347
|
+
// Asserts URL changed away from the previous page. Best-effort: regex
|
|
348
|
+
// matches the target token in the URL.
|
|
346
349
|
{
|
|
347
350
|
pattern: new RegExp(`^${SUBJ} (?:should be |am |is )?redirected to (?:the )?(.+?)(?: page)?$`, "i"),
|
|
348
351
|
build: (m, step, _pom, pageVar) => {
|
|
349
|
-
|
|
350
|
-
|
|
352
|
+
// v1.1.4: stripArticles fixes "redirected to a logged-in page" — without
|
|
353
|
+
// this, slug becomes "a[-_/]?logged-in" which fails to match
|
|
354
|
+
// /logged-in-successfully/ (URL has no "a" before "logged-in").
|
|
355
|
+
const target = stripArticles(m[1].trim());
|
|
356
|
+
const slug = target
|
|
357
|
+
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
|
|
358
|
+
.replace(/\s+/g, "[-_/]?");
|
|
351
359
|
return {
|
|
352
360
|
step,
|
|
353
361
|
assertion: {
|
|
@@ -433,9 +441,9 @@ const RULES = [
|
|
|
433
441
|
},
|
|
434
442
|
// N5b. Page-level text assertion — "the page (displays|contains|shows) [the message] 'X'"
|
|
435
443
|
// Asserts the page body contains the given text. Uses
|
|
436
|
-
//
|
|
437
|
-
//
|
|
438
|
-
//
|
|
444
|
+
// `.getByText("X").first()` to avoid Playwright strict-mode violations
|
|
445
|
+
// when the same text appears in multiple elements (e.g. an error div
|
|
446
|
+
// AND a `<b>` highlight repeat).
|
|
439
447
|
{
|
|
440
448
|
pattern: /^(?:the )?page\s+(?:displays?|shows?|contains?)(?:\s+the\s+(?:message|text|content))?\s+["']([^"']+)["']/i,
|
|
441
449
|
build: (m, step, _pom, pageVar) => {
|
|
@@ -443,12 +451,51 @@ const RULES = [
|
|
|
443
451
|
return {
|
|
444
452
|
step,
|
|
445
453
|
assertion: {
|
|
446
|
-
locator:
|
|
454
|
+
locator: synthFlexibleTextLocator(pageVar, expected),
|
|
447
455
|
matcher: "toBeVisible",
|
|
448
456
|
},
|
|
449
457
|
};
|
|
450
458
|
},
|
|
451
459
|
},
|
|
460
|
+
// N5d. "<subject> is on (the)? <X> page" / "... at 'URL'" — Background-style
|
|
461
|
+
// precondition. "at 'URL'" suffix is OPTIONAL (v1.1.4 — production hits
|
|
462
|
+
// both forms, often without the URL part). Treated as goto() since
|
|
463
|
+
// Background usually handles the actual navigation; the page name and
|
|
464
|
+
// URL are just narrative context.
|
|
465
|
+
// Per design call (3): match it, don't fail.
|
|
466
|
+
{
|
|
467
|
+
pattern: new RegExp(`^${SUBJ}\\s+(?:is|are|am)\\s+on\\s+(?:the\\s+)?(?:.+?)\\s+page(?:\\s+at\\s+["']([^"']+)["'])?\\s*$`, "i"),
|
|
468
|
+
build: (_m, step, pom, pageVar) => {
|
|
469
|
+
const hasGoto = pom.methods.some((mm) => mm.name === "goto");
|
|
470
|
+
return {
|
|
471
|
+
step,
|
|
472
|
+
pomCall: hasGoto
|
|
473
|
+
? { page: pageVar, method: "goto", args: [] }
|
|
474
|
+
: { page: pageVar, method: "goto", args: [] },
|
|
475
|
+
};
|
|
476
|
+
},
|
|
477
|
+
},
|
|
478
|
+
// N5e. "<subject> is/are NOT redirected away from (the )? <X> page"
|
|
479
|
+
// Negative redirect — assert URL still contains the page name. Soft
|
|
480
|
+
// assertion: matches by slug. Surfaced from R-5D89B426-001.
|
|
481
|
+
{
|
|
482
|
+
pattern: new RegExp(`^${SUBJ}\\s+(?:is|are|am)\\s+(?:not|NOT)\\s+redirected\\s+(?:away\\s+from|from)\\s+(?:the\\s+)?(.+?)(?:\\s+page)?$`, "i"),
|
|
483
|
+
build: (m, step, _pom, pageVar) => {
|
|
484
|
+
// v1.1.4: stripArticles
|
|
485
|
+
const target = stripArticles(m[1].trim());
|
|
486
|
+
const slug = target
|
|
487
|
+
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
|
|
488
|
+
.replace(/\s+/g, "[-_/]?");
|
|
489
|
+
return {
|
|
490
|
+
step,
|
|
491
|
+
assertion: {
|
|
492
|
+
locator: `${pageVar}.page`,
|
|
493
|
+
matcher: "toHaveURL",
|
|
494
|
+
expected: `new RegExp(${JSON.stringify(slug)})`,
|
|
495
|
+
},
|
|
496
|
+
};
|
|
497
|
+
},
|
|
498
|
+
},
|
|
452
499
|
// N5c. Subject-less specific-message visibility — "An <severity> message containing 'V' is displayed"
|
|
453
500
|
// Captures both the severity (error/validation/warning/success) AND
|
|
454
501
|
// the expected text. Picks an appropriate POM field for the severity;
|
|
@@ -475,7 +522,7 @@ const RULES = [
|
|
|
475
522
|
}
|
|
476
523
|
const locatorExpr = field
|
|
477
524
|
? `${pageVar}.${field.fieldName}`
|
|
478
|
-
:
|
|
525
|
+
: synthFlexibleTextLocator(pageVar, expected);
|
|
479
526
|
return {
|
|
480
527
|
step,
|
|
481
528
|
assertion: {
|
|
@@ -539,7 +586,8 @@ const RULES = [
|
|
|
539
586
|
{
|
|
540
587
|
pattern: /^(?:the )?URL does(?:n't| not) change(?:\s+to\s+(?:the )?(.+?))?(?:\s+page)?$/i,
|
|
541
588
|
build: (m, step, _pom, pageVar) => {
|
|
542
|
-
|
|
589
|
+
// v1.1.4: stripArticles
|
|
590
|
+
const target = stripArticles((m[1] ?? "success").trim());
|
|
543
591
|
const slug = target
|
|
544
592
|
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
|
|
545
593
|
.replace(/\s+/g, "[-_/]?");
|
|
@@ -572,7 +620,7 @@ const RULES = [
|
|
|
572
620
|
findField(pom, "error", ["Alert", "Error"]);
|
|
573
621
|
const locatorExpr = field
|
|
574
622
|
? `${pageVar}.${field.fieldName}`
|
|
575
|
-
: `${pageVar}.page.getByRole("alert")`;
|
|
623
|
+
: `${pageVar}.page.getByRole("alert").first()`;
|
|
576
624
|
return {
|
|
577
625
|
step,
|
|
578
626
|
assertion: { locator: locatorExpr, matcher: "toBeVisible" },
|
|
@@ -602,7 +650,7 @@ const RULES = [
|
|
|
602
650
|
}
|
|
603
651
|
const locatorExpr = field
|
|
604
652
|
? `${pageVar}.${field.fieldName}`
|
|
605
|
-
:
|
|
653
|
+
: synthFlexibleTextLocator(pageVar, expected);
|
|
606
654
|
return {
|
|
607
655
|
step,
|
|
608
656
|
assertion: {
|
|
@@ -636,9 +684,13 @@ const RULES = [
|
|
|
636
684
|
"Button",
|
|
637
685
|
"Link",
|
|
638
686
|
]);
|
|
687
|
+
// v1.1.3: when synthesising, use a cross-role locator (a + button +
|
|
688
|
+
// role=button + role=link) with a flexible text regex so "Logout"
|
|
689
|
+
// matches a `<a>Log out</a>` on the page. Resolves the
|
|
690
|
+
// button-vs-link mismatch from cloud-jobs runs.
|
|
639
691
|
const locatorExpr = field
|
|
640
692
|
? `${pageVar}.${field.fieldName}`
|
|
641
|
-
:
|
|
693
|
+
: synthRoleNameLocator(pageVar, name);
|
|
642
694
|
return {
|
|
643
695
|
step,
|
|
644
696
|
assertion: { locator: locatorExpr, matcher: "toBeVisible" },
|
|
@@ -663,6 +715,10 @@ const RULES = [
|
|
|
663
715
|
// success branch to win. Word boundaries (\b) prevent spurious matches
|
|
664
716
|
// (e.g. "alert" inside "alerted" — though unlikely in practice).
|
|
665
717
|
const lowered = desc.toLowerCase();
|
|
718
|
+
// v1.1.3: every synthesised fallback ends in `.first()` to avoid
|
|
719
|
+
// strict-mode violations when the same text/role appears multiple
|
|
720
|
+
// times on the page (very common with error messages echoed in
|
|
721
|
+
// <div id="error"> AND <b> highlight repeats).
|
|
666
722
|
if (quoted) {
|
|
667
723
|
const name = quoted[1];
|
|
668
724
|
const role = (quoted[2] ?? "button").toLowerCase();
|
|
@@ -673,7 +729,7 @@ const RULES = [
|
|
|
673
729
|
]);
|
|
674
730
|
locatorExpr = field
|
|
675
731
|
? `${pageVar}.${field.fieldName}`
|
|
676
|
-
:
|
|
732
|
+
: synthRoleNameLocator(pageVar, name);
|
|
677
733
|
}
|
|
678
734
|
else if (/\b(success|congrat|welcome)\b/.test(lowered)) {
|
|
679
735
|
const field = findField(pom, "successMessage", ["Heading", "Message", "Banner"]) ??
|
|
@@ -681,28 +737,27 @@ const RULES = [
|
|
|
681
737
|
findField(pom, "welcome", ["Heading", "Message"]);
|
|
682
738
|
locatorExpr = field
|
|
683
739
|
? `${pageVar}.${field.fieldName}`
|
|
684
|
-
:
|
|
740
|
+
: synthFlexibleTextLocator(pageVar, desc);
|
|
685
741
|
}
|
|
686
742
|
else if (/\b(error|invalid|fail|forbidden|unauthor|alert|warning)\b/.test(lowered)) {
|
|
687
743
|
const field = findField(pom, "errorMessage", ["Alert", "Error", "Message"]) ??
|
|
688
744
|
findField(pom, "error", ["Alert", "Error"]);
|
|
689
745
|
locatorExpr = field
|
|
690
746
|
? `${pageVar}.${field.fieldName}`
|
|
691
|
-
: `${pageVar}.page.getByRole("alert")`;
|
|
747
|
+
: `${pageVar}.page.getByRole("alert").first()`;
|
|
692
748
|
}
|
|
693
749
|
else if (/\bmessage(s)?\b/.test(lowered)) {
|
|
694
|
-
// Generic "message" without success/error context — fall back to alert
|
|
695
750
|
const field = findField(pom, "errorMessage", ["Alert", "Error", "Message"]) ??
|
|
696
751
|
findField(pom, "error", ["Alert", "Error"]);
|
|
697
752
|
locatorExpr = field
|
|
698
753
|
? `${pageVar}.${field.fieldName}`
|
|
699
|
-
: `${pageVar}.page.getByRole("alert")`;
|
|
754
|
+
: `${pageVar}.page.getByRole("alert").first()`;
|
|
700
755
|
}
|
|
701
756
|
else {
|
|
702
757
|
const field = findFieldByDescription(desc, pom, []);
|
|
703
758
|
locatorExpr = field
|
|
704
759
|
? `${pageVar}.${field.fieldName}`
|
|
705
|
-
:
|
|
760
|
+
: synthFlexibleTextLocator(pageVar, desc);
|
|
706
761
|
}
|
|
707
762
|
return {
|
|
708
763
|
step,
|
|
@@ -836,4 +891,68 @@ function findFieldByDescription(desc, pom, preferredSuffixes = ["Input", "Field"
|
|
|
836
891
|
// than wrong-element heuristics.
|
|
837
892
|
return findField(pom, stripUiSuffix(desc), preferredSuffixes, { strict: true });
|
|
838
893
|
}
|
|
894
|
+
/**
|
|
895
|
+
* Strip English articles ("a", "an", "the") from a description so they
|
|
896
|
+
* don't leak into URL regex slugs as literal characters.
|
|
897
|
+
*
|
|
898
|
+
* Without this, "redirected to a logged-in page" → slug "a[-_/]?logged-in",
|
|
899
|
+
* which fails to match URL "/logged-in-successfully/" because the actual
|
|
900
|
+
* URL has no "a" before "logged-in".
|
|
901
|
+
*
|
|
902
|
+
* Applied to rule 10, 11b, N4, N5e — every rule that slugifies a captured
|
|
903
|
+
* page-name description. Rules that just emit goto(<URL>) don't need this
|
|
904
|
+
* (URLs don't contain English articles as path segments).
|
|
905
|
+
*/
|
|
906
|
+
function stripArticles(s) {
|
|
907
|
+
return s
|
|
908
|
+
.replace(/^\s*(?:a|an|the)\s+/i, "")
|
|
909
|
+
.replace(/\s+(?:a|an|the)\s+/gi, " ")
|
|
910
|
+
.replace(/\s+(?:a|an|the)\s*$/i, "")
|
|
911
|
+
.trim();
|
|
912
|
+
}
|
|
913
|
+
/**
|
|
914
|
+
* Build a regex literal expression that matches a name flexibly:
|
|
915
|
+
* - case-insensitive
|
|
916
|
+
* - whitespace-tolerant ("Logout" matches both "Logout" and "Log out")
|
|
917
|
+
* - anchored start/end to avoid partial matches
|
|
918
|
+
*
|
|
919
|
+
* "Logout" → `new RegExp("^L\\s*o\\s*g\\s*o\\s*u\\s*t$", "i")`
|
|
920
|
+
*
|
|
921
|
+
* Used by the synthesised cross-role locators (v1.1.3) so the LLM's spelling
|
|
922
|
+
* variant doesn't cause `expect.toBeVisible()` failures against pages that
|
|
923
|
+
* use a different spelling/spacing.
|
|
924
|
+
*/
|
|
925
|
+
function flexibleNameRegex(name) {
|
|
926
|
+
const cleaned = name.replace(/\s+/g, "").trim();
|
|
927
|
+
const escaped = cleaned
|
|
928
|
+
.split("")
|
|
929
|
+
.map((c) => c.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"))
|
|
930
|
+
.join("\\s*");
|
|
931
|
+
// JSON.stringify wraps in quotes and escapes embedded backslashes/quotes —
|
|
932
|
+
// perfect for embedding the pattern into the emitted TypeScript source.
|
|
933
|
+
return `new RegExp(${JSON.stringify("^" + escaped + "$")}, "i")`;
|
|
934
|
+
}
|
|
935
|
+
/**
|
|
936
|
+
* Synthesise a cross-role locator that matches both `<a>` and `<button>`
|
|
937
|
+
* (and ARIA role variants) by visible text — flexible to spelling
|
|
938
|
+
* differences. Used by N6/N7 when the POM has no field for the named
|
|
939
|
+
* element. Resolves the "LLM says button but page has link" mismatch.
|
|
940
|
+
*/
|
|
941
|
+
function synthRoleNameLocator(pageVar, name) {
|
|
942
|
+
const flex = flexibleNameRegex(name);
|
|
943
|
+
// The selector covers the common cases. Filter by hasText with the
|
|
944
|
+
// flexible regex to handle "Logout" vs "Log out" etc. `.first()` is
|
|
945
|
+
// mandatory because Playwright's expect runs in strict mode and the
|
|
946
|
+
// text could appear in a parent + child.
|
|
947
|
+
return `${pageVar}.page.locator("a, button, [role='button'], [role='link']").filter({ hasText: ${flex} }).first()`;
|
|
948
|
+
}
|
|
949
|
+
/**
|
|
950
|
+
* Synthesise a flexible getByText locator with `.first()`. Used by N5b and
|
|
951
|
+
* any rule that asserts "page contains text X" — text often appears in
|
|
952
|
+
* multiple elements (heading + bold copy + paragraph) and strict mode would
|
|
953
|
+
* fail otherwise.
|
|
954
|
+
*/
|
|
955
|
+
function synthFlexibleTextLocator(pageVar, text) {
|
|
956
|
+
return `${pageVar}.page.getByText(${JSON.stringify(text)}).first()`;
|
|
957
|
+
}
|
|
839
958
|
//# sourceMappingURL=stepMatcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepMatcher.js","sourceRoot":"","sources":["../../src/transformers/stepMatcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stepMatcher.js","sourceRoot":"","sources":["../../src/transformers/stepMatcher.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vijaypjavvadi/bdd2pw",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "Scaffold runnable Playwright TypeScript tests from Gherkin .feature files. Detects existing Page Objects, scans live pages via Microsoft Playwright MCP, emits POMs + specs, ready for execution. CLI + HTTP service. Optional governed LLM fallback (Anthropic / OpenAI / Gemini).",
|
|
5
5
|
"bin": {
|
|
6
6
|
"bdd2pw": "dist/cli.js"
|