@smartbit4all/playwright-qa 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +40 -11
  2. package/dist/core/index.d.ts +7 -0
  3. package/dist/core/index.d.ts.map +1 -1
  4. package/dist/core/index.js +40 -4
  5. package/dist/core/index.js.map +1 -1
  6. package/dist/screenshot/directory.d.ts +3 -1
  7. package/dist/screenshot/directory.d.ts.map +1 -1
  8. package/dist/screenshot/directory.js +17 -1
  9. package/dist/screenshot/directory.js.map +1 -1
  10. package/dist/screenshot/highlight.d.ts +4 -3
  11. package/dist/screenshot/highlight.d.ts.map +1 -1
  12. package/dist/screenshot/highlight.js +10 -4
  13. package/dist/screenshot/highlight.js.map +1 -1
  14. package/dist/screenshot/index.d.ts +5 -4
  15. package/dist/screenshot/index.d.ts.map +1 -1
  16. package/dist/screenshot/index.js +12 -10
  17. package/dist/screenshot/index.js.map +1 -1
  18. package/dist/steps/dialog.steps.d.ts +1 -1
  19. package/dist/steps/dialog.steps.d.ts.map +1 -1
  20. package/dist/steps/dialog.steps.js +3 -2
  21. package/dist/steps/dialog.steps.js.map +1 -1
  22. package/dist/steps/grid.steps.d.ts.map +1 -1
  23. package/dist/steps/grid.steps.js +3 -2
  24. package/dist/steps/grid.steps.js.map +1 -1
  25. package/dist/steps/index.d.ts +1 -0
  26. package/dist/steps/index.d.ts.map +1 -1
  27. package/dist/steps/index.js +5 -1
  28. package/dist/steps/index.js.map +1 -1
  29. package/dist/steps/locators.d.ts +16 -0
  30. package/dist/steps/locators.d.ts.map +1 -0
  31. package/dist/steps/locators.js +30 -0
  32. package/dist/steps/locators.js.map +1 -0
  33. package/dist/steps/navigation.steps.d.ts.map +1 -1
  34. package/dist/steps/navigation.steps.js +3 -2
  35. package/dist/steps/navigation.steps.js.map +1 -1
  36. package/package.json +1 -1
package/README.md CHANGED
@@ -38,21 +38,21 @@ Every TestSuite should call `initSuite()` in `beforeAll`. This single call reset
38
38
  ```typescript
39
39
  import { initSuite } from '@smartbit4all/playwright-qa';
40
40
 
41
- // With screenshots — cleans the directory and initializes it
41
+ // With screenshots — each run creates a new timestamped subdirectory
42
42
  initSuite({ screenshotDir: './screenshots' });
43
43
 
44
- // Keep previous runseach run creates a new timestamped subdirectory, latest symlink is updated
45
- initSuite({ screenshotDir: './screenshots', cleanScreenshots: false });
44
+ // Clean previous rundeletes the last run's folder before creating a new one
45
+ initSuite({ screenshotDir: './screenshots', cleanScreenshots: true });
46
46
 
47
47
  // Without screenshots — tests run normally, screenshot calls return null
48
48
  initSuite();
49
49
  ```
50
50
 
51
- By default, `initSuite` deletes the screenshot directory before each run. Set `cleanScreenshots: false` to keep previous runs — useful for comparing results across runs. The `latest` symlink always points to the most recent run.
51
+ By default, each run creates a new timestamped subdirectory and the `latest` symlink always points to the most recent run. Set `cleanScreenshots: true` to delete all previous runs before starting — useful when disk space is limited or only the latest run matters.
52
52
 
53
53
  When no `screenshotDir` is provided, all screenshot functions (`screenshot`, `screenshotHighlight`, `screenshotRegion`, `screenshotRegionHighlight`) become no-ops and return `null` instead of a file path. This means TestSteps that include screenshot calls work without modification — no conditional logic needed.
54
54
 
55
- When multiple suites run in the same test execution with the same `screenshotDir`, the directory is created once and reused — all screenshots land in a single timestamped folder.
55
+ When multiple suites run in the same test execution with the same `screenshotDir`, the directory is created once and reused — all screenshots land in a single timestamped folder. This works even if a suite fails mid-run: the next suite picks up the same directory and continues the `autoPrefix` counter from where it left off (e.g., if the failed suite ended at `0005-`, the next suite starts at `0006-`). The framework tracks this via a `.current-run` marker file in the screenshot base directory.
56
56
 
57
57
  ## Viewport
58
58
 
@@ -90,18 +90,20 @@ await screenshot(page, 'page-name');
90
90
  await screenshot(page, 'category/page-name'); // name path = subdirectory
91
91
  await screenshot(page, 'page-name', { fullPage: true });
92
92
 
93
- // Full page with highlighted element
93
+ // Full page with highlighted element — accepts CSS selector or Locator
94
94
  await screenshotHighlight(page, 'name', '#selector');
95
95
  await screenshotHighlight(page, 'name', '#selector', { style: 'subtle' });
96
+ await screenshotHighlight(page, 'name', findMenuItem(page, 'Új mappa')); // Locator
96
97
 
97
- // Region screenshot (single element)
98
+ // Region screenshot (single element) — accepts CSS selector or Locator
98
99
  await screenshotRegion(page, 'name', '#region-selector');
99
100
 
100
- // Region with highlighted element inside
101
+ // Region with highlighted element inside — both accept CSS selector or Locator
101
102
  await screenshotRegionHighlight(page, 'name', '#region', '#highlight');
