d5-testing-library 1.9.0-alpha.0 → 1.9.0-alpha.10
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-O446NXAV.mjs +7 -0
- package/dist/ListForm-ZCI5RF2U.mjs +7 -0
- package/dist/TreeView-7MRSZ2KK.mjs +8 -0
- package/dist/{chunk-75FRHQCI.mjs → chunk-4JGMDU7V.mjs} +4 -4
- package/dist/{chunk-S62QEWWA.mjs → chunk-4ZFZOCFK.mjs} +66 -9
- package/dist/{chunk-32KSAOFJ.mjs → chunk-FAMXXKP7.mjs} +26 -10
- package/dist/{chunk-XGIXXZD6.mjs → chunk-RZXGXVUK.mjs} +1 -1
- package/dist/cjs/d5-testing-library.cjs +105 -22
- package/dist/cjs/d5-testing-library.d.ts +1015 -0
- package/dist/d5-testing-library.d.mts +28 -2
- package/dist/d5-testing-library.legacy-esm.js +13 -4
- package/dist/d5-testing-library.mjs +13 -4
- package/package.json +10 -5
- package/dist/FormEdit-QNZOB7PA.mjs +0 -7
- package/dist/ListForm-MXGUBMWS.mjs +0 -7
- package/dist/TreeView-VZBOZCFW.mjs +0 -8
|
@@ -250,6 +250,7 @@ interface Button {
|
|
|
250
250
|
isDisabled(): Promise<boolean>;
|
|
251
251
|
isDisplayed(): Promise<boolean>;
|
|
252
252
|
getTitle(): Promise<string>;
|
|
253
|
+
isPressed(): Promise<boolean>;
|
|
253
254
|
}
|
|
254
255
|
declare abstract class AbstractButton extends AbstractElementWithParent implements Button {
|
|
255
256
|
protected constructor(parentCssSelector: string, elementCssSelector: string, driver: WebDriver);
|
|
@@ -257,6 +258,7 @@ declare abstract class AbstractButton extends AbstractElementWithParent implemen
|
|
|
257
258
|
click(): Promise<void>;
|
|
258
259
|
isDisabled(): Promise<boolean>;
|
|
259
260
|
isDisplayed(): Promise<boolean>;
|
|
261
|
+
isPressed(): Promise<boolean>;
|
|
260
262
|
abstract getTitle(): Promise<string>;
|
|
261
263
|
}
|
|
262
264
|
|
|
@@ -517,6 +519,7 @@ declare class ToolbarItem extends AbstractElementWithParent implements Button {
|
|
|
517
519
|
click(): Promise<void>;
|
|
518
520
|
isDisabled(): Promise<boolean>;
|
|
519
521
|
isDisplayed(): Promise<boolean>;
|
|
522
|
+
isPressed(): Promise<boolean>;
|
|
520
523
|
getTitle(): Promise<string>;
|
|
521
524
|
get menu(): ToolbarMenu;
|
|
522
525
|
}
|
|
@@ -581,7 +584,7 @@ declare class Row extends AbstractElementWithParent {
|
|
|
581
584
|
getCellByIndex(index: number): Cell;
|
|
582
585
|
getCell(name: string): Cell;
|
|
583
586
|
getCellByTitle(title: string): Cell;
|
|
584
|
-
select(): Promise<void>;
|
|
587
|
+
select(preserve?: boolean): Promise<void>;
|
|
585
588
|
isSelected(): Promise<boolean>;
|
|
586
589
|
getIndex(): number;
|
|
587
590
|
getCells(): Promise<Cell[]>;
|
|
@@ -644,8 +647,14 @@ declare class Table extends AbstractElementWithParent {
|
|
|
644
647
|
/**
|
|
645
648
|
* Вибрати рядок по індексу.
|
|
646
649
|
* @param index починається з 0
|
|
650
|
+
* @param preserve boolean який изначає, чи повинні раніше вибрані рядки залишатися вибраними
|
|
647
651
|
*/
|
|
648
|
-
selectRowByIndex(index: number): Promise<void>;
|
|
652
|
+
selectRowByIndex(index: number, preserve?: boolean): Promise<void>;
|
|
653
|
+
/**
|
|
654
|
+
* Вибрати масив рядків по індексу.
|
|
655
|
+
* @param indexes починається з 0
|
|
656
|
+
*/
|
|
657
|
+
selectRowsByIndexes(indexes: number[]): Promise<void>;
|
|
649
658
|
getRows(): Promise<Row[]>;
|
|
650
659
|
getColumns(): Promise<Column[]>;
|
|
651
660
|
element(): Promise<selenium_webdriver.WebElement>;
|
|
@@ -679,6 +688,23 @@ declare class Table extends AbstractElementWithParent {
|
|
|
679
688
|
* await form.contextMenu('FieldName', 3).clickButton(['Group', 'ButtonInGroup']);
|
|
680
689
|
*/
|
|
681
690
|
contextMenu(fieldName: string, rowIndex?: number): ContextMenu;
|
|
691
|
+
/**
|
|
692
|
+
* Отримує значення комірки таблиці за ім'ям комірки та індексом рядка.
|
|
693
|
+
*
|
|
694
|
+
* @param {string} cellName - Ім'я комірки (поля) в таблиці
|
|
695
|
+
* @param {number} rowIndex - Індекс рядка (починається з 0)
|
|
696
|
+
* @throws {Error} Викидає помилку, якщо rowIndex не вказано
|
|
697
|
+
* @returns {Promise<string>} Повертає значення комірки
|
|
698
|
+
*
|
|
699
|
+
* @example
|
|
700
|
+
* const table = new Table(driver);
|
|
701
|
+
*
|
|
702
|
+
* // Отримання значення комірки 'Name' в першому рядку (індекс 0)
|
|
703
|
+
* const cellValue = await table.getCellValueByCellName('Name', 0);
|
|
704
|
+
* expect(cellValue).toBe('Очікуване значення');
|
|
705
|
+
*/
|
|
706
|
+
getCellValueByCellName(cellName: string, rowIndex: number): Promise<string | number | string[] | Date>;
|
|
707
|
+
waitRowsCount(count: number): Promise<void>;
|
|
682
708
|
}
|
|
683
709
|
|
|
684
710
|
declare class FormFilterField extends AbstractEditor {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TreeView
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4JGMDU7V.mjs";
|
|
4
4
|
import {
|
|
5
5
|
FilterPanel,
|
|
6
6
|
FormFilterField,
|
|
7
7
|
ListForm,
|
|
8
8
|
PanelFilterField
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4ZFZOCFK.mjs";
|
|
10
10
|
import {
|
|
11
11
|
FormEdit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-RZXGXVUK.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-FAMXXKP7.mjs";
|
|
36
36
|
|
|
37
37
|
// src/pageObjects/pages/LoginPage.ts
|
|
38
38
|
import { By } from "selenium-webdriver";
|
|
@@ -78,13 +78,22 @@ 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";
|
|
82
|
+
import fs from "node:fs";
|
|
81
83
|
import Chrome from "selenium-webdriver/chrome";
|
|
82
84
|
import Firefox from "selenium-webdriver/firefox";
|
|
83
85
|
function chromeOptions(builder, options) {
|
|
84
86
|
const ChromeOptions = new Chrome.Options();
|
|
85
87
|
if (options.headless) {
|
|
86
88
|
ChromeOptions.addArguments(`--headless=new`);
|
|
89
|
+
ChromeOptions.addArguments(`--disable-gpu`);
|
|
90
|
+
ChromeOptions.addArguments(`--disable-dev-shm-usage`);
|
|
87
91
|
}
|
|
92
|
+
const userDataDir = path.resolve("./.chrome-cache");
|
|
93
|
+
if (!fs.existsSync(userDataDir)) {
|
|
94
|
+
fs.mkdirSync(userDataDir, { recursive: true });
|
|
95
|
+
}
|
|
96
|
+
ChromeOptions.addArguments(`--user-data-dir=${userDataDir}`);
|
|
88
97
|
return builder.setChromeOptions(ChromeOptions);
|
|
89
98
|
}
|
|
90
99
|
function firefoxOptions(builder, options) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TreeView
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4JGMDU7V.mjs";
|
|
4
4
|
import {
|
|
5
5
|
FilterPanel,
|
|
6
6
|
FormFilterField,
|
|
7
7
|
ListForm,
|
|
8
8
|
PanelFilterField
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4ZFZOCFK.mjs";
|
|
10
10
|
import {
|
|
11
11
|
FormEdit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-RZXGXVUK.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-FAMXXKP7.mjs";
|
|
36
36
|
|
|
37
37
|
// src/pageObjects/pages/LoginPage.ts
|
|
38
38
|
import { By } from "selenium-webdriver";
|
|
@@ -78,13 +78,22 @@ 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";
|
|
82
|
+
import fs from "node:fs";
|
|
81
83
|
import Chrome from "selenium-webdriver/chrome";
|
|
82
84
|
import Firefox from "selenium-webdriver/firefox";
|
|
83
85
|
function chromeOptions(builder, options) {
|
|
84
86
|
const ChromeOptions = new Chrome.Options();
|
|
85
87
|
if (options.headless) {
|
|
86
88
|
ChromeOptions.addArguments(`--headless=new`);
|
|
89
|
+
ChromeOptions.addArguments(`--disable-gpu`);
|
|
90
|
+
ChromeOptions.addArguments(`--disable-dev-shm-usage`);
|
|
87
91
|
}
|
|
92
|
+
const userDataDir = path.resolve("./.chrome-cache");
|
|
93
|
+
if (!fs.existsSync(userDataDir)) {
|
|
94
|
+
fs.mkdirSync(userDataDir, { recursive: true });
|
|
95
|
+
}
|
|
96
|
+
ChromeOptions.addArguments(`--user-data-dir=${userDataDir}`);
|
|
88
97
|
return builder.setChromeOptions(ChromeOptions);
|
|
89
98
|
}
|
|
90
99
|
function firefoxOptions(builder, options) {
|
package/package.json
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "d5-testing-library",
|
|
3
|
-
"version": "1.9.0-alpha.
|
|
3
|
+
"version": "1.9.0-alpha.10",
|
|
4
4
|
"description": "e2e testing D5 projects",
|
|
5
5
|
"main": "dist/cjs/d5-testing-library.cjs",
|
|
6
6
|
"module": "dist/d5-testing-library.legacy-esm.js",
|
|
7
|
-
"types": "dist/d5-testing-library.d.
|
|
7
|
+
"types": "dist/d5-testing-library.d.mts",
|
|
8
8
|
"exports": {
|
|
9
9
|
"./package.json": "./package.json",
|
|
10
10
|
".": {
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/d5-testing-library.d.mts",
|
|
13
|
+
"default": "./dist/d5-testing-library.mjs"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/cjs/d5-testing-library.d.ts",
|
|
17
|
+
"default": "./dist/cjs/d5-testing-library.cjs"
|
|
18
|
+
}
|
|
14
19
|
}
|
|
15
20
|
},
|
|
16
21
|
"repository": "",
|