@smartbit4all/playwright-qa 0.2.3 → 0.2.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/steps/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAqDtD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAczG;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBzG;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnG"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/steps/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AA2DtD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAczG;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBzG;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnG"}
@@ -13,11 +13,17 @@ function getPage(container) {
13
13
  /**
14
14
  * Resolves a menu item (leaf action or submenu trigger) inside an already-open panel by action code
15
15
  * first, then visible title — across all three menu implementations (Custom, Material, PrimeNG).
16
+ *
17
+ * `ui-action-button` exposes the bare action code as `data-testid` and the identifier-qualified code
18
+ * (`{code}_{identifier}`) as `data-testid2`, so both forms resolve the same item.
19
+ *
20
+ * Matches are restricted to `:visible` — see `findButton` in `locators.ts` for why (duplicate
21
+ * hidden copies of the same element would otherwise let `.first()` pick the wrong one).
16
22
  */
17
23
  function resolveMenuItem(scope, text) {
18
- return scope.locator(`button[data-testid="${text}"], button:has-text("${text}"), ` +
19
- `[data-testid="${text}"], [data-automationid="${text}"], ` +
20
- `.p-menuitem-link:has-text("${text}"), .p-menuitem-content:has-text("${text}")`).first();
24
+ return scope.locator(`button[data-testid="${text}"]:visible, button[data-testid2="${text}"]:visible, button:visible:has-text("${text}"), ` +
25
+ `[data-testid="${text}"]:visible, [data-testid2="${text}"]:visible, [data-automationid="${text}"]:visible, ` +
26
+ `.p-menuitem-link:visible:has-text("${text}"), .p-menuitem-content:visible:has-text("${text}")`).first();
21
27
  }
22
28
  /** Waits until the number of panels matching `selector` exceeds `baseline`. False on timeout. */
23
29
  async function waitForPanelCountAbove(page, selector, baseline, timeout) {
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/steps/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/steps/actions.ts"],"names":[],"mappings":"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"}
@@ -79,8 +79,12 @@ export type FieldValue = string | boolean | string[] | Record<string, boolean>;
79
79
  * Non-throwing presence probe for a form field. Returns true if a widget can be located
80
80
  * by either data-testid or label, false otherwise. Use this when iterating datapool fields
81
81
  * to skip-with-warn instead of failing when a key has no corresponding UI widget.
82
+ *
83
+ * By default only counts visible widgets (consistent with the other form helpers, which can't
84
+ * act on a hidden one anyway). Pass `visible: false` to probe for the field's presence in the
85
+ * DOM regardless of visibility.
82
86
  */
83
- export declare function hasField(container: Locator | Page, identifier: string): Promise<boolean>;
87
+ export declare function hasField(container: Locator | Page, identifier: string, visible?: boolean): Promise<boolean>;
84
88
  /**
85
89
  * Sets a form field by widget detection — no need to call the type-specific utility.
86
90
  * The widget type is detected from the value's TypeScript type plus the DOM tags inside the widget.
@@ -1 +1 @@
1
- {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/steps/forms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/steps/forms.ts"],"names":[],"mappings":"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"}
@@ -22,14 +22,15 @@ exports.setFields = setFields;
22
22
  * If identifier matches a data-testid on a widget container or radio group, uses that.
23
23
  * Otherwise falls back to label text matching.
24
24
  */
25
- function widgetByLabel(container, label) {
25
+ function widgetByLabel(container, label, visible = true) {
26
26
  const page = getPage(container);
27
+ const v = visible ? ':visible' : '';
27
28
  // First try: smartbit4all widget with .smart-form-widget-label class
28
- const bySmartLabel = container.locator('.widgetContainer', {
29
+ const bySmartLabel = container.locator(`.widgetContainer${v}`, {
29
30
  has: page.locator(`.smart-form-widget-label:has-text("${label}")`),
30
31
  }).first();
31
32
  // Fallback: generic form field with h4/label
32
- const byGenericLabel = container.locator('.widgetContainer, .form-field, .mat-mdc-form-field', {
33
+ const byGenericLabel = container.locator(`.widgetContainer${v}, .form-field${v}, .mat-mdc-form-field${v}`, {
33
34
  has: page.locator(`h4:has-text("${label}"), label:has-text("${label}")`),
34
35
  }).first();
35
36
  return bySmartLabel.or(byGenericLabel).first();
@@ -40,24 +41,24 @@ function widgetByLabel(container, label) {
40
41
  */
41
42
  async function resolveInput(container, identifier) {
42
43
  const page = getPage(container);
43
- const inputSelector = 'input:not([type=radio]):not([type=checkbox]):not([type=hidden]), textarea';
44
+ const inputSelector = 'input:visible:not([type=radio]):not([type=checkbox]):not([type=hidden]), textarea:visible';
44
45
  // Strategy 1: data-testid on the input itself
45
- const byTestId = container.locator(`input[data-testid="${identifier}"], textarea[data-testid="${identifier}"]`).first();
46
+ const byTestId = container.locator(`input[data-testid="${identifier}"]:visible, textarea[data-testid="${identifier}"]:visible`).first();
46
47
  if (await byTestId.count() > 0)
47
48
  return byTestId;
48
49
  // Strategy 2: smartform widget with .smart-form-widget-label
49
- const bySmartLabel = container.locator('.widgetContainer', {
50
+ const bySmartLabel = container.locator('.widgetContainer:visible', {
50
51
  has: page.locator(`.smart-form-widget-label:has-text("${identifier}")`),
51
52
  }).first().locator(inputSelector).first();
52
53
  if (await bySmartLabel.count() > 0)
53
54
  return bySmartLabel;
54
55
  // Strategy 3: aria-label on the input
55
- const byAriaLabel = container.locator(`input[aria-label*="${identifier}"], textarea[aria-label*="${identifier}"]`).first();
56
+ const byAriaLabel = container.locator(`input[aria-label*="${identifier}"]:visible, textarea[aria-label*="${identifier}"]:visible`).first();
56
57
  if (await byAriaLabel.count() > 0)
57
58
  return byAriaLabel;
58
59
  // Strategy 4: heading sibling containing the input
59
- const byHeading = container.locator(`h3:has-text("${identifier}"), h4:has-text("${identifier}")`).first()
60
- .locator('~ smartform, ~ div, ~ mat-form-field').first()
60
+ const byHeading = container.locator(`h3:visible:has-text("${identifier}"), h4:visible:has-text("${identifier}")`).first()
61
+ .locator('~ smartform:visible, ~ div:visible, ~ mat-form-field:visible').first()
61
62
  .locator(inputSelector).first();
62
63
  return byHeading;
63
64
  }
@@ -67,13 +68,13 @@ async function resolveInput(container, identifier) {
67
68
  */
68
69
  async function findChipContainerAndInput(container, identifier) {
69
70
  // Material: data-testid on input, mat-chip-grid as ancestor
70
- const matInput = container.locator(`input[data-testid="${identifier}"]`).first();
71
+ const matInput = container.locator(`input[data-testid="${identifier}"]:visible`).first();
71
72
  const matChipGrid = matInput.locator('xpath=ancestor::mat-chip-grid');
72
73
  if (await matChipGrid.count() > 0) {
73
74
  return { chipContainer: matChipGrid, input: matInput, isPrime: false };
74
75
  }
75
76
  // PrimeNG: data-testid on p-chips wrapper
76
- const primeChips = container.locator(`p-chips[data-testid="${identifier}"]`).first();
77
+ const primeChips = container.locator(`p-chips[data-testid="${identifier}"]:visible`).first();
77
78
  if (await primeChips.count() > 0) {
78
79
  return { chipContainer: primeChips, input: primeChips.locator('input').first(), isPrime: true };
79
80
  }
@@ -154,14 +155,14 @@ async function fillDateTime(container, identifier, date, time) {
154
155
  async function selectOption(container, identifier, optionText) {
155
156
  const page = getPage(container);
156
157
  // Try data-testid first
157
- const byTestId = container.locator(`mat-select[data-testid="${identifier}"], p-dropdown[data-testid="${identifier}"]`).first();
158
+ const byTestId = container.locator(`mat-select[data-testid="${identifier}"]:visible, p-dropdown[data-testid="${identifier}"]:visible`).first();
158
159
  const widget = widgetByLabel(container, identifier);
159
160
  const byWidget = widget.locator('mat-select, p-dropdown').first();
160
161
  const target = byTestId.or(byWidget).first();
161
162
  await target.click();
162
163
  // mat-option and p-dropdown-item render in overlay (body level)
163
- const matOption = page.locator('mat-option', { hasText: optionText });
164
- const primeOption = page.locator('.p-dropdown-item', { hasText: optionText });
164
+ const matOption = page.locator('mat-option:visible', { hasText: optionText });
165
+ const primeOption = page.locator('.p-dropdown-item:visible', { hasText: optionText });
165
166
  await matOption.or(primeOption).first().click();
166
167
  }
167
168
  /**
@@ -171,14 +172,14 @@ async function selectOption(container, identifier, optionText) {
171
172
  async function selectMultiple(container, identifier, options) {
172
173
  const page = getPage(container);
173
174
  // Try data-testid first
174
- const byTestId = container.locator(`mat-select[data-testid="${identifier}"], p-multiSelect[data-testid="${identifier}"]`).first();
175
+ const byTestId = container.locator(`mat-select[data-testid="${identifier}"]:visible, p-multiSelect[data-testid="${identifier}"]:visible`).first();
175
176
  const widget = widgetByLabel(container, identifier);
176
177
  const byWidget = widget.locator('mat-select, p-multiSelect').first();
177
178
  const target = byTestId.or(byWidget).first();
178
179
  await target.click();
179
180
  for (const optionText of options) {
180
- const matOption = page.locator('mat-option', { hasText: optionText });
181
- const primeOption = page.locator('.p-multiselect-item', { hasText: optionText });
181
+ const matOption = page.locator('mat-option:visible', { hasText: optionText });
182
+ const primeOption = page.locator('.p-multiselect-item:visible', { hasText: optionText });
182
183
  await matOption.or(primeOption).first().click();
183
184
  }
184
185
  // Close the dropdown
@@ -189,7 +190,7 @@ async function selectMultiple(container, identifier, options) {
189
190
  */
190
191
  async function selectRadio(container, identifier, value) {
191
192
  // Try data-testid on mat-radio-group / p-radiobutton parent
192
- const byTestId = container.locator(`mat-radio-group[data-testid="${identifier}"]`).first();
193
+ const byTestId = container.locator(`mat-radio-group[data-testid="${identifier}"]:visible`).first();
193
194
  const widget = widgetByLabel(container, identifier);
194
195
  // Angular Material
195
196
  const matRadioInTestId = byTestId.locator('mat-radio-button', { hasText: value });
@@ -212,7 +213,7 @@ async function selectRadio(container, identifier, value) {
212
213
  async function setCheckbox(container, identifier, checked) {
213
214
  const widget = widgetByLabel(container, identifier);
214
215
  // Try data-testid first
215
- const byTestId = container.locator(`mat-checkbox[data-testid="${identifier}"], p-checkbox[data-testid="${identifier}"]`).first();
216
+ const byTestId = container.locator(`mat-checkbox[data-testid="${identifier}"]:visible, p-checkbox[data-testid="${identifier}"]:visible`).first();
216
217
  const byWidget = widget.locator('mat-checkbox, p-checkbox').first();
217
218
  const target = byTestId.or(byWidget).first();
218
219
  const input = target.locator('input');
@@ -229,7 +230,7 @@ async function setCheckbox(container, identifier, checked) {
229
230
  */
230
231
  async function setCheckboxGroup(container, identifier, selections) {
231
232
  // Try data-testid on wrapper div
232
- const byTestId = container.locator(`div[data-testid="${identifier}"], .widgetContainer[data-testid="${identifier}"]`).first();
233
+ const byTestId = container.locator(`div[data-testid="${identifier}"]:visible, .widgetContainer[data-testid="${identifier}"]:visible`).first();
233
234
  const widget = widgetByLabel(container, identifier);
234
235
  const group = byTestId.or(widget).first();
235
236
  for (const [label, desired] of Object.entries(selections)) {
@@ -252,7 +253,7 @@ async function setCheckboxGroup(container, identifier, selections) {
252
253
  async function setToggle(container, identifier, on) {
253
254
  const widget = widgetByLabel(container, identifier);
254
255
  // Try data-testid first
255
- const byTestId = container.locator(`mat-slide-toggle[data-testid="${identifier}"], p-inputSwitch[data-testid="${identifier}"]`).first();
256
+ const byTestId = container.locator(`mat-slide-toggle[data-testid="${identifier}"]:visible, p-inputSwitch[data-testid="${identifier}"]:visible`).first();
256
257
  const byWidget = widget.locator('mat-slide-toggle, p-inputSwitch').first();
257
258
  const target = byTestId.or(byWidget).first();
258
259
  const input = target.locator('input');
@@ -331,11 +332,11 @@ async function setChips(container, identifier, values) {
331
332
  */
332
333
  function accordionHeaderByLabel(container, identifier) {
333
334
  // PrimeNG: data-testid sits on p-accordionTab, header is .p-accordion-header inside it
334
- const primeByTestId = container.locator(`p-accordionTab[data-testid="${identifier}"] .p-accordion-header`).first();
335
- const primeByText = container.locator('.p-accordion-header', { hasText: identifier }).first();
335
+ const primeByTestId = container.locator(`p-accordionTab[data-testid="${identifier}"] .p-accordion-header:visible`).first();
336
+ const primeByText = container.locator('.p-accordion-header:visible', { hasText: identifier }).first();
336
337
  // Material: data-testid sits on mat-expansion-panel, header is mat-expansion-panel-header inside it
337
- const matByTestId = container.locator(`mat-expansion-panel[data-testid="${identifier}"] mat-expansion-panel-header`).first();
338
- const matByText = container.locator('mat-expansion-panel-header', { hasText: identifier }).first();
338
+ const matByTestId = container.locator(`mat-expansion-panel[data-testid="${identifier}"] mat-expansion-panel-header:visible`).first();
339
+ const matByText = container.locator('mat-expansion-panel-header:visible', { hasText: identifier }).first();
339
340
  return primeByTestId.or(matByTestId).or(primeByText).or(matByText).first();
340
341
  }
341
342
  /**
@@ -378,7 +379,7 @@ async function toggleAccordion(container, identifier, open) {
378
379
  */
379
380
  async function uploadFile(container, identifier, filePath) {
380
381
  // Try data-testid on smart-file-editor
381
- const byTestId = container.locator(`smart-file-editor[data-testid="${identifier}"]`).first();
382
+ const byTestId = container.locator(`smart-file-editor[data-testid="${identifier}"]:visible`).first();
382
383
  const widget = widgetByLabel(container, identifier);
383
384
  const byWidget = widget.locator('smart-file-editor').first();
384
385
  const editor = byTestId.or(byWidget).first();
@@ -386,7 +387,7 @@ async function uploadFile(container, identifier, filePath) {
386
387
  await fileInput.setInputFiles(filePath);
387
388
  }
388
389
  async function findWidget(container, identifier) {
389
- const byTestId = container.locator(`[data-testid="${identifier}"]`).first();
390
+ const byTestId = container.locator(`[data-testid="${identifier}"]:visible`).first();
390
391
  if (await byTestId.count() > 0)
391
392
  return byTestId;
392
393
  return widgetByLabel(container, identifier);
@@ -395,12 +396,17 @@ async function findWidget(container, identifier) {
395
396
  * Non-throwing presence probe for a form field. Returns true if a widget can be located
396
397
  * by either data-testid or label, false otherwise. Use this when iterating datapool fields
397
398
  * to skip-with-warn instead of failing when a key has no corresponding UI widget.
399
+ *
400
+ * By default only counts visible widgets (consistent with the other form helpers, which can't
401
+ * act on a hidden one anyway). Pass `visible: false` to probe for the field's presence in the
402
+ * DOM regardless of visibility.
398
403
  */
399
- async function hasField(container, identifier) {
400
- const byTestId = container.locator(`[data-testid="${identifier}"]`).first();
404
+ async function hasField(container, identifier, visible = true) {
405
+ const v = visible ? ':visible' : '';
406
+ const byTestId = container.locator(`[data-testid="${identifier}"]${v}`).first();
401
407
  if (await byTestId.count() > 0)
402
408
  return true;
403
- const widget = widgetByLabel(container, identifier);
409
+ const widget = widgetByLabel(container, identifier, visible);
404
410
  return (await widget.count()) > 0;
405
411
  }
406
412
  async function widgetMatchesOrContains(widget, selectors) {
@@ -1 +1 @@
1
- {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/steps/forms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/steps/forms.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,18 @@
1
1
  import type { Locator, Page } from '@playwright/test';
2
2
  /**
3
- * Finds a button by data-testid first, falling back to visible text.
3
+ * Finds a button by data-testid / data-testid2 first, falling back to visible text.
4
4
  * Works with both data-testid values and button labels for backward compatibility.
5
+ *
6
+ * `ui-action-button` renders the bare action code as `data-testid` and the code combined with the
7
+ * instance identifier (`{code}_{identifier}`) as `data-testid2`, so the same button is addressable
8
+ * by either the shared code or the identifier-qualified one.
9
+ *
10
+ * By default matches are restricted to `:visible`, because some layouts (e.g. a `mat-drawer`
11
+ * responsive toolbar) render the same button twice — once in a hidden/off-canvas copy and once
12
+ * in the visible one — and `.first()` would otherwise non-deterministically pick the wrong
13
+ * instance. Pass `visible: false` for callers that intentionally target a hidden button.
5
14
  */
6
- export declare function findButton(container: Locator | Page, text: string): Locator;
15
+ export declare function findButton(container: Locator | Page, text: string, visible?: boolean): Locator;
7
16
  /**
8
17
  * Finds the currently visible popup menu panel.
9
18
  *
@@ -19,16 +28,22 @@ export declare const POPUP_PANEL_SELECTOR = ".sb4-menu-panel, .mat-mdc-menu-pane
19
28
  export declare const CUSTOM_PANEL_SELECTOR = ".sb4-menu-panel";
20
29
  export declare function findPopupMenu(page: Page): Locator;
21
30
  /**
22
- * Finds a menu item by data-testid / data-automationid first, falling back to visible text.
31
+ * Finds a menu item by data-testid / data-testid2 / data-automationid first, falling back to
32
+ * visible text.
23
33
  *
24
34
  * Supports three menu implementations:
25
35
  * - smartbit4all custom menu (`.sb4-menu-panel`): every item is a `ui-action-button` rendered as
26
- * `<button data-testid="{action code}">`, in both the Material and PrimeNG component libraries
27
- * (only the button's own attributes differ). The `text` matches the action code (data-testid) or
28
- * the visible title. Used by grid/table action menus since #29411.
36
+ * `<button data-testid="{action code}" data-testid2="{action code}_{identifier}">`, in both the
37
+ * Material and PrimeNG component libraries (only the button's own attributes differ). The `text`
38
+ * matches the action code (data-testid), the identifier-qualified code (data-testid2) or the
39
+ * visible title. Used by grid/table action menus since #29411.
29
40
  * - Angular Material (`.mat-mdc-menu-panel`): `<button mat-menu-item data-testid>`.
30
41
  * - PrimeNG (`.p-menu`, `.p-tieredmenu`, `.p-contextmenu`): items expose `menuItem.automationId`
31
42
  * as the `data-automationid` DOM attribute (no data-testid).
43
+ *
44
+ * By default matches are restricted to `:visible` — see `findButton` for why (duplicate hidden
45
+ * copies of the same element, e.g. in a `mat-drawer`, would otherwise let `.first()` pick the
46
+ * wrong one). Pass `visible: false` for callers that intentionally target a hidden item.
32
47
  */
33
- export declare function findMenuItem(page: Page, text: string): Locator;
48
+ export declare function findMenuItem(page: Page, text: string, visible?: boolean): Locator;
34
49
  //# sourceMappingURL=locators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locators.d.ts","sourceRoot":"","sources":["../../src/steps/locators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED;;;;;;;;GAQG;AACH,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,sHACoF,CAAC;AAEtH,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAS9D"}
1
+ {"version":3,"file":"locators.d.ts","sourceRoot":"","sources":["../../src/steps/locators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,UAAO,GAAG,OAAO,CAO3F;AAED;;;;;;;;GAQG;AACH,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,sHACoF,CAAC;AAEtH,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEjD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,UAAO,GAAG,OAAO,CAU9E"}
@@ -5,11 +5,23 @@ exports.findButton = findButton;
5
5
  exports.findPopupMenu = findPopupMenu;
6
6
  exports.findMenuItem = findMenuItem;
7
7
  /**
8
- * Finds a button by data-testid first, falling back to visible text.
8
+ * Finds a button by data-testid / data-testid2 first, falling back to visible text.
9
9
  * Works with both data-testid values and button labels for backward compatibility.
10
+ *
11
+ * `ui-action-button` renders the bare action code as `data-testid` and the code combined with the
12
+ * instance identifier (`{code}_{identifier}`) as `data-testid2`, so the same button is addressable
13
+ * by either the shared code or the identifier-qualified one.
14
+ *
15
+ * By default matches are restricted to `:visible`, because some layouts (e.g. a `mat-drawer`
16
+ * responsive toolbar) render the same button twice — once in a hidden/off-canvas copy and once
17
+ * in the visible one — and `.first()` would otherwise non-deterministically pick the wrong
18
+ * instance. Pass `visible: false` for callers that intentionally target a hidden button.
10
19
  */
11
- function findButton(container, text) {
12
- return container.locator(`button[data-testid="${text}"], button:has-text("${text}")`).first();
20
+ function findButton(container, text, visible = true) {
21
+ const v = visible ? ':visible' : '';
22
+ return container
23
+ .locator(`button[data-testid="${text}"]${v}, button[data-testid2="${text}"]${v}, button${v}:has-text("${text}")`)
24
+ .first();
13
25
  }
14
26
  /**
15
27
  * Finds the currently visible popup menu panel.
@@ -28,25 +40,32 @@ function findPopupMenu(page) {
28
40
  return page.locator(exports.POPUP_PANEL_SELECTOR).last();
29
41
  }
30
42
  /**
31
- * Finds a menu item by data-testid / data-automationid first, falling back to visible text.
43
+ * Finds a menu item by data-testid / data-testid2 / data-automationid first, falling back to
44
+ * visible text.
32
45
  *
33
46
  * Supports three menu implementations:
34
47
  * - smartbit4all custom menu (`.sb4-menu-panel`): every item is a `ui-action-button` rendered as
35
- * `<button data-testid="{action code}">`, in both the Material and PrimeNG component libraries
36
- * (only the button's own attributes differ). The `text` matches the action code (data-testid) or
37
- * the visible title. Used by grid/table action menus since #29411.
48
+ * `<button data-testid="{action code}" data-testid2="{action code}_{identifier}">`, in both the
49
+ * Material and PrimeNG component libraries (only the button's own attributes differ). The `text`
50
+ * matches the action code (data-testid), the identifier-qualified code (data-testid2) or the
51
+ * visible title. Used by grid/table action menus since #29411.
38
52
  * - Angular Material (`.mat-mdc-menu-panel`): `<button mat-menu-item data-testid>`.
39
53
  * - PrimeNG (`.p-menu`, `.p-tieredmenu`, `.p-contextmenu`): items expose `menuItem.automationId`
40
54
  * as the `data-automationid` DOM attribute (no data-testid).
55
+ *
56
+ * By default matches are restricted to `:visible` — see `findButton` for why (duplicate hidden
57
+ * copies of the same element, e.g. in a `mat-drawer`, would otherwise let `.first()` pick the
58
+ * wrong one). Pass `visible: false` for callers that intentionally target a hidden item.
41
59
  */
42
- function findMenuItem(page, text) {
43
- const sb4ByTestId = `.sb4-menu-panel button[data-testid="${text}"]`;
44
- const sb4ByText = `.sb4-menu-panel button:has-text("${text}")`;
45
- const matByTestId = `.mat-mdc-menu-panel button.mat-mdc-menu-item[data-testid="${text}"]`;
46
- const matByText = `.mat-mdc-menu-panel button.mat-mdc-menu-item:has-text("${text}")`;
47
- const primeByTestId = `.p-menu-list [data-testid="${text}"], .p-menuitem [data-testid="${text}"]`;
48
- const primeByAutomationId = `.p-menu-list [data-automationid="${text}"], .p-menuitem [data-automationid="${text}"]`;
49
- const primeByText = `.p-menu-list .p-menuitem-link:has-text("${text}"), .p-menuitem-content:has-text("${text}")`;
60
+ function findMenuItem(page, text, visible = true) {
61
+ const v = visible ? ':visible' : '';
62
+ const sb4ByTestId = `.sb4-menu-panel button[data-testid="${text}"]${v}, .sb4-menu-panel button[data-testid2="${text}"]${v}`;
63
+ const sb4ByText = `.sb4-menu-panel button${v}:has-text("${text}")`;
64
+ const matByTestId = `.mat-mdc-menu-panel button.mat-mdc-menu-item[data-testid="${text}"]${v}, .mat-mdc-menu-panel button.mat-mdc-menu-item[data-testid2="${text}"]${v}`;
65
+ const matByText = `.mat-mdc-menu-panel button.mat-mdc-menu-item${v}:has-text("${text}")`;
66
+ const primeByTestId = `.p-menu-list [data-testid="${text}"]${v}, .p-menuitem [data-testid="${text}"]${v}, .p-menu-list [data-testid2="${text}"]${v}, .p-menuitem [data-testid2="${text}"]${v}`;
67
+ const primeByAutomationId = `.p-menu-list [data-automationid="${text}"]${v}, .p-menuitem [data-automationid="${text}"]${v}`;
68
+ const primeByText = `.p-menu-list .p-menuitem-link${v}:has-text("${text}"), .p-menuitem-content${v}:has-text("${text}")`;
50
69
  return page.locator(`${sb4ByTestId}, ${sb4ByText}, ${matByTestId}, ${matByText}, ${primeByTestId}, ${primeByAutomationId}, ${primeByText}`).first();
51
70
  }
52
71
  //# sourceMappingURL=locators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"locators.js","sourceRoot":"","sources":["../../src/steps/locators.ts"],"names":[],"mappings":";;;AAMA,gCAEC;AAkBD,sCAEC;AAcD,oCASC;AAjDD;;;GAGG;AACH,SAAgB,UAAU,CAAC,SAAyB,EAAE,IAAY;IAChE,OAAO,SAAS,CAAC,OAAO,CAAC,uBAAuB,IAAI,wBAAwB,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;AAChG,CAAC;AAED;;;;;;;;GAQG;AACH,iFAAiF;AACpE,QAAA,oBAAoB,GAC/B,mHAAmH,CAAC;AAEtH,6FAA6F;AAChF,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAEvD,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,YAAY,CAAC,IAAU,EAAE,IAAY;IACnD,MAAM,WAAW,GAAG,uCAAuC,IAAI,IAAI,CAAC;IACpE,MAAM,SAAS,GAAG,oCAAoC,IAAI,IAAI,CAAC;IAC/D,MAAM,WAAW,GAAG,6DAA6D,IAAI,IAAI,CAAC;IAC1F,MAAM,SAAS,GAAG,0DAA0D,IAAI,IAAI,CAAC;IACrF,MAAM,aAAa,GAAG,8BAA8B,IAAI,iCAAiC,IAAI,IAAI,CAAC;IAClG,MAAM,mBAAmB,GAAG,oCAAoC,IAAI,uCAAuC,IAAI,IAAI,CAAC;IACpH,MAAM,WAAW,GAAG,2CAA2C,IAAI,qCAAqC,IAAI,IAAI,CAAC;IACjH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,WAAW,KAAK,SAAS,KAAK,WAAW,KAAK,SAAS,KAAK,aAAa,KAAK,mBAAmB,KAAK,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACtJ,CAAC"}
1
+ {"version":3,"file":"locators.js","sourceRoot":"","sources":["../../src/steps/locators.ts"],"names":[],"mappings":";;;AAeA,gCAOC;AAkBD,sCAEC;AAoBD,oCAUC;AAtED;;;;;;;;;;;;GAYG;AACH,SAAgB,UAAU,CAAC,SAAyB,EAAE,IAAY,EAAE,OAAO,GAAG,IAAI;IAChF,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,OAAO,SAAS;SACb,OAAO,CACN,uBAAuB,IAAI,KAAK,CAAC,0BAA0B,IAAI,KAAK,CAAC,WAAW,CAAC,cAAc,IAAI,IAAI,CACxG;SACA,KAAK,EAAE,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,iFAAiF;AACpE,QAAA,oBAAoB,GAC/B,mHAAmH,CAAC;AAEtH,6FAA6F;AAChF,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAEvD,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,YAAY,CAAC,IAAU,EAAE,IAAY,EAAE,OAAO,GAAG,IAAI;IACnE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,uCAAuC,IAAI,KAAK,CAAC,0CAA0C,IAAI,KAAK,CAAC,EAAE,CAAC;IAC5H,MAAM,SAAS,GAAG,yBAAyB,CAAC,cAAc,IAAI,IAAI,CAAC;IACnE,MAAM,WAAW,GAAG,6DAA6D,IAAI,KAAK,CAAC,gEAAgE,IAAI,KAAK,CAAC,EAAE,CAAC;IACxK,MAAM,SAAS,GAAG,+CAA+C,CAAC,cAAc,IAAI,IAAI,CAAC;IACzF,MAAM,aAAa,GAAG,8BAA8B,IAAI,KAAK,CAAC,+BAA+B,IAAI,KAAK,CAAC,iCAAiC,IAAI,KAAK,CAAC,gCAAgC,IAAI,KAAK,CAAC,EAAE,CAAC;IAC/L,MAAM,mBAAmB,GAAG,oCAAoC,IAAI,KAAK,CAAC,qCAAqC,IAAI,KAAK,CAAC,EAAE,CAAC;IAC5H,MAAM,WAAW,GAAG,gCAAgC,CAAC,cAAc,IAAI,0BAA0B,CAAC,cAAc,IAAI,IAAI,CAAC;IACzH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,WAAW,KAAK,SAAS,KAAK,WAAW,KAAK,SAAS,KAAK,aAAa,KAAK,mBAAmB,KAAK,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACtJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartbit4all/playwright-qa",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Playwright-based testing and documentation framework for smartbit4all projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -59,6 +59,6 @@
59
59
  "license": "LGPL-3.0-or-later",
60
60
  "repository": {
61
61
  "type": "git",
62
- "url": "https://github.com/nickkoo/playwright-qa.git"
62
+ "url": "https://github.com/smartbit4all/platform-playwright-qa.git"
63
63
  }
64
64
  }