103
+ await screenshotRegionHighlight(page, 'name', findPopupMenu(page), findMenuItem(page, 'Új mappa'));
102
104
  ```
103
105
 
104
- All screenshot functions return `Promise<string | null>`. They return `null` when no screenshot directory has been configured (see [Suite Setup](#suite-setup)).
106
+ All screenshot functions return `Promise<string | null>`. They return `null` when no screenshot directory has been configured (see [Suite Setup](#suite-setup)). Highlight and region parameters accept both CSS selectors (string) and Playwright Locators.
105
107
 
106
108
  ### Datapool
107
109
 
@@ -177,10 +179,10 @@ await navigateInTree(page, ['Ügyek']);
177
179
  await navigateInTree(page, ['Dokumentumok', 'Tender']);
178
180
 
179
181
  // Open the last node's context menu (hamburger button) and click an action
180
- await navigateInTree(page, ['Dokumentumok', 'Bejövő email'], 'Új mappa');
182
+ await navigateInTree(page, ['Dokumentumok', 'Bejövő e-mail'], 'Új mappa');
181
183
 
182
184
  // Open context menu only (for screenshots) — pass true, then close with Escape
183
- await navigateInTree(page, ['Dokumentumok', 'Bejövő email'], true);
185
+ await navigateInTree(page, ['Dokumentumok', 'Bejövő e-mail'], true);
184
186
  await screenshot(page, 'context-menu-open');
185
187
  await page.keyboard.press('Escape');
186
188
  ```
@@ -217,6 +219,33 @@ await waitForAngularIdle(page);
217
219
 
218
220
  `waitForAngularIdle` is also available for project-specific steps that need the same wait pattern.
219
221
 
222
+ ### Locators
223
+
224
+ ```typescript
225
+ import { findButton, findPopupMenu, findMenuItem } from '@smartbit4all/playwright-qa/steps';
226
+
227
+ // Find a button by data-testid (preferred) or visible text (fallback)
228
+ await findButton(page, 'REFRESH').click(); // matches data-testid="REFRESH"
229
+ await findButton(page, 'Mentés').click(); // matches button text "Mentés"
230
+
231
+ // Works inside a container (e.g., dialog)
232
+ await findButton(topDialog(page), 'Mentés').click();
233
+
234
+ // Find the currently visible popup menu (Angular Material or PrimeNG)
235
+ const menu = findPopupMenu(page);
236
+
237
+ // Find a menu item by data-testid or text
238
+ await findMenuItem(page, 'Szerkesztés').click();
239
+ await findMenuItem(page, 'DELETE_ACTION').click(); // matches data-testid="DELETE_ACTION"
240
+
241
+ // Combine with screenshot functions for highlighting
242
+ await screenshotHighlight(page, 'menu-highlight', findMenuItem(page, 'Új mappa'));
243
+ await screenshotRegionHighlight(page, 'menu-region',
244
+ findPopupMenu(page), findMenuItem(page, 'Új mappa'));
245
+ ```
246
+
247
+ All built-in steps (`clickInDialog`, `selectGridRow`, `navigateInTree`) use these locators internally, so they automatically support `data-testid` values alongside text matching.
248
+
220
249
  ## Developer Guide — Writing TestSteps
221
250
 
222
251
  TestSteps are simple async functions that implement one atomic UI operation.
@@ -8,5 +8,12 @@ export interface InitSuiteOptions {
8
8
  autoPrefix?: boolean;
9
9
  cleanScreenshots?: boolean;
10
10
  }
11
+ export interface RunMarker {
12
+ ppid: number;
13
+ runDir: string;
14
+ counter: number;
15
+ }
16
+ export declare function readRunMarker(baseDir: string): RunMarker | null;
17
+ export declare function writeRunMarker(baseDir: string, runDir: string, counter: number): void;
11
18
  export declare function initSuite(options?: InitSuiteOptions): void;
12
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAuB1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAID,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQ/D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAGrF;AAED,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAwC1D"}
@@ -33,6 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.readRunMarker = readRunMarker;
37
+ exports.writeRunMarker = writeRunMarker;
36
38
  exports.initSuite = initSuite;
37
39
  const fs = __importStar(require("fs"));
38
40
  const config_1 = require("../config");
@@ -40,6 +42,22 @@ const datapool_1 = require("../datapool");
40
42
  const path = __importStar(require("path"));
41
43
  const screenshot_1 = require("../screenshot");
42
44
  const seed_1 = require("../seed");
