d5-testing-library 1.9.0-alpha.3 → 1.9.0-alpha.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.
- package/dist/FormEdit-HKAE6UOF.mjs +7 -0
- package/dist/ListForm-CXLXD6RE.mjs +7 -0
- package/dist/TreeView-OXPURAEI.mjs +8 -0
- package/dist/{chunk-ROHBQLRX.mjs → chunk-3JBQO6DG.mjs} +16 -10
- package/dist/{chunk-SDT2W3SL.mjs → chunk-3PO3YA3N.mjs} +1 -1
- package/dist/{chunk-IYYD4X7U.mjs → chunk-MDFQ5SEY.mjs} +1 -1
- package/dist/{chunk-GP4LKGNA.mjs → chunk-W3OQIRB2.mjs} +1 -1
- package/dist/cjs/d5-testing-library.cjs +21 -11
- package/dist/d5-testing-library.legacy-esm.js +8 -4
- package/dist/d5-testing-library.mjs +8 -4
- package/package.json +1 -1
- package/dist/FormEdit-3LEWNAX2.mjs +0 -7
- package/dist/ListForm-GQBL7TEK.mjs +0 -7
- package/dist/TreeView-SO5WRZ7F.mjs +0 -8
|
@@ -427,7 +427,7 @@ var TAGS_SELECTOR = ".dx-tag .tag-text";
|
|
|
427
427
|
var DX_TAG_CONTAINER = "dx-tag-container";
|
|
428
428
|
var DX_TEXTEDITOR_EMPTY2 = "dx-texteditor-empty";
|
|
429
429
|
var BTN_OK_SELECTOR = ".dx-tagbox-popup-wrapper .dx-popup-bottom .dx-button.dx-popup-done";
|
|
430
|
-
var
|
|
430
|
+
var getSelectedOptionXpath = (value) => `//body/div[@id="root"]/div[contains(@class, "dx-overlay-wrapper")]//div[contains(@class, 'dx-list-item') and @aria-selected="true"]//div[contains(., "${value}")]`;
|
|
431
431
|
var TagBox = class extends AbstractDXEditorWithInput {
|
|
432
432
|
constructor(parentCssSelector, elementCssSelector, driver) {
|
|
433
433
|
super(parentCssSelector, elementCssSelector, driver);
|
|
@@ -442,9 +442,15 @@ var TagBox = class extends AbstractDXEditorWithInput {
|
|
|
442
442
|
}
|
|
443
443
|
await this.confirmSelection();
|
|
444
444
|
}
|
|
445
|
-
async waitOptionSelection() {
|
|
446
|
-
|
|
447
|
-
|
|
445
|
+
async waitOptionSelection(value) {
|
|
446
|
+
await safeWait(
|
|
447
|
+
async () => {
|
|
448
|
+
const elements = await this.driver.findElements(By6.xpath(getSelectedOptionXpath(value)));
|
|
449
|
+
if (elements.length === 0) return false;
|
|
450
|
+
return await elements[0].isDisplayed();
|
|
451
|
+
},
|
|
452
|
+
this.driver
|
|
453
|
+
);
|
|
448
454
|
}
|
|
449
455
|
async selectOption(inputEl, value, lastElement) {
|
|
450
456
|
try {
|
|
@@ -453,7 +459,7 @@ var TagBox = class extends AbstractDXEditorWithInput {
|
|
|
453
459
|
await inputEl.sendKeys(value);
|
|
454
460
|
await dropDownOptionClick(value, this.driver);
|
|
455
461
|
}
|
|
456
|
-
await this.waitOptionSelection();
|
|
462
|
+
await this.waitOptionSelection(value);
|
|
457
463
|
if (value !== lastElement) {
|
|
458
464
|
await inputEl.clear();
|
|
459
465
|
}
|
|
@@ -699,7 +705,7 @@ var DX_TAG_CONTAINER2 = "dx-tag-container";
|
|
|
699
705
|
var DX_TEXTEDITOR_EMPTY3 = "dx-texteditor-empty";
|
|
700
706
|
var CUSTOM_OPTION_LIST_SELECTOR = "custom-list";
|
|
701
707
|
var SELECT_BOX_OPTION_TEXT_CONTAINER_CLASS2 = "d5-multi-select-item";
|
|
702
|
-
var
|
|
708
|
+
var TAG_BOX_LIST_ITEM_SELECTOR = '.dx-overlay-wrapper .dx-list-item[aria-selected="true"]';
|
|
703
709
|
var combinedOptionHeaderFilterDictValueXpath = (value) => `//div[contains(@class, '${SELECT_BOX_OPTION_TEXT_CONTAINER_CLASS2}') and contains(text(), '${value}')]`;
|
|
704
710
|
var dropDownHeaderFilterDictionaryOptionClick = async (optionValue, driver, dataTEST = "", delay = true) => {
|
|
705
711
|
const { implicit } = await driver.manage().getTimeouts();
|
|
@@ -735,7 +741,7 @@ var HeaderFilterDictionary = class extends AbstractDXEditorWithInput {
|
|
|
735
741
|
}
|
|
736
742
|
}
|
|
737
743
|
async waitOptionSelection() {
|
|
738
|
-
await fixElementStaleError(By11.css(
|
|
744
|
+
await fixElementStaleError(By11.css(TAG_BOX_LIST_ITEM_SELECTOR), this.driver);
|
|
739
745
|
}
|
|
740
746
|
async selectOption(inputEl, value, lastElement) {
|
|
741
747
|
try {
|
|
@@ -1270,15 +1276,15 @@ async function classDependencyInjector(formType) {
|
|
|
1270
1276
|
let SubFormFactoryClass;
|
|
1271
1277
|
switch (formType) {
|
|
1272
1278
|
case "1" /* LIST */:
|
|
1273
|
-
SubFormFactoryClass = (await import("./ListForm-
|
|
1279
|
+
SubFormFactoryClass = (await import("./ListForm-CXLXD6RE.mjs")).default;
|
|
1274
1280
|
break;
|
|
1275
1281
|
case "3" /* TREE */:
|
|
1276
|
-
SubFormFactoryClass = (await import("./TreeView-
|
|
1282
|
+
SubFormFactoryClass = (await import("./TreeView-OXPURAEI.mjs")).default;
|
|
1277
1283
|
break;
|
|
1278
1284
|
case "2" /* EDIT */:
|
|
1279
1285
|
case "99" /* FREE_FORM */:
|
|
1280
1286
|
case "4" /* REPORT */:
|
|
1281
|
-
SubFormFactoryClass = (await import("./FormEdit-
|
|
1287
|
+
SubFormFactoryClass = (await import("./FormEdit-HKAE6UOF.mjs")).default;
|
|
1282
1288
|
break;
|
|
1283
1289
|
default:
|
|
1284
1290
|
throw new Error(`Unsupported form type ${formType}`);
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
staleElementAction,
|
|
19
19
|
waitElementIsClickable_default,
|
|
20
20
|
waitElementIsVisible_default
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-3JBQO6DG.mjs";
|
|
22
22
|
|
|
23
23
|
// src/pageObjects/elements/Table/Table.ts
|
|
24
24
|
import { By as By6 } from "selenium-webdriver";
|
|
@@ -602,7 +602,7 @@ var init_SwitchEditor = __esm({
|
|
|
602
602
|
});
|
|
603
603
|
|
|
604
604
|
// src/pageObjects/elements/Editors/TagBox.ts
|
|
605
|
-
var import_selenium_webdriver10, TAGS_SELECTOR, DX_TAG_CONTAINER, DX_TEXTEDITOR_EMPTY2, BTN_OK_SELECTOR,
|
|
605
|
+
var import_selenium_webdriver10, TAGS_SELECTOR, DX_TAG_CONTAINER, DX_TEXTEDITOR_EMPTY2, BTN_OK_SELECTOR, getSelectedOptionXpath, TagBox;
|
|
606
606
|
var init_TagBox = __esm({
|
|
607
607
|
"src/pageObjects/elements/Editors/TagBox.ts"() {
|
|
608
608
|
"use strict";
|
|
@@ -618,7 +618,7 @@ var init_TagBox = __esm({
|
|
|
618
618
|
DX_TAG_CONTAINER = "dx-tag-container";
|
|
619
619
|
DX_TEXTEDITOR_EMPTY2 = "dx-texteditor-empty";
|
|
620
620
|
BTN_OK_SELECTOR = ".dx-tagbox-popup-wrapper .dx-popup-bottom .dx-button.dx-popup-done";
|
|
621
|
-
|
|
621
|
+
getSelectedOptionXpath = (value) => `//body/div[@id="root"]/div[contains(@class, "dx-overlay-wrapper")]//div[contains(@class, 'dx-list-item') and @aria-selected="true"]//div[contains(., "${value}")]`;
|
|
622
622
|
TagBox = class extends AbstractDXEditorWithInput {
|
|
623
623
|
constructor(parentCssSelector, elementCssSelector, driver) {
|
|
624
624
|
super(parentCssSelector, elementCssSelector, driver);
|
|
@@ -633,9 +633,15 @@ var init_TagBox = __esm({
|
|
|
633
633
|
}
|
|
634
634
|
await this.confirmSelection();
|
|
635
635
|
}
|
|
636
|
-
async waitOptionSelection() {
|
|
637
|
-
|
|
638
|
-
|
|
636
|
+
async waitOptionSelection(value) {
|
|
637
|
+
await safeWait(
|
|
638
|
+
async () => {
|
|
639
|
+
const elements = await this.driver.findElements(import_selenium_webdriver10.By.xpath(getSelectedOptionXpath(value)));
|
|
640
|
+
if (elements.length === 0) return false;
|
|
641
|
+
return await elements[0].isDisplayed();
|
|
642
|
+
},
|
|
643
|
+
this.driver
|
|
644
|
+
);
|
|
639
645
|
}
|
|
640
646
|
async selectOption(inputEl, value, lastElement) {
|
|
641
647
|
try {
|
|
@@ -644,7 +650,7 @@ var init_TagBox = __esm({
|
|
|
644
650
|
await inputEl.sendKeys(value);
|
|
645
651
|
await dropDownOptionClick(value, this.driver);
|
|
646
652
|
}
|
|
647
|
-
await this.waitOptionSelection();
|
|
653
|
+
await this.waitOptionSelection(value);
|
|
648
654
|
if (value !== lastElement) {
|
|
649
655
|
await inputEl.clear();
|
|
650
656
|
}
|
|
@@ -941,7 +947,7 @@ var init_DateEditor = __esm({
|
|
|
941
947
|
});
|
|
942
948
|
|
|
943
949
|
// src/pageObjects/elements/Editors/HeaderFilterDictionary.ts
|
|
944
|
-
var import_selenium_webdriver15, TAGS_SELECTOR2, DX_TAG_CONTAINER2, DX_TEXTEDITOR_EMPTY3, CUSTOM_OPTION_LIST_SELECTOR, SELECT_BOX_OPTION_TEXT_CONTAINER_CLASS2,
|
|
950
|
+
var import_selenium_webdriver15, TAGS_SELECTOR2, DX_TAG_CONTAINER2, DX_TEXTEDITOR_EMPTY3, CUSTOM_OPTION_LIST_SELECTOR, SELECT_BOX_OPTION_TEXT_CONTAINER_CLASS2, TAG_BOX_LIST_ITEM_SELECTOR, combinedOptionHeaderFilterDictValueXpath, dropDownHeaderFilterDictionaryOptionClick, HeaderFilterDictionary;
|
|
945
951
|
var init_HeaderFilterDictionary = __esm({
|
|
946
952
|
"src/pageObjects/elements/Editors/HeaderFilterDictionary.ts"() {
|
|
947
953
|
"use strict";
|
|
@@ -956,7 +962,7 @@ var init_HeaderFilterDictionary = __esm({
|
|
|
956
962
|
DX_TEXTEDITOR_EMPTY3 = "dx-texteditor-empty";
|
|
957
963
|
CUSTOM_OPTION_LIST_SELECTOR = "custom-list";
|
|
958
964
|
SELECT_BOX_OPTION_TEXT_CONTAINER_CLASS2 = "d5-multi-select-item";
|
|
959
|
-
|
|
965
|
+
TAG_BOX_LIST_ITEM_SELECTOR = '.dx-overlay-wrapper .dx-list-item[aria-selected="true"]';
|
|
960
966
|
combinedOptionHeaderFilterDictValueXpath = (value) => `//div[contains(@class, '${SELECT_BOX_OPTION_TEXT_CONTAINER_CLASS2}') and contains(text(), '${value}')]`;
|
|
961
967
|
dropDownHeaderFilterDictionaryOptionClick = async (optionValue, driver, dataTEST = "", delay = true) => {
|
|
962
968
|
const { implicit } = await driver.manage().getTimeouts();
|
|
@@ -992,7 +998,7 @@ var init_HeaderFilterDictionary = __esm({
|
|
|
992
998
|
}
|
|
993
999
|
}
|
|
994
1000
|
async waitOptionSelection() {
|
|
995
|
-
await fixElementStaleError(import_selenium_webdriver15.By.css(
|
|
1001
|
+
await fixElementStaleError(import_selenium_webdriver15.By.css(TAG_BOX_LIST_ITEM_SELECTOR), this.driver);
|
|
996
1002
|
}
|
|
997
1003
|
async selectOption(inputEl, value, lastElement) {
|
|
998
1004
|
try {
|
|
@@ -2013,8 +2019,8 @@ var init_AbstractDropDownMenuList = __esm({
|
|
|
2013
2019
|
const menuItemElement = await fixElementStaleError(by, this.driver);
|
|
2014
2020
|
await click(menuItemElement, this.driver);
|
|
2015
2021
|
}
|
|
2016
|
-
async getElementByPath(
|
|
2017
|
-
let pathList = isString(
|
|
2022
|
+
async getElementByPath(path2, getBy, returnLastElement = false) {
|
|
2023
|
+
let pathList = isString(path2) ? [path2] : path2;
|
|
2018
2024
|
let result = null;
|
|
2019
2025
|
let index = 1;
|
|
2020
2026
|
for (let text of pathList) {
|
|
@@ -3600,6 +3606,7 @@ init_locators();
|
|
|
3600
3606
|
|
|
3601
3607
|
// src/utils/createDriver.ts
|
|
3602
3608
|
var import_selenium_webdriver4 = require("selenium-webdriver");
|
|
3609
|
+
var import_node_path = __toESM(require("path"));
|
|
3603
3610
|
init_config();
|
|
3604
3611
|
var import_chrome = __toESM(require("selenium-webdriver/chrome"));
|
|
3605
3612
|
var import_firefox = __toESM(require("selenium-webdriver/firefox"));
|
|
@@ -3607,7 +3614,10 @@ function chromeOptions(builder, options) {
|
|
|
3607
3614
|
const ChromeOptions = new import_chrome.default.Options();
|
|
3608
3615
|
if (options.headless) {
|
|
3609
3616
|
ChromeOptions.addArguments(`--headless=new`);
|
|
3617
|
+
ChromeOptions.addArguments(`--disable-gpu`);
|
|
3618
|
+
ChromeOptions.addArguments(`--disable-dev-shm-usage`);
|
|
3610
3619
|
}
|
|
3620
|
+
ChromeOptions.addArguments(`--user-data-dir=${import_node_path.default.resolve("./.chrome-cache")}`);
|
|
3611
3621
|
return builder.setChromeOptions(ChromeOptions);
|
|
3612
3622
|
}
|
|
3613
3623
|
function firefoxOptions(builder, options) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TreeView
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MDFQ5SEY.mjs";
|
|
4
4
|
import {
|
|
5
5
|
FilterPanel,
|
|
6
6
|
FormFilterField,
|
|
7
7
|
ListForm,
|
|
8
8
|
PanelFilterField
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-W3OQIRB2.mjs";
|
|
10
10
|
import {
|
|
11
11
|
FormEdit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-3PO3YA3N.mjs";
|
|
13
13
|
import {
|
|
14
14
|
AbstractButton,
|
|
15
15
|
AbstractElement,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
safeWait,
|
|
33
33
|
waitElementIsClickable_default,
|
|
34
34
|
waitElementIsVisible_default
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-3JBQO6DG.mjs";
|
|
36
36
|
|
|
37
37
|
// src/pageObjects/pages/LoginPage.ts
|
|
38
38
|
import { By } from "selenium-webdriver";
|
|
@@ -78,13 +78,17 @@ var LoginPage = class extends AbstractPage {
|
|
|
78
78
|
|
|
79
79
|
// src/utils/createDriver.ts
|
|
80
80
|
import { Builder } from "selenium-webdriver";
|
|
81
|
+
import path from "node:path";
|
|
81
82
|
import Chrome from "selenium-webdriver/chrome";
|
|
82
83
|
import Firefox from "selenium-webdriver/firefox";
|
|
83
84
|
function chromeOptions(builder, options) {
|
|
84
85
|
const ChromeOptions = new Chrome.Options();
|
|
85
86
|
if (options.headless) {
|
|
86
87
|
ChromeOptions.addArguments(`--headless=new`);
|
|
88
|
+
ChromeOptions.addArguments(`--disable-gpu`);
|
|
89
|
+
ChromeOptions.addArguments(`--disable-dev-shm-usage`);
|
|
87
90
|
}
|
|
91
|
+
ChromeOptions.addArguments(`--user-data-dir=${path.resolve("./.chrome-cache")}`);
|
|
88
92
|
return builder.setChromeOptions(ChromeOptions);
|
|
89
93
|
}
|
|
90
94
|
function firefoxOptions(builder, options) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TreeView
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MDFQ5SEY.mjs";
|
|
4
4
|
import {
|
|
5
5
|
FilterPanel,
|
|
6
6
|
FormFilterField,
|
|
7
7
|
ListForm,
|
|
8
8
|
PanelFilterField
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-W3OQIRB2.mjs";
|
|
10
10
|
import {
|
|
11
11
|
FormEdit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-3PO3YA3N.mjs";
|
|
13
13
|
import {
|
|
14
14
|
AbstractButton,
|
|
15
15
|
AbstractElement,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
safeWait,
|
|
33
33
|
waitElementIsClickable_default,
|
|
34
34
|
waitElementIsVisible_default
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-3JBQO6DG.mjs";
|
|
36
36
|
|
|
37
37
|
// src/pageObjects/pages/LoginPage.ts
|
|
38
38
|
import { By } from "selenium-webdriver";
|
|
@@ -78,13 +78,17 @@ var LoginPage = class extends AbstractPage {
|
|
|
78
78
|
|
|
79
79
|
// src/utils/createDriver.ts
|
|
80
80
|
import { Builder } from "selenium-webdriver";
|
|
81
|
+
import path from "node:path";
|
|
81
82
|
import Chrome from "selenium-webdriver/chrome";
|
|
82
83
|
import Firefox from "selenium-webdriver/firefox";
|
|
83
84
|
function chromeOptions(builder, options) {
|
|
84
85
|
const ChromeOptions = new Chrome.Options();
|
|
85
86
|
if (options.headless) {
|
|
86
87
|
ChromeOptions.addArguments(`--headless=new`);
|
|
88
|
+
ChromeOptions.addArguments(`--disable-gpu`);
|
|
89
|
+
ChromeOptions.addArguments(`--disable-dev-shm-usage`);
|
|
87
90
|
}
|
|
91
|
+
ChromeOptions.addArguments(`--user-data-dir=${path.resolve("./.chrome-cache")}`);
|
|
88
92
|
return builder.setChromeOptions(ChromeOptions);
|
|
89
93
|
}
|
|
90
94
|
function firefoxOptions(builder, options) {
|
package/package.json
CHANGED