@sap_oss/wdio-qmate-service 3.6.2 → 3.7.0
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/CLAUDE.md +83 -0
- package/lib/reuse/modules/ui5/table.d.ts +13 -7
- package/lib/reuse/modules/ui5/table.js +32 -16
- package/lib/reuse/modules/ui5/table.js.map +1 -1
- package/lib/reuse/modules/util/data.d.ts +1 -0
- package/lib/reuse/modules/util/data.js +23 -6
- package/lib/reuse/modules/util/data.js.map +1 -1
- package/lib/scripts/locators/qmateLocator.js +62 -23
- package/lib/scripts/locators/qmateLocator.js.map +1 -1
- package/lib/scripts/locators/qmateLocatorSrc/filters/AncestorFilter.js +5 -0
- package/lib/scripts/locators/qmateLocatorSrc/filters/AncestorFilter.js.map +1 -1
- package/lib/scripts/locators/qmateLocatorSrc/filters/BaseFilter.d.ts +2 -2
- package/lib/scripts/locators/qmateLocatorSrc/filters/BaseFilter.js +7 -2
- package/lib/scripts/locators/qmateLocatorSrc/filters/BaseFilter.js.map +1 -1
- package/lib/scripts/locators/qmateLocatorSrc/filters/ChildFilter.js +5 -0
- package/lib/scripts/locators/qmateLocatorSrc/filters/ChildFilter.js.map +1 -1
- package/lib/scripts/locators/qmateLocatorSrc/filters/DescendantFilter.js +6 -0
- package/lib/scripts/locators/qmateLocatorSrc/filters/DescendantFilter.js.map +1 -1
- package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.js +13 -10
- package/lib/scripts/locators/qmateLocatorSrc/filters/ElementFilter.js.map +1 -1
- package/lib/scripts/locators/qmateLocatorSrc/filters/PropertiesFilter.js +4 -3
- package/lib/scripts/locators/qmateLocatorSrc/filters/PropertiesFilter.js.map +1 -1
- package/lib/scripts/locators/qmateLocatorSrc/filters/SiblingFilter.js +5 -0
- package/lib/scripts/locators/qmateLocatorSrc/filters/SiblingFilter.js.map +1 -1
- package/lib/scripts/stats/createUsage.js +1 -5
- package/lib/scripts/stats/createUsage.js.map +1 -1
- package/lib/scripts/stats/getUserId.js +1 -5
- package/lib/scripts/stats/getUserId.js.map +1 -1
- package/lib/scripts/stats/updateUsage.js +1 -5
- package/lib/scripts/stats/updateUsage.js.map +1 -1
- package/package.json +1 -1
- package/reuseApi.json +3 -3
- package/test/core/functional/locators/ancestorProperties.test.js +63 -0
- package/test/core/functional/locators/childProperties.test.js +48 -0
- package/test/core/functional/locators/descendantProperties.test.js +60 -0
- package/test/core/functional/locators/siblingProperties.test.js +52 -0
- package/test/reuse/ui5/date/pickRange.spec.js +3 -3
- package/test/reuse/ui5/table/openItemByIndex.spec.js +32 -0
- package/test/reuse/ui5/table/openItemByValues.spec.js +32 -0
- package/test/reuse/ui5/userInteraction/clickTab.spec.js +1 -1
- package/test/reuse/util/data/data/getSecureData.secure.json +1 -0
- package/test/reuse/util/data/getSecureData1.spec.js +37 -2
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## What This Repository Is
|
|
6
|
+
|
|
7
|
+
`@sap_oss/wdio-qmate-service` is a WebdriverIO plugin that extends WebdriverIO with domain-specific testing modules for SAP UI5 applications, non-UI5 web apps, mobile testing, and API/service testing. It compiles to CommonJS (`./lib/`) and is consumed as a WebdriverIO service.
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Build (required before running integration tests)
|
|
13
|
+
npm run build # locator build + tsc
|
|
14
|
+
npm run build:dev # watch mode (tsc --watch)
|
|
15
|
+
|
|
16
|
+
# Lint / Format
|
|
17
|
+
npm run lint # ESLint
|
|
18
|
+
npm run lint:fix # ESLint with auto-fix
|
|
19
|
+
npm run prettier # Check formatting
|
|
20
|
+
npm run prettier:fix # Auto-fix formatting
|
|
21
|
+
|
|
22
|
+
# Unit tests (Vitest — fast, no browser needed)
|
|
23
|
+
npm run test:unit
|
|
24
|
+
npm run test:unit:watch
|
|
25
|
+
|
|
26
|
+
# Integration tests (require Chrome + built lib/)
|
|
27
|
+
npx wdio ./test/reuse/util/data/test.data.conf.js # example: run a single module's tests
|
|
28
|
+
npm run test:reuse:util # all util module tests
|
|
29
|
+
npm run test:reuse:ui5 # all UI5 module tests
|
|
30
|
+
npm run test:reuse # all reuse module tests
|
|
31
|
+
|
|
32
|
+
# Docs
|
|
33
|
+
npm run serve-docs # generate and serve locally (requires mkdocs)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Architecture
|
|
37
|
+
|
|
38
|
+
### Service Lifecycle
|
|
39
|
+
|
|
40
|
+
`src/index.ts` is the WebdriverIO service entry point. It implements WebdriverIO's service hooks (`onPrepare`, `beforeSession`, `before`, `after`, `onComplete`) and delegates to scripts under `src/scripts/hooks/`. The `before` hook is the main one — it initialises the global namespaces by calling `src/reuse/index.ts`.
|
|
41
|
+
|
|
42
|
+
### Global Namespaces
|
|
43
|
+
|
|
44
|
+
`src/reuse/index.ts` (the `ReuseLibrary` class) instantiates every module and assigns them to `global.*`. Test specs access everything through these globals — no imports required:
|
|
45
|
+
|
|
46
|
+
| Global | Source directory | Purpose |
|
|
47
|
+
|--------|-----------------|---------|
|
|
48
|
+
| `global.common` | `src/reuse/modules/common/` | Cross-platform: assertion, date, navigation, userInteraction |
|
|
49
|
+
| `global.util` | `src/reuse/modules/util/` | browser, console, data, file, formatter, function, system, component, userSettings |
|
|
50
|
+
| `global.ui5` | `src/reuse/modules/ui5/` | SAP UI5 controls: assertion, control, element, session, table, navigation, confirmationDialog, errorDialog, navigationBar, footerBar, mockserver, qunit |
|
|
51
|
+
| `global.nonUi5` | `src/reuse/modules/nonUi5/` | Standard web: assertion, element, navigation, userInteraction, session |
|
|
52
|
+
| `global.service` | `src/reuse/modules/service/` | API clients: odata, rest |
|
|
53
|
+
| `global.mobile` | `src/reuse/modules/mobile/` | element, userInteraction, gestures, device, android, ios |
|
|
54
|
+
| `global.flp` | `src/reuse/modules/flp/` | Fiori Launchpad: userSettings, userLocks |
|
|
55
|
+
| `global.cit` | `src/reuse/runner/` | Test runner utilities |
|
|
56
|
+
|
|
57
|
+
ESLint is configured to recognise all these as globals (see `.eslintrc.yml`), so `no-undef` won't fire on them.
|
|
58
|
+
|
|
59
|
+
### Build Pipeline
|
|
60
|
+
|
|
61
|
+
1. `src/scripts/locators/qmateLocatorSrc/build.js` — bundles the locator script (esbuild)
|
|
62
|
+
2. `tsc` — compiles all `src/**/*.ts` to `./lib/` (ES2024 target, CommonJS, strict)
|
|
63
|
+
|
|
64
|
+
Always run `npm run build` before running integration tests; the tests load from `./lib/`.
|
|
65
|
+
|
|
66
|
+
### Test Layout
|
|
67
|
+
|
|
68
|
+
- `test/unit/` — Vitest unit tests (minimal coverage, very fast)
|
|
69
|
+
- `test/reuse/<namespace>/<module>/` — Each module has its own wdio config (`test.*.conf.js`) and spec files. Run a single module in isolation with `npx wdio ./test/reuse/<namespace>/<module>/test.*.conf.js`.
|
|
70
|
+
- `test/core/` — Data exchange, functional chaining, locator, and watch-mode tests
|
|
71
|
+
- `test/authenticator/` — Authentication flow tests (staticLogin / systemLogin variants)
|
|
72
|
+
|
|
73
|
+
### Local Package
|
|
74
|
+
|
|
75
|
+
`packages/qcrypt/` is a local `file:` dependency providing the encryption/decryption primitives used by `util.data.decrypt` and the secure-data flow in `src/reuse/modules/util/data.ts`.
|
|
76
|
+
|
|
77
|
+
## Code Conventions
|
|
78
|
+
|
|
79
|
+
- **2-space indentation**, **double quotes**, **semicolons** (enforced by ESLint + Prettier)
|
|
80
|
+
- Prettier `printWidth` is 300 — long lines are acceptable
|
|
81
|
+
- Every module class is instantiated and exported as a singleton (`export default new Foo()`)
|
|
82
|
+
- JSDoc comments on public methods feed the doc generator (`npm run generate-docs`)
|
|
83
|
+
- `VerboseLoggerFactory` and `ErrorHandler` are the standard logging/error patterns — use `this.vlf.initLog(this.methodName)` at the top of every method
|
|
@@ -204,10 +204,12 @@ export declare class Table {
|
|
|
204
204
|
/**
|
|
205
205
|
* @function selectRowByValues
|
|
206
206
|
* @memberOf ui5.table
|
|
207
|
-
* @description Selects a row in the table by matching value(s).
|
|
207
|
+
* @description Selects a row in the table by matching value(s). First, all rows containing the given value(s) are collected.
|
|
208
|
+
* Then, the row at the given index within that list of matching rows is selected.
|
|
209
|
+
* This is useful when multiple rows match the same value(s) and you need to target a specific one.
|
|
208
210
|
* @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table.
|
|
209
|
-
* @param {String | Array<String>} values - The value(s) to match in the table rows.
|
|
210
|
-
* @param {Number} [index=0] - The
|
|
211
|
+
* @param {String | Array<String>} values - The value(s) to match in the table rows. If multiple values are provided, only rows containing all of them will match.
|
|
212
|
+
* @param {Number} [index=0] - The index within the list of matching rows (not the table row index). Defaults to 0 (first match). For example, if 3 rows match the given values, use index 1 to select the second match.
|
|
211
213
|
* @example const selector = {
|
|
212
214
|
* elementProperties: {
|
|
213
215
|
* viewName: "gs.fin.runstatutoryreports.s1.view.ReportList",
|
|
@@ -217,13 +219,14 @@ export declare class Table {
|
|
|
217
219
|
* };
|
|
218
220
|
* await ui5.table.selectRowByValues(selector, ["value1", "value2"]);
|
|
219
221
|
* @example const id = "application-ReportingTask-run-component---ReportList--ReportingTable";
|
|
222
|
+
* // Selects the second row that contains "value" (index 1 among matches, not table row index 1)
|
|
220
223
|
* await ui5.table.selectRowByValues(id, "value", 1);
|
|
221
224
|
*/
|
|
222
225
|
selectRowByValues(tableSelectorOrId: Ui5Selector | string, values: string | Array<string>, index?: number): Promise<undefined>;
|
|
223
226
|
/**
|
|
224
227
|
* @function openItemByIndex
|
|
225
228
|
* @memberOf ui5.table
|
|
226
|
-
* @description Opens the item in the table by its index.
|
|
229
|
+
* @description Opens the item in the table by its index via right arrow icon or direct click.
|
|
227
230
|
* @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
|
|
228
231
|
* @param {Number} index - The index of the item to open.
|
|
229
232
|
* @example const selector = {
|
|
@@ -241,10 +244,12 @@ export declare class Table {
|
|
|
241
244
|
/**
|
|
242
245
|
* @function openItemByValues
|
|
243
246
|
* @memberOf ui5.table
|
|
244
|
-
* @description Opens the item in the table containing the given values.
|
|
247
|
+
* @description Opens the item in the table containing the given values. First, all rows containing the given value(s) are collected.
|
|
248
|
+
* Then, the row at the given index within that list of matching rows is opened.
|
|
249
|
+
* This is useful when multiple rows match the same value(s) and you need to target a specific one.
|
|
245
250
|
* @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
|
|
246
|
-
* @param {String | Array<String>} values - The value(s) to match in the table rows.
|
|
247
|
-
* @param {Number} [index=0] - The index
|
|
251
|
+
* @param {String | Array<String>} values - The value(s) to match in the table rows. If multiple values are provided, only rows containing all of them will match.
|
|
252
|
+
* @param {Number} [index=0] - The index within the list of matching rows (not the table row index). Defaults to 0 (first match). For example, if 3 rows match the given values, use index 1 to open the second match.
|
|
248
253
|
* @param {Boolean} [enableHighlighting=true] - Enable or disable highlighting of found elements.
|
|
249
254
|
* @param {String} [matchMode="contains"] - The match mode for the values. Can be "contains", "exact" or "wordBoundary".
|
|
250
255
|
* @example const selector = {
|
|
@@ -275,6 +280,7 @@ export declare class Table {
|
|
|
275
280
|
private _getSelectorTypeForRowSelection;
|
|
276
281
|
private _buildRowSelectionSelector;
|
|
277
282
|
private _selectRow;
|
|
283
|
+
private _clickRowOrArrowIcon;
|
|
278
284
|
}
|
|
279
285
|
declare const _default: Table;
|
|
280
286
|
export default _default;
|
|
@@ -450,10 +450,12 @@ class Table {
|
|
|
450
450
|
/**
|
|
451
451
|
* @function selectRowByValues
|
|
452
452
|
* @memberOf ui5.table
|
|
453
|
-
* @description Selects a row in the table by matching value(s).
|
|
453
|
+
* @description Selects a row in the table by matching value(s). First, all rows containing the given value(s) are collected.
|
|
454
|
+
* Then, the row at the given index within that list of matching rows is selected.
|
|
455
|
+
* This is useful when multiple rows match the same value(s) and you need to target a specific one.
|
|
454
456
|
* @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table.
|
|
455
|
-
* @param {String | Array<String>} values - The value(s) to match in the table rows.
|
|
456
|
-
* @param {Number} [index=0] - The
|
|
457
|
+
* @param {String | Array<String>} values - The value(s) to match in the table rows. If multiple values are provided, only rows containing all of them will match.
|
|
458
|
+
* @param {Number} [index=0] - The index within the list of matching rows (not the table row index). Defaults to 0 (first match). For example, if 3 rows match the given values, use index 1 to select the second match.
|
|
457
459
|
* @example const selector = {
|
|
458
460
|
* elementProperties: {
|
|
459
461
|
* viewName: "gs.fin.runstatutoryreports.s1.view.ReportList",
|
|
@@ -463,6 +465,7 @@ class Table {
|
|
|
463
465
|
* };
|
|
464
466
|
* await ui5.table.selectRowByValues(selector, ["value1", "value2"]);
|
|
465
467
|
* @example const id = "application-ReportingTask-run-component---ReportList--ReportingTable";
|
|
468
|
+
* // Selects the second row that contains "value" (index 1 among matches, not table row index 1)
|
|
466
469
|
* await ui5.table.selectRowByValues(id, "value", 1);
|
|
467
470
|
*/
|
|
468
471
|
async selectRowByValues(tableSelectorOrId, values, index = 0) {
|
|
@@ -480,7 +483,7 @@ class Table {
|
|
|
480
483
|
/**
|
|
481
484
|
* @function openItemByIndex
|
|
482
485
|
* @memberOf ui5.table
|
|
483
|
-
* @description Opens the item in the table by its index.
|
|
486
|
+
* @description Opens the item in the table by its index via right arrow icon or direct click.
|
|
484
487
|
* @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
|
|
485
488
|
* @param {Number} index - The index of the item to open.
|
|
486
489
|
* @example const selector = {
|
|
@@ -497,15 +500,17 @@ class Table {
|
|
|
497
500
|
async openItemByIndex(tableSelectorOrId, index) {
|
|
498
501
|
this.vlf.initLog(this.openItemByIndex);
|
|
499
502
|
const rowSelector = await this.getSelectorForRowByIndex(tableSelectorOrId, index);
|
|
500
|
-
await
|
|
503
|
+
await this._clickRowOrArrowIcon(rowSelector);
|
|
501
504
|
}
|
|
502
505
|
/**
|
|
503
506
|
* @function openItemByValues
|
|
504
507
|
* @memberOf ui5.table
|
|
505
|
-
* @description Opens the item in the table containing the given values.
|
|
508
|
+
* @description Opens the item in the table containing the given values. First, all rows containing the given value(s) are collected.
|
|
509
|
+
* Then, the row at the given index within that list of matching rows is opened.
|
|
510
|
+
* This is useful when multiple rows match the same value(s) and you need to target a specific one.
|
|
506
511
|
* @param {Ui5Selector | String} tableSelectorOrId - The selector or ID describing the table (sap.m.Table | sap.ui.comp.smarttable.SmartTable).
|
|
507
|
-
* @param {String | Array<String>} values - The value(s) to match in the table rows.
|
|
508
|
-
* @param {Number} [index=0] - The index
|
|
512
|
+
* @param {String | Array<String>} values - The value(s) to match in the table rows. If multiple values are provided, only rows containing all of them will match.
|
|
513
|
+
* @param {Number} [index=0] - The index within the list of matching rows (not the table row index). Defaults to 0 (first match). For example, if 3 rows match the given values, use index 1 to open the second match.
|
|
509
514
|
* @param {Boolean} [enableHighlighting=true] - Enable or disable highlighting of found elements.
|
|
510
515
|
* @param {String} [matchMode="contains"] - The match mode for the values. Can be "contains", "exact" or "wordBoundary".
|
|
511
516
|
* @example const selector = {
|
|
@@ -524,16 +529,12 @@ class Table {
|
|
|
524
529
|
async openItemByValues(tableSelectorOrId, values, index = 0, enableHighlighting = true, matchMode = "contains") {
|
|
525
530
|
this.vlf.initLog(this.openItemByValues);
|
|
526
531
|
const rowSelectors = await this.getSelectorsForRowsByValues(tableSelectorOrId, values, enableHighlighting, matchMode);
|
|
527
|
-
if (rowSelectors.length === 0)
|
|
532
|
+
if (rowSelectors.length === 0)
|
|
528
533
|
return this.ErrorHandler.logException(new Error(`No items found with the provided values: ${values}.`));
|
|
529
|
-
|
|
530
|
-
else if (rowSelectors.length <= index) {
|
|
534
|
+
if (rowSelectors.length <= index)
|
|
531
535
|
return this.ErrorHandler.logException(new Error(`The index ${index} is out of bounds. The number of matching items is ${rowSelectors.length}.`));
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
const rowSelector = rowSelectors[index];
|
|
535
|
-
await ui5.userInteraction.click(rowSelector);
|
|
536
|
-
}
|
|
536
|
+
const rowSelector = rowSelectors[index];
|
|
537
|
+
await this._clickRowOrArrowIcon(rowSelector);
|
|
537
538
|
}
|
|
538
539
|
// =================================== HELPER ===================================
|
|
539
540
|
static async _resolveTableSelectorOrId(tableSelectorOrId, timeout = parseFloat(process.env.QMATE_CUSTOM_TIMEOUT) || constants_1.GLOBAL_DEFAULT_WAIT_TIMEOUT) {
|
|
@@ -880,6 +881,21 @@ class Table {
|
|
|
880
881
|
throw new Error("No selectable element found for the row.");
|
|
881
882
|
}
|
|
882
883
|
}
|
|
884
|
+
async _clickRowOrArrowIcon(rowSelector) {
|
|
885
|
+
const rowArrowIconSelector = {
|
|
886
|
+
elementProperties: {
|
|
887
|
+
metadata: "sap.ui.core.Icon",
|
|
888
|
+
src: "sap-icon://slim-arrow-right"
|
|
889
|
+
},
|
|
890
|
+
parentProperties: rowSelector.elementProperties
|
|
891
|
+
};
|
|
892
|
+
if (await ui5.element.isVisible(rowArrowIconSelector, 0, 5000)) {
|
|
893
|
+
await ui5.userInteraction.click(rowArrowIconSelector);
|
|
894
|
+
}
|
|
895
|
+
else {
|
|
896
|
+
await ui5.userInteraction.click(rowSelector);
|
|
897
|
+
}
|
|
898
|
+
}
|
|
883
899
|
}
|
|
884
900
|
exports.Table = Table;
|
|
885
901
|
exports.default = new Table();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/reuse/modules/ui5/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ class Data {
|
|
|
52
52
|
// ========================== Class variables ==========================
|
|
53
53
|
vlf = new verboseLogger_1.VerboseLoggerFactory("util", "data");
|
|
54
54
|
ErrorHandler = new errorHandler_1.default();
|
|
55
|
-
_alreadyDecryptedData =
|
|
55
|
+
_alreadyDecryptedData = new Set();
|
|
56
56
|
// ========================== Public functions ==========================
|
|
57
57
|
/**
|
|
58
58
|
* @function getData
|
|
@@ -102,11 +102,11 @@ class Data {
|
|
|
102
102
|
const data = browser.config.params.import[source][filename];
|
|
103
103
|
const dataIdentifier = `${source}_${filename}`;
|
|
104
104
|
// Decrypt data if not already decrypted and private key is found
|
|
105
|
-
if (!this._alreadyDecryptedData.
|
|
105
|
+
if (!this._alreadyDecryptedData.has(dataIdentifier) && privateKeyFound) {
|
|
106
106
|
this._decryptRecursively(data, options);
|
|
107
107
|
}
|
|
108
|
-
// Make sure data is not decrypted again
|
|
109
|
-
this._alreadyDecryptedData.
|
|
108
|
+
// Make sure data is not decrypted again (Set ignores duplicates)
|
|
109
|
+
this._alreadyDecryptedData.add(dataIdentifier);
|
|
110
110
|
return data;
|
|
111
111
|
}
|
|
112
112
|
else {
|
|
@@ -178,14 +178,31 @@ class Data {
|
|
|
178
178
|
if (typeof data[key] === "object" && !Array.isArray(data[key])) {
|
|
179
179
|
data[key] = this._decryptRecursively(data[key], options);
|
|
180
180
|
}
|
|
181
|
-
else if (
|
|
181
|
+
else if (Array.isArray(data[key])) {
|
|
182
182
|
data[key] = global.util.data.decrypt(data[key], options);
|
|
183
183
|
}
|
|
184
|
+
else if (typeof data[key] === "string") {
|
|
185
|
+
const isPlainHex = this._isHex(data[key]);
|
|
186
|
+
const isBase64Hex = !isPlainHex && this._isBase64EncodedHex(data[key]);
|
|
187
|
+
if (isPlainHex || isBase64Hex) {
|
|
188
|
+
const effectiveOptions = isBase64Hex ? { useBase64Input: true, ...options } : options; // User-provided options override auto-detected values
|
|
189
|
+
data[key] = global.util.data.decrypt(data[key], effectiveOptions);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
184
192
|
}
|
|
185
193
|
return data;
|
|
186
194
|
}
|
|
187
195
|
_isHex(str) {
|
|
188
|
-
return /^[0-9a-fA-F]+$/.test(str) && str.length % 2 === 0;
|
|
196
|
+
return /^[0-9a-fA-F]+$/.test(str) && str.length % 2 === 0 && str.length >= 64;
|
|
197
|
+
}
|
|
198
|
+
_isBase64EncodedHex(str) {
|
|
199
|
+
try {
|
|
200
|
+
const decoded = Buffer.from(str, "base64").toString("utf8");
|
|
201
|
+
return this._isHex(decoded);
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
189
206
|
}
|
|
190
207
|
}
|
|
191
208
|
exports.Data = Data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/reuse/modules/util/data.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,iBAAiB;AACjB,2BAAoC;AACpC,2CAA6B;AAE7B,cAAc;AACd,sGAAkF;AAClF,8DAAkE;AAClE,6EAAqD;AAKrD;;;GAGG;AACH,MAAa,IAAI;IACf,wEAAwE;IAChE,GAAG,GAAG,IAAI,oCAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,YAAY,GAAG,IAAI,sBAAY,EAAE,CAAC;IAElC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/reuse/modules/util/data.ts"],"names":[],"mappings":"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"}
|
|
@@ -364,8 +364,10 @@ module.exports = {
|
|
|
364
364
|
}
|
|
365
365
|
// Public
|
|
366
366
|
filter(controls) {
|
|
367
|
-
|
|
368
|
-
|
|
367
|
+
const isEmpty = Array.isArray(this.elementProperties)
|
|
368
|
+
? this.elementProperties.length === 0
|
|
369
|
+
: Object.keys(this.elementProperties).length === 0;
|
|
370
|
+
if (isEmpty || controls.length === 0) {
|
|
369
371
|
return controls;
|
|
370
372
|
}
|
|
371
373
|
LocatorDebug.beginLog(this.constructor.name, controls.length);
|
|
@@ -374,7 +376,10 @@ module.exports = {
|
|
|
374
376
|
return filteredControls;
|
|
375
377
|
}
|
|
376
378
|
checkSingle(control) {
|
|
377
|
-
|
|
379
|
+
const isEmpty = Array.isArray(this.elementProperties)
|
|
380
|
+
? this.elementProperties.length === 0
|
|
381
|
+
: Object.keys(this.elementProperties).length === 0;
|
|
382
|
+
if (isEmpty) {
|
|
378
383
|
return true;
|
|
379
384
|
}
|
|
380
385
|
if (!control) {
|
|
@@ -391,6 +396,9 @@ module.exports = {
|
|
|
391
396
|
}
|
|
392
397
|
// Private
|
|
393
398
|
convertRawElementPropertiesToElementProperties(rawElementProperties) {
|
|
399
|
+
if (Array.isArray(rawElementProperties)) {
|
|
400
|
+
return rawElementProperties;
|
|
401
|
+
}
|
|
394
402
|
let elementProperties = { ...rawElementProperties };
|
|
395
403
|
if (typeof rawElementProperties?.mProperties === "object") {
|
|
396
404
|
elementProperties = {
|
|
@@ -403,16 +411,29 @@ module.exports = {
|
|
|
403
411
|
}
|
|
404
412
|
};
|
|
405
413
|
// src/scripts/locators/qmateLocatorSrc/filters/AncestorFilter.ts
|
|
406
|
-
var AncestorFilter = class extends BaseFilter {
|
|
414
|
+
var AncestorFilter = class _AncestorFilter extends BaseFilter {
|
|
407
415
|
doCheckSingle(control) {
|
|
416
|
+
if (Array.isArray(this.elementProperties)) {
|
|
417
|
+
return this.elementProperties.every((props) => {
|
|
418
|
+
return this.filterFactory
|
|
419
|
+
.getInstance(_AncestorFilter, props)
|
|
420
|
+
.checkSingle(control);
|
|
421
|
+
});
|
|
422
|
+
}
|
|
408
423
|
const ancestors = UI5ControlHandler.getUI5Ancestors(control);
|
|
409
424
|
const elementFilter = this.filterFactory.getInstance(ElementFilter, this.elementProperties);
|
|
410
425
|
return ancestors.some((ancestor) => elementFilter.checkSingle(ancestor));
|
|
411
426
|
}
|
|
412
427
|
};
|
|
413
428
|
// src/scripts/locators/qmateLocatorSrc/filters/DescendantFilter.ts
|
|
414
|
-
var DescendantFilter = class extends BaseFilter {
|
|
429
|
+
var DescendantFilter = class _DescendantFilter extends BaseFilter {
|
|
415
430
|
doCheckSingle(control) {
|
|
431
|
+
if (Array.isArray(this.elementProperties)) {
|
|
432
|
+
return this.elementProperties.every((props) => {
|
|
433
|
+
const filter = this.filterFactory.getInstance(_DescendantFilter, props);
|
|
434
|
+
return filter.checkSingle(control);
|
|
435
|
+
});
|
|
436
|
+
}
|
|
416
437
|
const parentElement = document.getElementById(control.getId?.());
|
|
417
438
|
if (!parentElement) {
|
|
418
439
|
return false;
|
|
@@ -425,8 +446,15 @@ module.exports = {
|
|
|
425
446
|
}
|
|
426
447
|
};
|
|
427
448
|
// src/scripts/locators/qmateLocatorSrc/filters/SiblingFilter.ts
|
|
428
|
-
var SiblingFilter = class extends BaseFilter {
|
|
449
|
+
var SiblingFilter = class _SiblingFilter extends BaseFilter {
|
|
429
450
|
doCheckSingle(control) {
|
|
451
|
+
if (Array.isArray(this.elementProperties)) {
|
|
452
|
+
return this.elementProperties.every((props) => {
|
|
453
|
+
return this.filterFactory
|
|
454
|
+
.getInstance(_SiblingFilter, props)
|
|
455
|
+
.checkSingle(control);
|
|
456
|
+
});
|
|
457
|
+
}
|
|
430
458
|
const aSiblingControls = UI5ControlHandler.findSiblingControls(control);
|
|
431
459
|
const elementFilter = this.filterFactory.getInstance(ElementFilter, this.elementProperties);
|
|
432
460
|
return aSiblingControls.some((siblingControl) => elementFilter.checkSingle(siblingControl));
|
|
@@ -575,15 +603,23 @@ module.exports = {
|
|
|
575
603
|
// src/scripts/locators/qmateLocatorSrc/filters/PropertiesFilter.ts
|
|
576
604
|
var PropertiesFilter = class extends BaseFilter {
|
|
577
605
|
doCheckSingle(control) {
|
|
578
|
-
|
|
579
|
-
pass
|
|
580
|
-
pass &&=
|
|
606
|
+
const props = this.elementProperties;
|
|
607
|
+
let pass = MetadataComparator.compareMetadata(props, control);
|
|
608
|
+
pass &&= ElementPropertiesComparator.compareToProperties(props, control);
|
|
609
|
+
pass &&= DomPropertiesComparator.compareToDomProperties(props.domProperties, control);
|
|
581
610
|
return pass;
|
|
582
611
|
}
|
|
583
612
|
};
|
|
584
613
|
// src/scripts/locators/qmateLocatorSrc/filters/ChildFilter.ts
|
|
585
|
-
var ChildFilter = class extends BaseFilter {
|
|
614
|
+
var ChildFilter = class _ChildFilter extends BaseFilter {
|
|
586
615
|
doCheckSingle(control) {
|
|
616
|
+
if (Array.isArray(this.elementProperties)) {
|
|
617
|
+
return this.elementProperties.every((props) => {
|
|
618
|
+
return this.filterFactory
|
|
619
|
+
.getInstance(_ChildFilter, props)
|
|
620
|
+
.checkSingle(control);
|
|
621
|
+
});
|
|
622
|
+
}
|
|
587
623
|
const element = document.getElementById(control.getId());
|
|
588
624
|
if (!element) {
|
|
589
625
|
return false;
|
|
@@ -645,42 +681,45 @@ module.exports = {
|
|
|
645
681
|
var ElementFilter = class _ElementFilter extends BaseFilter {
|
|
646
682
|
doFiltering(controls) {
|
|
647
683
|
this.checkElementProperties();
|
|
684
|
+
const props = this.elementProperties;
|
|
648
685
|
let filteredControls = this.filterFactory
|
|
649
|
-
.getInstance(PropertiesFilter,
|
|
686
|
+
.getInstance(PropertiesFilter, props)
|
|
650
687
|
.filter(controls);
|
|
651
688
|
filteredControls = this.filterFactory
|
|
652
|
-
.getInstance(AncestorFilter,
|
|
689
|
+
.getInstance(AncestorFilter, props.ancestorProperties)
|
|
653
690
|
.filter(filteredControls);
|
|
654
691
|
filteredControls = this.filterFactory
|
|
655
|
-
.getInstance(DescendantFilter,
|
|
692
|
+
.getInstance(DescendantFilter, props.descendantProperties)
|
|
656
693
|
.filter(filteredControls);
|
|
657
694
|
filteredControls = this.filterFactory
|
|
658
|
-
.getInstance(SiblingFilter,
|
|
695
|
+
.getInstance(SiblingFilter, props.siblingProperties)
|
|
659
696
|
.filter(filteredControls);
|
|
660
697
|
return filteredControls;
|
|
661
698
|
}
|
|
662
699
|
doCheckSingle(control) {
|
|
663
700
|
this.checkElementProperties();
|
|
701
|
+
const props = this.elementProperties;
|
|
664
702
|
let pass = this.filterFactory
|
|
665
|
-
.getInstance(PropertiesFilter,
|
|
703
|
+
.getInstance(PropertiesFilter, props)
|
|
666
704
|
.checkSingle(control);
|
|
667
705
|
pass &&= this.filterFactory
|
|
668
|
-
.getInstance(AncestorFilter,
|
|
706
|
+
.getInstance(AncestorFilter, props.ancestorProperties)
|
|
669
707
|
.checkSingle(control);
|
|
670
708
|
pass &&= this.filterFactory
|
|
671
|
-
.getInstance(DescendantFilter,
|
|
709
|
+
.getInstance(DescendantFilter, props.descendantProperties)
|
|
672
710
|
.checkSingle(control);
|
|
673
711
|
pass &&= this.filterFactory
|
|
674
|
-
.getInstance(SiblingFilter,
|
|
712
|
+
.getInstance(SiblingFilter, props.siblingProperties)
|
|
675
713
|
.checkSingle(control);
|
|
676
714
|
return pass;
|
|
677
715
|
}
|
|
678
716
|
checkElementProperties() {
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
717
|
+
const props = this.elementProperties;
|
|
718
|
+
if (props?.prevSiblingProperties ||
|
|
719
|
+
props?.nextSiblingProperties ||
|
|
720
|
+
props?.childProperties ||
|
|
721
|
+
props?.parentProperties) {
|
|
722
|
+
console.error(`The selector your provided ${JSON.stringify(props)} contains childProperties, parentProperties, prevSiblingProperties or nextSiblingProperties, please provide a valid selector without these properties`);
|
|
684
723
|
throw new Error("Nested properties can only be used for ancestorProperties, descendantProperties or siblingProperties.");
|
|
685
724
|
}
|
|
686
725
|
}
|