45
+ const MARKER_FILE = '.current-run';
46
+ function readRunMarker(baseDir) {
47
+ try {
48
+ const markerPath = path.join(baseDir, MARKER_FILE);
49
+ if (!fs.existsSync(markerPath))
50
+ return null;
51
+ return JSON.parse(fs.readFileSync(markerPath, 'utf-8'));
52
+ }
53
+ catch {
54
+ return null;
55
+ }
56
+ }
57
+ function writeRunMarker(baseDir, runDir, counter) {
58
+ const marker = { ppid: process.ppid, runDir, counter };
59
+ fs.writeFileSync(path.join(baseDir, MARKER_FILE), JSON.stringify(marker));
60
+ }
43
61
  function initSuite(options) {
44
62
  (0, config_1.resetConfig)();
45
63
  (0, datapool_1.resetDatapoolConfig)();
@@ -49,11 +67,20 @@ function initSuite(options) {
49
67
  const resolvedDir = path.resolve(screenshotDir);
50
68
  const alreadyInitialized = (0, screenshot_1.isScreenshotEnabled)() && (0, screenshot_1.getScreenshotBaseDir)() === resolvedDir;
51
69
  if (!alreadyInitialized) {
52
- const clean = options?.cleanScreenshots ?? true;
53
- if (clean && fs.existsSync(screenshotDir)) {
54
- fs.rmSync(screenshotDir, { recursive: true });
70
+ // Check if another worker in this same test run already created the dir
71
+ const marker = readRunMarker(resolvedDir);
72
+ if (marker && marker.ppid === process.ppid && fs.existsSync(marker.runDir)) {
73
+ (0, screenshot_1.setScreenshotDir)(marker.runDir, resolvedDir);
74
+ (0, screenshot_1.setScreenshotCounter)(marker.counter);
75
+ }
76
+ else {
77
+ const clean = options?.cleanScreenshots ?? false;
78
+ if (clean && fs.existsSync(resolvedDir)) {
79
+ fs.rmSync(resolvedDir, { recursive: true });
80
+ }
81
+ const runDir = (0, screenshot_1.initScreenshotDir)(screenshotDir);
82
+ writeRunMarker(resolvedDir, runDir, 0);
55
83
  }
56
- (0, screenshot_1.initScreenshotDir)(screenshotDir);
57
84
  }
58
85
  }
59
86
  else {
@@ -61,6 +88,15 @@ function initSuite(options) {
61
88
  }
62
89
  if (options?.autoPrefix) {
63
90
  (0, screenshot_1.setAutoPrefix)(true);
91
+ const baseDir = (0, screenshot_1.getScreenshotBaseDir)();
92
+ if (baseDir) {
93
+ (0, screenshot_1.setOnCounterChange)((counter) => {
94
+ const marker = readRunMarker(baseDir);
95
+ if (marker) {
96
+ writeRunMarker(baseDir, marker.runDir, counter);
97
+ }
98
+ });
99
+ }
64
100
  }
65
101
  }
66
102
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,8BAuBC;AA1CD,uCAAyB;AACzB,sCAAwC;AACxC,0CAAkD;AAClD,2CAA6B;AAC7B,8CAAgI;AAChI,kCAA4C;AAc5C,SAAgB,SAAS,CAAC,OAA0B;IAClD,IAAA,oBAAW,GAAE,CAAC;IACd,IAAA,8BAAmB,GAAE,CAAC;IACtB,IAAA,wBAAiB,GAAE,CAAC;IAEpB,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,CAAC;IAC7C,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,kBAAkB,GAAG,IAAA,gCAAmB,GAAE,IAAI,IAAA,iCAAoB,GAAE,KAAK,WAAW,CAAC;QAC3F,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC;YAChD,IAAI,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC1C,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YACD,IAAA,8BAAiB,EAAC,aAAa,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAA,+BAAkB,GAAE,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,IAAA,0BAAa,EAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,7 @@ export declare function getScreenshotBaseDir(): string | null;
6
6
  export declare function resetScreenshotDir(): void;
7
7
  export declare function setAutoPrefix(enabled: boolean): void;
8
8
  export declare function resetScreenshotCounter(): void;
9
- export declare function setScreenshotDir(dir: string): void;
9
+ export declare function setScreenshotCounter(value: number): void;
10
+ export declare function setScreenshotDir(dir: string, baseDir?: string): void;
11
+ export declare function setOnCounterChange(callback: ((counter: number) => void) | null): void;
10
12
  //# sourceMappingURL=directory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/screenshot/directory.ts"],"names":[],"mappings":"AAYA,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAwB,GAAG,MAAM,CA4B3E;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAOzC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBjF;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAEpD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEpD;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAElD"}
1
+ {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/screenshot/directory.ts"],"names":[],"mappings":"AAaA,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAwB,GAAG,MAAM,CA4B3E;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAOzC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CA2BjF;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAEpD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEpD;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAKpE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAErF"}
@@ -41,13 +41,16 @@ exports.getScreenshotBaseDir = getScreenshotBaseDir;
41
41
  exports.resetScreenshotDir = resetScreenshotDir;
42
42
  exports.setAutoPrefix = setAutoPrefix;
43
43
  exports.resetScreenshotCounter = resetScreenshotCounter;
44
+ exports.setScreenshotCounter = setScreenshotCounter;
44
45
  exports.setScreenshotDir = setScreenshotDir;
46
+ exports.setOnCounterChange = setOnCounterChange;
45
47
  const fs = __importStar(require("fs"));
46
48
  const path = __importStar(require("path"));
47
49
  let currentRunDir = null;
48
50
  let currentBaseDir = null;
49
51
  let autoPrefix = false;
50
52
  let screenshotCounter = 0;
53
+ let onCounterChange = null;
51
54
  function formatTimestamp(date) {
52
55
  return date.toISOString().replace(/[:.]/g, '-').replace('Z', '');
53
56
  }
@@ -93,6 +96,9 @@ function resolveScreenshotPath(name, subdirectory) {
93
96
  screenshotCounter++;
94
97
  const prefix = String(screenshotCounter).padStart(4, '0');
95
98
  baseName = `${prefix}-${baseName}`;
99
+ if (onCounterChange) {
100
+ onCounterChange(screenshotCounter);
101
+ }
96
102
  }
97
103
  const fileName = baseName + '.png';
98
104
  const nameDir = nameParts.length > 0 ? nameParts.join('/') : '';
@@ -116,6 +122,7 @@ function resetScreenshotDir() {
116
122
  currentBaseDir = null;
117
123
  autoPrefix = false;
118
124
  screenshotCounter = 0;
125
+ onCounterChange = null;
119
126
  }
120
127
  function setAutoPrefix(enabled) {
121
128
  autoPrefix = enabled;
@@ -123,7 +130,16 @@ function setAutoPrefix(enabled) {
123
130
  function resetScreenshotCounter() {
124
131
  screenshotCounter = 0;
125
132
  }
126
- function setScreenshotDir(dir) {
133
+ function setScreenshotCounter(value) {
134
+ screenshotCounter = value;
135
+ }
136
+ function setScreenshotDir(dir, baseDir) {
127
137
  currentRunDir = dir;
138
+ if (baseDir) {
139
+ currentBaseDir = baseDir;
140
+ }
141
+ }
142
+ function setOnCounterChange(callback) {
143
+ onCounterChange = callback;
128
144
  }
129
145
  //# sourceMappingURL=directory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/screenshot/directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/screenshot/directory.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import type { Page } from '@playwright/test';
1
+ import type { Page, Locator } from '@playwright/test';
2
2
  import { type HighlightStyle } from '../config';
3
+ export type SelectorOrLocator = string | Locator;
3
4
  interface SavedStyle {
4
5
  outline: string;
5
6
  backgroundColor: string;
6
7
  }
7
- export declare function applyHighlight(page: Page, selector: string, style?: HighlightStyle): Promise<SavedStyle>;
8
- export declare function removeHighlight(page: Page, selector: string, savedStyle: SavedStyle): Promise<void>;
8
+ export declare function applyHighlight(page: Page, target: SelectorOrLocator, style?: HighlightStyle): Promise<SavedStyle>;
9
+ export declare function removeHighlight(page: Page, target: SelectorOrLocator, savedStyle: SavedStyle): Promise<void>;
9
10
  export {};
10
11
  //# sourceMappingURL=highlight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../src/screenshot/highlight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAEnE,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,UAAU,CAAC,CAuBrB;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAcf"}
1
+ {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../src/screenshot/highlight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAEnE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB;AASD,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,iBAAiB,EACzB,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,UAAU,CAAC,CAuBrB;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -3,9 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.applyHighlight = applyHighlight;
4
4
  exports.removeHighlight = removeHighlight;
5
5
  const config_1 = require("../config");
6
- async function applyHighlight(page, selector, style) {
6
+ function resolveLocator(page, target) {
7
+ if (typeof target === 'string') {
8
+ return page.locator(target).first();
9
+ }
10
+ return target;
11
+ }
12
+ async function applyHighlight(page, target, style) {
7
13
  const highlightStyle = style ?? (0, config_1.getHighlightStyle)('default');
8
- const locator = page.locator(selector).first();
14
+ const locator = resolveLocator(page, target);
9
15
  await locator.waitFor({ state: 'visible' });
10
16
  const savedStyle = await locator.evaluate((el, hl) => {
11
17
  const htmlEl = el;
@@ -20,9 +26,9 @@ async function applyHighlight(page, selector, style) {
20
26
  await page.evaluate(() => new Promise((resolve) => requestAnimationFrame(resolve)));
21
27
  return savedStyle;
22
28
  }
23
- async function removeHighlight(page, selector, savedStyle) {
29
+ async function removeHighlight(page, target, savedStyle) {
24
30
  try {
25
- const locator = page.locator(selector).first();
31
+ const locator = resolveLocator(page, target);
26
32
  await locator.evaluate((el, saved) => {
27
33
  const htmlEl = el;
28
34
  htmlEl.style.outline = saved.outline;
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../src/screenshot/highlight.ts"],"names":[],"mappings":";;AAQA,wCA2BC;AAED,0CAkBC;AAtDD,sCAAmE;AAO5D,KAAK,UAAU,cAAc,CAClC,IAAU,EACV,QAAgB,EAChB,KAAsB;IAEtB,MAAM,cAAc,GAAG,KAAK,IAAI,IAAA,0BAAiB,EAAC,SAAS,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/C,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CACvC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACT,MAAM,MAAM,GAAG,EAAiB,CAAC;QACjC,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;YAC7B,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;SAC9C,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC,EACD,cAAc,CACf,CAAC;IAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpF,OAAO,UAAU,CAAC;AACpB,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,IAAU,EACV,QAAgB,EAChB,UAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,OAAO,CAAC,QAAQ,CACpB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;YACZ,MAAM,MAAM,GAAG,EAAiB,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QACvD,CAAC,EACD,UAAU,CACX,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../src/screenshot/highlight.ts"],"names":[],"mappings":";;AAiBA,wCA2BC;AAED,0CAkBC;AA/DD,sCAAmE;AASnE,SAAS,cAAc,CAAC,IAAU,EAAE,MAAyB;IAC3D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,IAAU,EACV,MAAyB,EACzB,KAAsB;IAEtB,MAAM,cAAc,GAAG,KAAK,IAAI,IAAA,0BAAiB,EAAC,SAAS,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CACvC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACT,MAAM,MAAM,GAAG,EAAiB,CAAC;QACjC,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;YAC7B,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe;SAC9C,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC,EACD,cAAc,CACf,CAAC;IAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpF,OAAO,UAAU,CAAC;AACpB,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,IAAU,EACV,MAAyB,EACzB,UAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,CAAC,QAAQ,CACpB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;YACZ,MAAM,MAAM,GAAG,EAAiB,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QACvD,CAAC,EACD,UAAU,CACX,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;AACH,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import type { Page } from '@playwright/test';
2
- export { initScreenshotDir, resetScreenshotDir, setScreenshotDir, isScreenshotEnabled, getScreenshotBaseDir, setAutoPrefix, resetScreenshotCounter } from './directory';
2
+ import { type SelectorOrLocator } from './highlight';
3
+ export { initScreenshotDir, resetScreenshotDir, setScreenshotDir, isScreenshotEnabled, getScreenshotBaseDir, setAutoPrefix, resetScreenshotCounter, setScreenshotCounter, setOnCounterChange } from './directory';
3
4
  export interface ScreenshotOptions {
4
5
  fullPage?: boolean;
5
6
  subdirectory?: string;
6
7
  style?: string;
7
8
  }
8
9
  export declare function screenshot(page: Page, name: string, options?: ScreenshotOptions): Promise<string | null>;
9
- export declare function screenshotHighlight(page: Page, name: string, highlightSelector: string, options?: ScreenshotOptions): Promise<string | null>;
10
- export declare function screenshotRegion(page: Page, name: string, regionSelector: string, options?: ScreenshotOptions): Promise<string | null>;
11
- export declare function screenshotRegionHighlight(page: Page, name: string, regionSelector: string, highlightSelector: string, options?: ScreenshotOptions): Promise<string | null>;
10
+ export declare function screenshotHighlight(page: Page, name: string, highlight: SelectorOrLocator, options?: ScreenshotOptions): Promise<string | null>;
11
+ export declare function screenshotRegion(page: Page, name: string, region: SelectorOrLocator, options?: ScreenshotOptions): Promise<string | null>;
12
+ export declare function screenshotRegionHighlight(page: Page, name: string, region: SelectorOrLocator, highlight: SelectorOrLocator, options?: ScreenshotOptions): Promise<string | null>;
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/screenshot/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAK7C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAExK,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,MAAM,EACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOxB;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/screenshot/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAmC,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGtF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAElN,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,iBAAiB,EAC5B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOxB;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYxB"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resetScreenshotCounter = exports.setAutoPrefix = exports.getScreenshotBaseDir = exports.isScreenshotEnabled = exports.setScreenshotDir = exports.resetScreenshotDir = exports.initScreenshotDir = void 0;
3
+ exports.setOnCounterChange = exports.setScreenshotCounter = exports.resetScreenshotCounter = exports.setAutoPrefix = exports.getScreenshotBaseDir = exports.isScreenshotEnabled = exports.setScreenshotDir = exports.resetScreenshotDir = exports.initScreenshotDir = void 0;
4
4
  exports.screenshot = screenshot;
5
5
  exports.screenshotHighlight = screenshotHighlight;
6
6
  exports.screenshotRegion = screenshotRegion;
@@ -16,6 +16,8 @@ Object.defineProperty(exports, "isScreenshotEnabled", { enumerable: true, get: f
16
16
  Object.defineProperty(exports, "getScreenshotBaseDir", { enumerable: true, get: function () { return directory_2.getScreenshotBaseDir; } });
17
17
  Object.defineProperty(exports, "setAutoPrefix", { enumerable: true, get: function () { return directory_2.setAutoPrefix; } });
18
18
  Object.defineProperty(exports, "resetScreenshotCounter", { enumerable: true, get: function () { return directory_2.resetScreenshotCounter; } });
19
+ Object.defineProperty(exports, "setScreenshotCounter", { enumerable: true, get: function () { return directory_2.setScreenshotCounter; } });
20
+ Object.defineProperty(exports, "setOnCounterChange", { enumerable: true, get: function () { return directory_2.setOnCounterChange; } });
19
21
  async function screenshot(page, name, options = {}) {
20
22
  if (!(0, directory_1.isScreenshotEnabled)())
21
23
  return null;
@@ -23,33 +25,33 @@ async function screenshot(page, name, options = {}) {
23
25
  await page.screenshot({ path: filePath, fullPage: options.fullPage ?? false });
24
26
  return filePath;
25
27
  }
26
- async function screenshotHighlight(page, name, highlightSelector, options = {}) {
28
+ async function screenshotHighlight(page, name, highlight, options = {}) {
27
29
  if (!(0, directory_1.isScreenshotEnabled)())
28
30
  return null;
29
31
  const style = options.style ? (0, config_1.getHighlightStyle)(options.style) : undefined;
30
- const savedStyle = await (0, highlight_1.applyHighlight)(page, highlightSelector, style);
32
+ const savedStyle = await (0, highlight_1.applyHighlight)(page, highlight, style);
31
33
  const filePath = (0, directory_1.resolveScreenshotPath)(name, options.subdirectory);
32
34
  await page.screenshot({ path: filePath, fullPage: options.fullPage ?? false });
33
- await (0, highlight_1.removeHighlight)(page, highlightSelector, savedStyle);
35
+ await (0, highlight_1.removeHighlight)(page, highlight, savedStyle);
34
36
  return filePath;
35
37
  }
36
- async function screenshotRegion(page, name, regionSelector, options = {}) {
38
+ async function screenshotRegion(page, name, region, options = {}) {
37
39
  if (!(0, directory_1.isScreenshotEnabled)())
38
40
  return null;
39
41
  const filePath = (0, directory_1.resolveScreenshotPath)(name, options.subdirectory);
40
- const element = page.locator(regionSelector);
42
+ const element = typeof region === 'string' ? page.locator(region) : region;
41
43
  await element.screenshot({ path: filePath });
42
44
  return filePath;
43
45
  }
44
- async function screenshotRegionHighlight(page, name, regionSelector, highlightSelector, options = {}) {
46
+ async function screenshotRegionHighlight(page, name, region, highlight, options = {}) {
45
47
  if (!(0, directory_1.isScreenshotEnabled)())
46
48
  return null;
47
49
  const style = options.style ? (0, config_1.getHighlightStyle)(options.style) : undefined;
48
- const savedStyle = await (0, highlight_1.applyHighlight)(page, highlightSelector, style);
50
+ const savedStyle = await (0, highlight_1.applyHighlight)(page, highlight, style);
49
51
  const filePath = (0, directory_1.resolveScreenshotPath)(name, options.subdirectory);
50
- const element = page.locator(regionSelector);
52
+ const element = typeof region === 'string' ? page.locator(region) : region;
51
53
  await element.screenshot({ path: filePath });
52
- await (0, highlight_1.removeHighlight)(page, highlightSelector, savedStyle);
54
+ await (0, highlight_1.removeHighlight)(page, highlight, savedStyle);
53
55
  return filePath;
54
56
  }
55
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/screenshot/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/screenshot/index.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { Page, Locator } from '@playwright/test';
4
4
  */
5
5
  export declare function topDialog(page: Page): Locator;
6
6
  /**
7
- * Clicks a button inside the topmost dialog by its visible text.
7
+ * Clicks a button inside the topmost dialog by data-testid or visible text.
8
8
  */
9
9
  export declare function clickInDialog(page: Page, buttonText: string): Promise<void>;
10
10
  //# sourceMappingURL=dialog.steps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.steps.d.ts","sourceRoot":"","sources":["../../src/steps/dialog.steps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAKtD;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF"}
1
+ {"version":3,"file":"dialog.steps.d.ts","sourceRoot":"","sources":["../../src/steps/dialog.steps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAMtD;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.topDialog = topDialog;
4
4
  exports.clickInDialog = clickInDialog;
5
5
  const wait_1 = require("./wait");
6
+ const locators_1 = require("./locators");
6
7
  const DIALOG_SELECTOR = 'mat-dialog-container, .p-dialog';
7
8
  /**
8
9
  * Returns the topmost (last) open dialog (Angular Material or PrimeNG).
@@ -11,11 +12,11 @@ function topDialog(page) {
11
12
  return page.locator(DIALOG_SELECTOR).last();
12
13
  }
13
14
  /**
14
- * Clicks a button inside the topmost dialog by its visible text.
15
+ * Clicks a button inside the topmost dialog by data-testid or visible text.
15
16
  */
16
17
  async function clickInDialog(page, buttonText) {
17
18
  const dialog = topDialog(page);
18
- await dialog.locator('button', { hasText: buttonText }).click();
19
+ await (0, locators_1.findButton)(dialog, buttonText).click();
19
20
  await (0, wait_1.waitForAngularIdle)(page);
20
21
  }
21
22
  //# sourceMappingURL=dialog.steps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.steps.js","sourceRoot":"","sources":["../../src/steps/dialog.steps.ts"],"names":[],"mappings":";;AAQA,8BAEC;AAKD,sCAIC;AAlBD,iCAA4C;AAE5C,MAAM,eAAe,GAAG,iCAAiC,CAAC;AAE1D;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAU;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,IAAU,EAAE,UAAkB;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAChE,MAAM,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"dialog.steps.js","sourceRoot":"","sources":["../../src/steps/dialog.steps.ts"],"names":[],"mappings":";;AASA,8BAEC;AAKD,sCAIC;AAnBD,iCAA4C;AAC5C,yCAAwC;AAExC,MAAM,eAAe,GAAG,iCAAiC,CAAC;AAE1D;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAU;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,IAAU,EAAE,UAAkB;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,IAAA,qBAAU,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7C,MAAM,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"grid.steps.d.ts","sourceRoot":"","sources":["../../src/steps/grid.steps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,kBAAkB,CAAC;AAItD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,SAAS,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhG;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE"}
1
+ {"version":3,"file":"grid.steps.d.ts","sourceRoot":"","sources":["../../src/steps/grid.steps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,kBAAkB,CAAC;AAKtD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,SAAS,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhG;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE"}
@@ -6,6 +6,7 @@ exports.applyGridFilters = applyGridFilters;
6
6
  exports.clearGridFilters = clearGridFilters;
7
7
  const test_1 = require("@playwright/test");
8
8
  const wait_1 = require("./wait");
9
+ const locators_1 = require("./locators");
9
10
  /**
10
11
  * Finds a row in the grid by content match (paginating if needed) and performs an action.
11
12
  * Does NOT use the filter form — searches through the actual table rows.
@@ -22,7 +23,7 @@ async function selectGridRow(page, filter, action) {
22
23
  }
23
24
  else {
24
25
  await row.locator('td.mat-column-my_menu button').click();
25
- await page.locator('.mat-mdc-menu-panel button.mat-mdc-menu-item', { hasText: action }).click();
26
+ await (0, locators_1.findMenuItem)(page, action).click();
26
27
  }
27
28
  }
28
29
  /**
@@ -42,7 +43,7 @@ async function filterAndSelectGridRow(page, filter, action) {
42
43
  }
43
44
  else {
44
45
  await row.locator('td.mat-column-my_menu button').click();
45
- await page.locator('.mat-mdc-menu-panel button.mat-mdc-menu-item', { hasText: action }).click();
46
+ await (0, locators_1.findMenuItem)(page, action).click();
46
47
  }
47
48
  }
48
49
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"grid.steps.js","sourceRoot":"","sources":["../../src/steps/grid.steps.ts"],"names":[],"mappings":";;AAUA,sCAkBC;AAMD,wDAoBC;AAKD,4CAYC;AAKD,4CAUC;AArFD,2CAA0C;AAC1C,iCAA4C;AAI5C;;;GAGG;AACI,KAAK,UAAU,aAAa,CACjC,IAAU,EACV,MAAiB,EACjB,MAAsB;IAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAEpE,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE7D,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;SAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,IAAI,CAAC,OAAO,CAAC,8CAA8C,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAClG,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAU,EACV,MAA8B,EAC9B,MAAsB;IAEtB,MAAM,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAEpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE/C,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;SAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,IAAI,CAAC,OAAO,CAAC,8CAA8C,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAClG,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,IAAU,EAAE,MAA8B;IAC/E,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAC9C,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;SACrE,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACrE,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/F,MAAM,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,IAAU;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/F,MAAM,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,0BAA0B;AAE1B,KAAK,UAAU,qBAAqB,CAAC,IAAU,EAAE,KAAc,EAAE,MAAiB;IAChF,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QAEpB,yBAAyB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QACnE,IAAI,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAC/B,MAAM;QACR,CAAC;QACD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,4BAA4B;IAC5B,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ;QAC3C,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,IAAI,KAAK,CAAC,kEAAkE,UAAU,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAU,EAAE,KAAc,EAAE,MAAiB;IAC/E,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACnE,OAAO,MAAM,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE;QACzC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC,CAAC;IAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YAC7B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAU,EAAE,KAAc,EAAE,MAAiB;IAClE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE;QACzC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC,CAAC;IAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;YAC7B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAA,aAAM,EAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,KAAc;IAC1C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CACtE,CAAC;QACF,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACtB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"grid.steps.js","sourceRoot":"","sources":["../../src/steps/grid.steps.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export { waitForAngularIdle } from './wait';
2
2
  export { selectGridRow, filterAndSelectGridRow, applyGridFilters, clearGridFilters, type RowFilter, } from './grid.steps';
3
3
  export { navigateToMain, navigateInTree, } from './navigation.steps';
4
4
  export { topDialog, clickInDialog, } from './dialog.steps';
5
+ export { findButton, findPopupMenu, findMenuItem, } from './locators';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/steps/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,SAAS,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,SAAS,EACT,aAAa,GACd,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/steps/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,SAAS,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,SAAS,EACT,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clickInDialog = exports.topDialog = exports.navigateInTree = exports.navigateToMain = exports.clearGridFilters = exports.applyGridFilters = exports.filterAndSelectGridRow = exports.selectGridRow = exports.waitForAngularIdle = void 0;
3
+ exports.findMenuItem = exports.findPopupMenu = exports.findButton = exports.clickInDialog = exports.topDialog = exports.navigateInTree = exports.navigateToMain = exports.clearGridFilters = exports.applyGridFilters = exports.filterAndSelectGridRow = exports.selectGridRow = exports.waitForAngularIdle = void 0;
4
4
  var wait_1 = require("./wait");
5
5
  Object.defineProperty(exports, "waitForAngularIdle", { enumerable: true, get: function () { return wait_1.waitForAngularIdle; } });
6
6
  var grid_steps_1 = require("./grid.steps");
@@ -14,4 +14,8 @@ Object.defineProperty(exports, "navigateInTree", { enumerable: true, get: functi
14
14
  var dialog_steps_1 = require("./dialog.steps");
15
15
  Object.defineProperty(exports, "topDialog", { enumerable: true, get: function () { return dialog_steps_1.topDialog; } });
16
16
  Object.defineProperty(exports, "clickInDialog", { enumerable: true, get: function () { return dialog_steps_1.clickInDialog; } });
17
+ var locators_1 = require("./locators");
18
+ Object.defineProperty(exports, "findButton", { enumerable: true, get: function () { return locators_1.findButton; } });
19
+ Object.defineProperty(exports, "findPopupMenu", { enumerable: true, get: function () { return locators_1.findPopupMenu; } });
20
+ Object.defineProperty(exports, "findMenuItem", { enumerable: true, get: function () { return locators_1.findMenuItem; } });
17
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/steps/index.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAAnC,0GAAA,kBAAkB,OAAA;AAE3B,2CAMsB;AALpB,2GAAA,aAAa,OAAA;AACb,oHAAA,sBAAsB,OAAA;AACtB,8GAAA,gBAAgB,OAAA;AAChB,8GAAA,gBAAgB,OAAA;AAIlB,uDAG4B;AAF1B,kHAAA,cAAc,OAAA;AACd,kHAAA,cAAc,OAAA;AAGhB,+CAGwB;AAFtB,yGAAA,SAAS,OAAA;AACT,6GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/steps/index.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAAnC,0GAAA,kBAAkB,OAAA;AAE3B,2CAMsB;AALpB,2GAAA,aAAa,OAAA;AACb,oHAAA,sBAAsB,OAAA;AACtB,8GAAA,gBAAgB,OAAA;AAChB,8GAAA,gBAAgB,OAAA;AAIlB,uDAG4B;AAF1B,kHAAA,cAAc,OAAA;AACd,kHAAA,cAAc,OAAA;AAGhB,+CAGwB;AAFtB,yGAAA,SAAS,OAAA;AACT,6GAAA,aAAa,OAAA;AAGf,uCAIoB;AAHlB,sGAAA,UAAU,OAAA;AACV,yGAAA,aAAa,OAAA;AACb,wGAAA,YAAY,OAAA"}
@@ -0,0 +1,16 @@
1
+ import type { Locator, Page } from '@playwright/test';
2
+ /**
3
+ * Finds a button by data-testid first, falling back to visible text.
4
+ * Works with both data-testid values and button labels for backward compatibility.
5
+ */
6
+ export declare function findButton(container: Locator | Page, text: string): Locator;
7
+ /**
8
+ * Finds the currently visible popup menu panel (Angular Material or PrimeNG).
9
+ */
10
+ export declare function findPopupMenu(page: Page): Locator;
11
+ /**
12
+ * Finds a menu item by data-testid first, falling back to visible text.
13
+ * Supports Angular Material (.mat-mdc-menu-panel) and PrimeNG (.p-menu, .p-tieredmenu, .p-contextmenu) menus.
14
+ */
15
+ export declare function findMenuItem(page: Page, text: string): Locator;
16
+ //# sourceMappingURL=locators.d.ts.map
@@ -0,0 +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;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEjD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAM9D"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findButton = findButton;
4
+ exports.findPopupMenu = findPopupMenu;
5
+ exports.findMenuItem = findMenuItem;
6
+ /**
7
+ * Finds a button by data-testid first, falling back to visible text.
8
+ * Works with both data-testid values and button labels for backward compatibility.
9
+ */
10
+ function findButton(container, text) {
11
+ return container.locator(`button[data-testid="${text}"], button:has-text("${text}")`).first();
12
+ }
13
+ /**
14
+ * Finds the currently visible popup menu panel (Angular Material or PrimeNG).
15
+ */
16
+ function findPopupMenu(page) {
17
+ return page.locator('.mat-mdc-menu-panel, .p-menu-overlay, .p-tieredmenu-overlay, .p-contextmenu, .p-menu.p-component').last();
18
+ }
19
+ /**
20
+ * Finds a menu item by data-testid first, falling back to visible text.
21
+ * Supports Angular Material (.mat-mdc-menu-panel) and PrimeNG (.p-menu, .p-tieredmenu, .p-contextmenu) menus.
22
+ */
23
+ function findMenuItem(page, text) {
24
+ const matByTestId = `.mat-mdc-menu-panel button.mat-mdc-menu-item[data-testid="${text}"]`;
25
+ const matByText = `.mat-mdc-menu-panel button.mat-mdc-menu-item:has-text("${text}")`;
26
+ const primeByTestId = `.p-menu-list [data-testid="${text}"], .p-menuitem [data-testid="${text}"]`;
27
+ const primeByText = `.p-menu-list .p-menuitem-link:has-text("${text}"), .p-menuitem-content:has-text("${text}")`;
28
+ return page.locator(`${matByTestId}, ${matByText}, ${primeByTestId}, ${primeByText}`).first();
29
+ }
30
+ //# sourceMappingURL=locators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locators.js","sourceRoot":"","sources":["../../src/steps/locators.ts"],"names":[],"mappings":";;AAMA,gCAEC;AAKD,sCAEC;AAMD,oCAMC;AAzBD;;;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;;GAEG;AACH,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,kGAAkG,CAAC,CAAC,IAAI,EAAE,CAAC;AACjI,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,IAAU,EAAE,IAAY;IACnD,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,WAAW,GAAG,2CAA2C,IAAI,qCAAqC,IAAI,IAAI,CAAC;IACjH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,WAAW,KAAK,SAAS,KAAK,aAAa,KAAK,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAChG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.steps.d.ts","sourceRoot":"","sources":["../../src/steps/navigation.steps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9D;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BtG"}
1
+ {"version":3,"file":"navigation.steps.d.ts","sourceRoot":"","sources":["../../src/steps/navigation.steps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAI7C,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9D;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BtG"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.navigateToMain = navigateToMain;
4
4
  exports.navigateInTree = navigateInTree;
5
5
  const wait_1 = require("./wait");
6
+ const locators_1 = require("./locators");
6
7
  async function navigateToMain(page) {
7
8
  await page.locator('div.logo').click();
8
9
  await page.waitForURL('**/main/**');
@@ -44,7 +45,7 @@ async function navigatePrimeTreeNode(page, label, select, action) {
44
45
  }
45
46
  else if (action) {
46
47
  await node.locator('.p-treenode-content button').click();
47
- await page.locator('.mat-mdc-menu-panel button.mat-mdc-menu-item', { hasText: action }).click();
48
+ await (0, locators_1.findMenuItem)(page, action).click();
48
49
  await (0, wait_1.waitForAngularIdle)(page);
49
50
  }
50
51
  else if (select) {
@@ -74,7 +75,7 @@ async function navigateMatTreeNode(page, label, select, action) {
74
75
  }
75
76
  else if (action) {
76
77
  await node.locator('button').last().click();
77
- await page.locator('.mat-mdc-menu-panel button.mat-mdc-menu-item', { hasText: action }).click();
78
+ await (0, locators_1.findMenuItem)(page, action).click();
78
79
  await (0, wait_1.waitForAngularIdle)(page);
79
80
  }
80
81
  else if (select) {
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.steps.js","sourceRoot":"","sources":["../../src/steps/navigation.steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.steps.js","sourceRoot":"","sources":["../../src/steps/navigation.steps.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartbit4all/playwright-qa",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
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",