sefiutils 1.0.52 → 1.0.54
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/README.md +7 -8
- package/lib/fiberUtils.js +8 -9
- package/lib/fiberUtils.js.map +1 -1
- package/lib/globalSetup.d.ts.map +1 -1
- package/lib/globalSetup.js +26 -10
- package/lib/globalSetup.js.map +1 -1
- package/lib/globalTeardown.js +1 -1
- package/lib/globalTeardown.js.map +1 -1
- package/lib/localSetup.d.ts +1 -1
- package/lib/localSetup.d.ts.map +1 -1
- package/lib/localSetup.js +12 -11
- package/lib/localSetup.js.map +1 -1
- package/lib/localTeardown.js +1 -2
- package/lib/localTeardown.js.map +1 -1
- package/lib/log.js +2 -3
- package/lib/log.js.map +1 -1
- package/lib/seUtils.d.ts +4 -0
- package/lib/seUtils.d.ts.map +1 -1
- package/lib/seUtils.js +74 -52
- package/lib/seUtils.js.map +1 -1
- package/package.json +8 -8
- package/src/globalSetup.ts +33 -17
- package/src/localSetup.ts +10 -8
- package/src/seUtils.ts +18 -0
- package/lib/execScripts/dom.js +0 -15
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ npm install --save-dev sefiutils
|
|
|
34
34
|
|
|
35
35
|
In your jest.config.js file add the following lines:
|
|
36
36
|
|
|
37
|
-
```
|
|
37
|
+
```js
|
|
38
38
|
globalSetup: "<rootDir>/node_modules/sefiutils/lib/globalSetup.js",
|
|
39
39
|
globalTeardown: "<rootDir>/node_modules/sefiutils/lib/globalTeardown.js"
|
|
40
40
|
```
|
|
@@ -43,7 +43,7 @@ globalTeardown: "<rootDir>/node_modules/sefiutils/lib/globalTeardown.js"
|
|
|
43
43
|
<summary>Note on docker containers on macos:</summary>
|
|
44
44
|
In a docker container on macos, relative paths may cause problems. E.g.,
|
|
45
45
|
|
|
46
|
-
```
|
|
46
|
+
```js
|
|
47
47
|
globalSetup: "<rootDir>/../node_modules/sefiutils/lib/globalSetup.js",
|
|
48
48
|
globalTeardown: "<rootDir>/../node_modules/sefiutils/lib/globalTeardown.js"
|
|
49
49
|
```
|
|
@@ -67,7 +67,7 @@ selenium server is started. The following values are supported:
|
|
|
67
67
|
|
|
68
68
|
In your tests, add the following lines (or similar) to setup and teardown the driver and load the page:
|
|
69
69
|
|
|
70
|
-
```
|
|
70
|
+
```js
|
|
71
71
|
import { LOCAL_SETUP_TIMEOUT, localSetup} from "sefiutils/lib/localSetup"
|
|
72
72
|
import { localTeardown} from "sefiutils/lib/localTeardown"
|
|
73
73
|
|
|
@@ -113,7 +113,7 @@ Most of these functions are scripts executed in the browser via Selenium Webdriv
|
|
|
113
113
|
|
|
114
114
|
If you want to test the React components hierarchy, you can use the following functions:
|
|
115
115
|
|
|
116
|
-
```
|
|
116
|
+
```js
|
|
117
117
|
import { ComponentNode, dumpComponentTree, findAllInComponentTree,
|
|
118
118
|
findInComponentTree, getReactComponentTree} from "sefiutils/lib/fiberUtils"
|
|
119
119
|
|
|
@@ -126,7 +126,7 @@ await waitFor(async () => {
|
|
|
126
126
|
|
|
127
127
|
For debugging, you can also dump the tree;
|
|
128
128
|
|
|
129
|
-
```
|
|
129
|
+
```js
|
|
130
130
|
console.log("Component Tree:\n" + dumpComponentTree(cmpTree));
|
|
131
131
|
```
|
|
132
132
|
|
|
@@ -136,7 +136,7 @@ In order to keep the names, you must use a trick described by [François Zaninot
|
|
|
136
136
|
|
|
137
137
|
1. Install rewire: `npm install rewire`
|
|
138
138
|
2. Write a small script, e.g. build.js as follows:
|
|
139
|
-
```
|
|
139
|
+
```js
|
|
140
140
|
const rewire = require('rewire');
|
|
141
141
|
const defaults = rewire('react-scripts/scripts/build.js');
|
|
142
142
|
const config = defaults.__get__('config');
|
|
@@ -158,7 +158,7 @@ If you have problems starting the driver or something like that, set the environ
|
|
|
158
158
|
|
|
159
159
|
If you want to run your JavaScript tests in a docker container, you can use the following Dockerfile `seleniumnode20`:
|
|
160
160
|
|
|
161
|
-
```
|
|
161
|
+
```sh
|
|
162
162
|
# build with: docker build -t seleniumnode20 .
|
|
163
163
|
# User: seluser, Home: /home/seluser, Shell: /bin/bash
|
|
164
164
|
FROM selenium/standalone-firefox:latest
|
|
@@ -185,7 +185,6 @@ Several environment variables can be used to configure SEFIUTILS.
|
|
|
185
185
|
- SEFI_SELENIUM_SERVER_DOWNLOAD_URL, URL (prefix) from where the selenium server jar will be downloaded, default https://github.com/SeleniumHQ/selenium/releases/download
|
|
186
186
|
- SEFI_SELENIUM_CACHE_FOLDER: The folder to which the selenium server jar is downloaded (inside a folder ./cache and the selenium version). If not specified, the homefolder of the current user is used. However, in some cases (Docker, Gitlab) this is not possible.
|
|
187
187
|
|
|
188
|
-
|
|
189
188
|
The environment is also passed to Selenium, so specific Selenium configurations can be set as well.
|
|
190
189
|
|
|
191
190
|
# Troubleshooting
|
package/lib/fiberUtils.js
CHANGED
|
@@ -9,15 +9,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.getReactComponentTree = getReactComponentTree;
|
|
13
|
+
exports.dumpComponentTree = dumpComponentTree;
|
|
14
|
+
exports.findInComponentTree = findInComponentTree;
|
|
15
|
+
exports.findAllInComponentTree = findAllInComponentTree;
|
|
16
|
+
exports.componentPathExists = componentPathExists;
|
|
17
|
+
exports.retrieveComponentPath = retrieveComponentPath;
|
|
13
18
|
const seUtils_1 = require("./seUtils");
|
|
14
|
-
function getReactComponentTree(
|
|
15
|
-
return __awaiter(this,
|
|
19
|
+
function getReactComponentTree(driver_1) {
|
|
20
|
+
return __awaiter(this, arguments, void 0, function* (driver, functionComponentsOnly = true) {
|
|
16
21
|
const cmpTree = yield (0, seUtils_1.execScript)(driver, "execScripts/fiber.js", functionComponentsOnly ? "uniDirFunctionComponentsTree" : "uniDirComponentsTree");
|
|
17
22
|
return cmpTree;
|
|
18
23
|
});
|
|
19
24
|
}
|
|
20
|
-
exports.getReactComponentTree = getReactComponentTree;
|
|
21
25
|
function dumpComponentTree(node, options = { showProps: true, showKind: true }) {
|
|
22
26
|
let out = "";
|
|
23
27
|
dump(node);
|
|
@@ -36,7 +40,6 @@ function dumpComponentTree(node, options = { showProps: true, showKind: true })
|
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
|
-
exports.dumpComponentTree = dumpComponentTree;
|
|
40
43
|
/**
|
|
41
44
|
* Returns the first node matching the predecate (by depth first search) or undefined if none is found.
|
|
42
45
|
*/
|
|
@@ -52,7 +55,6 @@ function findInComponentTree(node, predicate) {
|
|
|
52
55
|
}
|
|
53
56
|
return undefined;
|
|
54
57
|
}
|
|
55
|
-
exports.findInComponentTree = findInComponentTree;
|
|
56
58
|
function findAllInComponentTree(node, predicate) {
|
|
57
59
|
const res = [];
|
|
58
60
|
findAll(node);
|
|
@@ -66,7 +68,6 @@ function findAllInComponentTree(node, predicate) {
|
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
|
-
exports.findAllInComponentTree = findAllInComponentTree;
|
|
70
71
|
/**
|
|
71
72
|
* Returns true if a component path exists in the component tree with
|
|
72
73
|
* components names as path elements. Note that there might be
|
|
@@ -97,7 +98,6 @@ function componentPathExists(root, path, options = {}) {
|
|
|
97
98
|
}
|
|
98
99
|
return false;
|
|
99
100
|
}
|
|
100
|
-
exports.componentPathExists = componentPathExists;
|
|
101
101
|
/**
|
|
102
102
|
* Returns a path with preceding siblings from startComponent to endComponent, including both.
|
|
103
103
|
* If no path exists, an empty array is returned.
|
|
@@ -129,5 +129,4 @@ function retrieveComponentPath(root, startComponent, endComponent, options = {})
|
|
|
129
129
|
return undefined;
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
-
exports.retrieveComponentPath = retrieveComponentPath;
|
|
133
132
|
//# sourceMappingURL=fiberUtils.js.map
|
package/lib/fiberUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fiberUtils.js","sourceRoot":"","sources":["../src/fiberUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fiberUtils.js","sourceRoot":"","sources":["../src/fiberUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/globalSetup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalSetup.d.ts","sourceRoot":"","sources":["../src/globalSetup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"globalSetup.d.ts","sourceRoot":"","sources":["../src/globalSetup.ts"],"names":[],"mappings":"AAUA,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,MAAM,EAAE,GAAG,CAAC;CAEnB;AACD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAA8B,gBAAgB,kBAY7C;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,oBA4BzC"}
|
package/lib/globalSetup.js
CHANGED
|
@@ -35,14 +35,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.
|
|
38
|
+
exports.default = setGlobalObjects;
|
|
39
|
+
exports.getSeleniumServerJar = getSeleniumServerJar;
|
|
39
40
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
40
41
|
dotenv_1.default.config(); // read ".env"
|
|
41
|
-
const path_1 = __importDefault(require("path"));
|
|
42
42
|
const fs_1 = __importStar(require("fs"));
|
|
43
|
+
const promises_1 = require("fs/promises");
|
|
44
|
+
const os_1 = require("os");
|
|
45
|
+
const path_1 = __importDefault(require("path"));
|
|
43
46
|
const log_1 = require("./log");
|
|
44
47
|
const seUtils_1 = require("./seUtils");
|
|
45
|
-
const os_1 = require("os");
|
|
46
48
|
/**
|
|
47
49
|
* This function is called by Jest once before all tests are executed.
|
|
48
50
|
* In order to get called, it must be referenced in the jest configuration file:
|
|
@@ -70,12 +72,11 @@ function setGlobalObjects() {
|
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
catch (err) {
|
|
73
|
-
console.error(`Error setting up server: ${err}`);
|
|
75
|
+
console.error(`Error setting up server for browser ${browser}: ${err}`);
|
|
74
76
|
throw err;
|
|
75
77
|
}
|
|
76
78
|
});
|
|
77
79
|
}
|
|
78
|
-
exports.default = setGlobalObjects;
|
|
79
80
|
/**
|
|
80
81
|
* Returns the path to the (cached) selenium server jar file. The jar file is automatically downloaded
|
|
81
82
|
* if it is not already cached.
|
|
@@ -119,7 +120,6 @@ function getSeleniumServerJar() {
|
|
|
119
120
|
return cachedPath;
|
|
120
121
|
});
|
|
121
122
|
}
|
|
122
|
-
exports.getSeleniumServerJar = getSeleniumServerJar;
|
|
123
123
|
function setUpSeleniumServer() {
|
|
124
124
|
return __awaiter(this, void 0, void 0, function* () {
|
|
125
125
|
(0, log_1.debug)("Dynamic import of selenium-webdriver/remote");
|
|
@@ -136,10 +136,26 @@ function setUpSeleniumServer() {
|
|
|
136
136
|
env: Object.assign(Object.assign({}, process.env), { "SE_NODE_MAX_SESSIONS": "4", "SE_NODE_OVERRIDE_MAX_SESSIONS": "true" })
|
|
137
137
|
});
|
|
138
138
|
const timeout = parseInt(process.env.SEFI_SELENIUM_SERVER_START_TIMEOUT || "5000");
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
139
|
+
(0, log_1.debug)(() => `Selenium server created, start server with timeout ${timeout}`);
|
|
140
|
+
try {
|
|
141
|
+
const actualAddress = yield s.start(timeout);
|
|
142
|
+
globalThis.server = s;
|
|
143
|
+
// const address = await globalThis.server.address()
|
|
144
|
+
(0, log_1.debug)(() => `Selenium server started at: ${actualAddress}`);
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
try {
|
|
148
|
+
const geckoPath = require.resolve("geckodriver");
|
|
149
|
+
yield (0, promises_1.stat)(geckoPath);
|
|
150
|
+
if (!geckoPath.startsWith(process.cwd())) {
|
|
151
|
+
console.error(`geckodriver found at ${geckoPath}, but not in project directory, try to install it with 'npm i -D geckodriver'`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
catch (err) {
|
|
155
|
+
console.error("geckodriver not found, please install it with 'npm i -D geckodriver'");
|
|
156
|
+
}
|
|
157
|
+
throw err;
|
|
158
|
+
}
|
|
143
159
|
});
|
|
144
160
|
}
|
|
145
161
|
//# sourceMappingURL=globalSetup.js.map
|
package/lib/globalSetup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalSetup.js","sourceRoot":"","sources":["../src/globalSetup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"globalSetup.js","sourceRoot":"","sources":["../src/globalSetup.ts"],"names":[],"mappings":"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"}
|
package/lib/globalTeardown.js
CHANGED
|
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.default = killServer;
|
|
12
13
|
/**
|
|
13
14
|
* This function is called by Jest once after tests have been executed.
|
|
14
15
|
* In order to get called, it must be referenced in the jest configuration file:
|
|
@@ -33,5 +34,4 @@ function killServer() {
|
|
|
33
34
|
globalThis.server = undefined;
|
|
34
35
|
});
|
|
35
36
|
}
|
|
36
|
-
exports.default = killServer;
|
|
37
37
|
//# sourceMappingURL=globalTeardown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalTeardown.js","sourceRoot":"","sources":["../src/globalTeardown.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"globalTeardown.js","sourceRoot":"","sources":["../src/globalTeardown.ts"],"names":[],"mappings":";;;;;;;;;;;AAaA,6BAQC;AApBD;;;;;;;;;;;GAWG;AACH,SAA8B,UAAU;;QACpC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACtD,CAAC;QACD,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;IAClC,CAAC;CAAA"}
|
package/lib/localSetup.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { WebDriver } from "selenium-webdriver";
|
|
2
|
-
export declare const LOCAL_SETUP_TIMEOUT
|
|
2
|
+
export declare const LOCAL_SETUP_TIMEOUT: number;
|
|
3
3
|
export declare function localSetup(page: string, width?: number, height?: number, acceptUntrustedCertificates?: boolean): Promise<WebDriver>;
|
|
4
4
|
//# sourceMappingURL=localSetup.d.ts.map
|
package/lib/localSetup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localSetup.d.ts","sourceRoot":"","sources":["../src/localSetup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"localSetup.d.ts","sourceRoot":"","sources":["../src/localSetup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAKtE,eAAO,MAAM,mBAAmB,QAAwD,CAAC;AAIzF,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,EAAE,MAAM,SAAM,EAAE,2BAA2B,UAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAShI"}
|
package/lib/localSetup.js
CHANGED
|
@@ -35,15 +35,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.
|
|
38
|
+
exports.LOCAL_SETUP_TIMEOUT = void 0;
|
|
39
|
+
exports.localSetup = localSetup;
|
|
39
40
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
40
41
|
dotenv_1.default.config(); // read ".env"
|
|
41
42
|
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
42
|
-
const seUtils_1 = require("./seUtils");
|
|
43
43
|
const log_1 = require("./log");
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
const seUtils_1 = require("./seUtils");
|
|
45
|
+
exports.LOCAL_SETUP_TIMEOUT = process.env.VSCODE_INSPECTOR_OPTIONS ? 999999 : 20000;
|
|
46
|
+
// console.log("LOCAL_SETUP_TIMEOUT: ", LOCAL_SETUP_TIMEOUT);
|
|
47
|
+
// console.log("VSCODE_INSPECTOR_OPTIONS: ", process.env.VSCODE_INSPECTOR_OPTIONS);
|
|
48
|
+
function localSetup(page_1) {
|
|
49
|
+
return __awaiter(this, arguments, void 0, function* (page, width = 500, height = 500, acceptUntrustedCertificates = true) {
|
|
47
50
|
(0, log_1.debug)(() => `localSetup("${page}", ${width}, ${height}, ${acceptUntrustedCertificates}), getWebDriver ...`);
|
|
48
51
|
const driver = yield getWebDriver(acceptUntrustedCertificates, width, height);
|
|
49
52
|
(0, log_1.verbose)(() => `Driver started, load page: ${page}`);
|
|
@@ -54,7 +57,6 @@ function localSetup(page, width = 500, height = 500, acceptUntrustedCertificates
|
|
|
54
57
|
return driver;
|
|
55
58
|
});
|
|
56
59
|
}
|
|
57
|
-
exports.localSetup = localSetup;
|
|
58
60
|
/**
|
|
59
61
|
* To be configured in jest setup file via globalSetup as it needs to be run before any tests in all files.
|
|
60
62
|
* Additionally,
|
|
@@ -83,17 +85,16 @@ function getWebDriver(acceptUntrustedCertificates, width, height) {
|
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
87
|
catch (err) {
|
|
86
|
-
console.error(`Error setting up driver: ${err}`);
|
|
88
|
+
console.error(`Error setting up driver for ${browser}: ${err}`);
|
|
87
89
|
throw err;
|
|
88
90
|
}
|
|
89
91
|
});
|
|
90
92
|
}
|
|
91
93
|
function setUpWebDriverInDocker(acceptUntrustedCertificates, width, height) {
|
|
92
94
|
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
-
(0, log_1.debug)("Dynamic import of selenium-webdriver/firefox");
|
|
94
|
-
(0, log_1.debug)("Remote browser, load firefox webdriver");
|
|
95
|
+
(0, log_1.debug)("Dynamic import of selenium-webdriver/firefox for remote browser");
|
|
95
96
|
const firefox = yield Promise.resolve().then(() => __importStar(require('selenium-webdriver/firefox')));
|
|
96
|
-
const { address } = (0, seUtils_1.getRemoteAddressAndPort)();
|
|
97
|
+
const { address, port } = (0, seUtils_1.getRemoteAddressAndPort)();
|
|
97
98
|
const start = Date.now();
|
|
98
99
|
const options = new firefox.Options().addArguments("-headless");
|
|
99
100
|
options.setAcceptInsecureCerts(acceptUntrustedCertificates);
|
|
@@ -131,7 +132,7 @@ function setUpWebDriverChrome(acceptUntrustedCertificates, width, height) {
|
|
|
131
132
|
//@ts-ignore
|
|
132
133
|
yield Promise.resolve().then(() => __importStar(require('chromedriver')));
|
|
133
134
|
const chrome = yield Promise.resolve().then(() => __importStar(require('selenium-webdriver/chrome')));
|
|
134
|
-
const options = new chrome.Options().addArguments("--headless=new");
|
|
135
|
+
const options = (new chrome.Options().addArguments("--headless=new"));
|
|
135
136
|
options.setAcceptInsecureCerts(acceptUntrustedCertificates);
|
|
136
137
|
if (width && height) { // cf. https://www.geeksforgeeks.org/how-to-set-browser-width-and-height-in-selenium-webdriver/
|
|
137
138
|
options.addArguments("--window-size=" + width + "," + height);
|
package/lib/localSetup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localSetup.js","sourceRoot":"","sources":["../src/localSetup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"localSetup.js","sourceRoot":"","sources":["../src/localSetup.ts"],"names":[],"mappings":"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"}
|
package/lib/localTeardown.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.localTeardown =
|
|
12
|
+
exports.localTeardown = localTeardown;
|
|
13
13
|
/**
|
|
14
14
|
* To be called in the afterAll() function of a test suite.
|
|
15
15
|
*/
|
|
@@ -24,5 +24,4 @@ function localTeardown(driver) {
|
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
exports.localTeardown = localTeardown;
|
|
28
27
|
//# sourceMappingURL=localTeardown.js.map
|
package/lib/localTeardown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localTeardown.js","sourceRoot":"","sources":["../src/localTeardown.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"localTeardown.js","sourceRoot":"","sources":["../src/localTeardown.ts"],"names":[],"mappings":";;;;;;;;;;;AAKA,sCAQC;AAXD;;GAEG;AACH,SAAsB,aAAa,CAAC,MAAiB;;QACjD,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,8BAA8B;QAClC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE9C,CAAC;IACL,CAAC;CAAA"}
|
package/lib/log.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.verbose = verbose;
|
|
4
|
+
exports.debug = debug;
|
|
4
5
|
const logLevel = (process.env.SEFI_LOG_LEVEL || "info").toLowerCase();
|
|
5
6
|
function verbose(msg) {
|
|
6
7
|
if (logLevel == "debug" || logLevel == "verbose") {
|
|
@@ -10,7 +11,6 @@ function verbose(msg) {
|
|
|
10
11
|
console.log(msg);
|
|
11
12
|
}
|
|
12
13
|
}
|
|
13
|
-
exports.verbose = verbose;
|
|
14
14
|
function debug(msg) {
|
|
15
15
|
if (logLevel == "debug") {
|
|
16
16
|
if (msg instanceof Function) {
|
|
@@ -19,5 +19,4 @@ function debug(msg) {
|
|
|
19
19
|
console.log(msg);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
exports.debug = debug;
|
|
23
22
|
//# sourceMappingURL=log.js.map
|
package/lib/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":";;AAEA,0BAOC;AAED,sBAOC;AAlBD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AAEtE,SAAgB,OAAO,CAAC,GAAQ;IAC5B,IAAI,QAAQ,IAAE,OAAO,IAAI,QAAQ,IAAE,SAAS,EAAE,CAAC;QAC3C,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC1B,GAAG,GAAG,GAAG,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACL,CAAC;AAED,SAAgB,KAAK,CAAC,GAAQ;IAC1B,IAAI,QAAQ,IAAE,OAAO,EAAE,CAAC;QACpB,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC1B,GAAG,GAAG,GAAG,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACL,CAAC"}
|
package/lib/seUtils.d.ts
CHANGED
|
@@ -246,4 +246,8 @@ export declare function findBestMatchingIndex(candidates: string[], variations:
|
|
|
246
246
|
*/
|
|
247
247
|
export declare function getInputElementByLabel(driver: WebDriver, labelCandidates: string[], typeHints: string[], positionHint?: number, findSelectAsWell?: boolean): Promise<WebElement | undefined>;
|
|
248
248
|
export declare function editDistance(a: string, b: string, maxDistance: number): number;
|
|
249
|
+
/**
|
|
250
|
+
* Returns true if the two web elements are equal, i.e. have the same id or same tag, location, and size.
|
|
251
|
+
*/
|
|
252
|
+
export declare function equalWebElements(a: WebElement | null | undefined, b: WebElement | null | undefined): Promise<boolean>;
|
|
249
253
|
//# sourceMappingURL=seUtils.d.ts.map
|
package/lib/seUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seUtils.d.ts","sourceRoot":"","sources":["../src/seUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seUtils.d.ts","sourceRoot":"","sources":["../src/seUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/seUtils.js
CHANGED
|
@@ -35,7 +35,49 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.
|
|
38
|
+
exports.getRemoteAddressAndPort = getRemoteAddressAndPort;
|
|
39
|
+
exports.cmpStrings = cmpStrings;
|
|
40
|
+
exports.execScript = execScript;
|
|
41
|
+
exports.boundsToString = boundsToString;
|
|
42
|
+
exports.toFloor = toFloor;
|
|
43
|
+
exports.circa = circa;
|
|
44
|
+
exports.waitFor = waitFor;
|
|
45
|
+
exports.saveScreenshot = saveScreenshot;
|
|
46
|
+
exports.describe = describe;
|
|
47
|
+
exports.getElementById = getElementById;
|
|
48
|
+
exports.getElementByClass = getElementByClass;
|
|
49
|
+
exports.getElementsByClass = getElementsByClass;
|
|
50
|
+
exports.getElementByTag = getElementByTag;
|
|
51
|
+
exports.getElementsByTag = getElementsByTag;
|
|
52
|
+
exports.getElementsByTags = getElementsByTags;
|
|
53
|
+
exports.getElementContainingText = getElementContainingText;
|
|
54
|
+
exports.getBoundingClientRect = getBoundingClientRect;
|
|
55
|
+
exports.getBoundingClientRects = getBoundingClientRects;
|
|
56
|
+
exports.getNodeContentsRect = getNodeContentsRect;
|
|
57
|
+
exports.getNodeContentsRects = getNodeContentsRects;
|
|
58
|
+
exports.getRects = getRects;
|
|
59
|
+
exports.getRectsOfContent = getRectsOfContent;
|
|
60
|
+
exports.getTextContents = getTextContents;
|
|
61
|
+
exports.getDocumentTextContent = getDocumentTextContent;
|
|
62
|
+
exports.getComputedStyles = getComputedStyles;
|
|
63
|
+
exports.getInnerSizeOfWindow = getInnerSizeOfWindow;
|
|
64
|
+
exports.getViewPortSize = getViewPortSize;
|
|
65
|
+
exports.isInViewPort = isInViewPort;
|
|
66
|
+
exports.setBrowserWindowSize = setBrowserWindowSize;
|
|
67
|
+
exports.setViewPortSize = setViewPortSize;
|
|
68
|
+
exports.getInheritedBackgroundColorsByJS = getInheritedBackgroundColorsByJS;
|
|
69
|
+
exports.getInheritedColorsByJS = getInheritedColorsByJS;
|
|
70
|
+
exports.getAllTextNodes = getAllTextNodes;
|
|
71
|
+
exports.getButtonsAndHRefs = getButtonsAndHRefs;
|
|
72
|
+
exports.findButtonOrHRefWithText = findButtonOrHRefWithText;
|
|
73
|
+
exports.findButtonOrHref = findButtonOrHref;
|
|
74
|
+
exports.findSubmitButton = findSubmitButton;
|
|
75
|
+
exports.scrollIntoViewAndClick = scrollIntoViewAndClick;
|
|
76
|
+
exports.scoreCandidate = scoreCandidate;
|
|
77
|
+
exports.findBestMatchingIndex = findBestMatchingIndex;
|
|
78
|
+
exports.getInputElementByLabel = getInputElementByLabel;
|
|
79
|
+
exports.editDistance = editDistance;
|
|
80
|
+
exports.equalWebElements = equalWebElements;
|
|
39
81
|
/**
|
|
40
82
|
* (C) Jens von Pilgrim, 2023
|
|
41
83
|
*/
|
|
@@ -51,7 +93,6 @@ function getRemoteAddressAndPort() {
|
|
|
51
93
|
const port = Number(((_a = address.match(/:(\d+)\/?/)) === null || _a === void 0 ? void 0 : _a[1]) || 80);
|
|
52
94
|
return { address, port };
|
|
53
95
|
}
|
|
54
|
-
exports.getRemoteAddressAndPort = getRemoteAddressAndPort;
|
|
55
96
|
/**
|
|
56
97
|
* Compares a given string with either a string or a regex.
|
|
57
98
|
* @param str string to compare
|
|
@@ -73,7 +114,6 @@ function cmpStrings(str, stringOrRegEx, options) {
|
|
|
73
114
|
? str.toLocaleLowerCase() === stringOrRegEx.toLocaleLowerCase()
|
|
74
115
|
: str === stringOrRegEx;
|
|
75
116
|
}
|
|
76
|
-
exports.cmpStrings = cmpStrings;
|
|
77
117
|
function execScript(driver, scriptName, fct) {
|
|
78
118
|
return __awaiter(this, void 0, void 0, function* () {
|
|
79
119
|
const scriptPath = path_1.default.join(path_1.default.dirname(__filename), scriptName);
|
|
@@ -84,11 +124,9 @@ function execScript(driver, scriptName, fct) {
|
|
|
84
124
|
return res;
|
|
85
125
|
});
|
|
86
126
|
}
|
|
87
|
-
exports.execScript = execScript;
|
|
88
127
|
function boundsToString(bounds) {
|
|
89
128
|
return `(${bounds.left};${bounds.top})x(${bounds.right};${bounds.bottom})`;
|
|
90
129
|
}
|
|
91
|
-
exports.boundsToString = boundsToString;
|
|
92
130
|
function toFloor(bounds) {
|
|
93
131
|
const floors = [];
|
|
94
132
|
for (const b of bounds) {
|
|
@@ -101,7 +139,6 @@ function toFloor(bounds) {
|
|
|
101
139
|
}
|
|
102
140
|
return floors;
|
|
103
141
|
}
|
|
104
|
-
exports.toFloor = toFloor;
|
|
105
142
|
/**
|
|
106
143
|
* Coordinates are sometimes floats. We compare two numbers with a delta of 1 to ignore rounding problems.
|
|
107
144
|
*/
|
|
@@ -109,9 +146,8 @@ function circa(n1, n2) {
|
|
|
109
146
|
const delta = n1 - n2;
|
|
110
147
|
return Math.abs(delta) < 1;
|
|
111
148
|
}
|
|
112
|
-
|
|
113
|
-
function
|
|
114
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
function waitFor(callback_1) {
|
|
150
|
+
return __awaiter(this, arguments, void 0, function* (callback, timeout = 1000, intervalTime = 100) {
|
|
115
151
|
// try first time
|
|
116
152
|
const start = new Date().getTime();
|
|
117
153
|
try {
|
|
@@ -140,7 +176,6 @@ function waitFor(callback, timeout = 1000, intervalTime = 100) {
|
|
|
140
176
|
});
|
|
141
177
|
});
|
|
142
178
|
}
|
|
143
|
-
exports.waitFor = waitFor;
|
|
144
179
|
/**
|
|
145
180
|
* Takes screenshot of current window and saves it to the given file.
|
|
146
181
|
* The folder is created if it does not yet exists.
|
|
@@ -155,7 +190,6 @@ function saveScreenshot(driver, fileName) {
|
|
|
155
190
|
yield fsPromises.writeFile(fileName, pngBase64, 'base64');
|
|
156
191
|
});
|
|
157
192
|
}
|
|
158
|
-
exports.saveScreenshot = saveScreenshot;
|
|
159
193
|
/**
|
|
160
194
|
* Helper function for printing out an element (tag, id if present)
|
|
161
195
|
*/
|
|
@@ -177,7 +211,6 @@ function describe(we) {
|
|
|
177
211
|
return s;
|
|
178
212
|
});
|
|
179
213
|
}
|
|
180
|
-
exports.describe = describe;
|
|
181
214
|
/**
|
|
182
215
|
* Gets the element by means of `WebElement` by its id attribute,
|
|
183
216
|
* either of the whole document (if driver is given) or of the given parent element.
|
|
@@ -188,7 +221,6 @@ function getElementById(driverOrParent, id) {
|
|
|
188
221
|
return el;
|
|
189
222
|
});
|
|
190
223
|
}
|
|
191
|
-
exports.getElementById = getElementById;
|
|
192
224
|
/**
|
|
193
225
|
* Gets the first element by means of `WebElement` by its class attribute,
|
|
194
226
|
* either of the whole document (if driver is given) or of the given parent element.
|
|
@@ -199,7 +231,6 @@ function getElementByClass(driverOrParent, clazz) {
|
|
|
199
231
|
return el;
|
|
200
232
|
});
|
|
201
233
|
}
|
|
202
|
-
exports.getElementByClass = getElementByClass;
|
|
203
234
|
/**
|
|
204
235
|
* Gets all element by means of `WebElement` by its class attribute,
|
|
205
236
|
* either of the whole document (if driver is given) or of the given parent element.
|
|
@@ -210,7 +241,6 @@ function getElementsByClass(driverOrParent, clazz) {
|
|
|
210
241
|
return els;
|
|
211
242
|
});
|
|
212
243
|
}
|
|
213
|
-
exports.getElementsByClass = getElementsByClass;
|
|
214
244
|
/**
|
|
215
245
|
* Gets the first element by means of `WebElement` by its tag name,
|
|
216
246
|
* either of the whole document (if driver is given) or of the given parent element.
|
|
@@ -221,7 +251,6 @@ function getElementByTag(driverOrParent, tagName) {
|
|
|
221
251
|
return el;
|
|
222
252
|
});
|
|
223
253
|
}
|
|
224
|
-
exports.getElementByTag = getElementByTag;
|
|
225
254
|
/**
|
|
226
255
|
* Gets all elements by means of `WebElement` by its tag name,
|
|
227
256
|
* either of the whole document (if driver is given) or of the given parent element.
|
|
@@ -232,7 +261,6 @@ function getElementsByTag(driverOrParent, tagName) {
|
|
|
232
261
|
return els;
|
|
233
262
|
});
|
|
234
263
|
}
|
|
235
|
-
exports.getElementsByTag = getElementsByTag;
|
|
236
264
|
/**
|
|
237
265
|
* Gets all elements by means of `WebElement` by its tag name,
|
|
238
266
|
* either of the whole document (if driver is given) or of the given parent element.
|
|
@@ -247,7 +275,6 @@ function getElementsByTags(driverOrParent, tagNames) {
|
|
|
247
275
|
return els;
|
|
248
276
|
});
|
|
249
277
|
}
|
|
250
|
-
exports.getElementsByTags = getElementsByTags;
|
|
251
278
|
/**
|
|
252
279
|
* Returns first element containing given text or undefined,
|
|
253
280
|
* either of the whole document (if driver is given) or of the given parent element.
|
|
@@ -267,7 +294,6 @@ function getElementContainingText(driverOrParent, text) {
|
|
|
267
294
|
}
|
|
268
295
|
});
|
|
269
296
|
}
|
|
270
|
-
exports.getElementContainingText = getElementContainingText;
|
|
271
297
|
/**
|
|
272
298
|
* Returns the bounding client rect (the bounding box relative to the viewport)
|
|
273
299
|
* of an element (found by its id attribute) by means of a JavaScript call.
|
|
@@ -278,7 +304,6 @@ function getBoundingClientRect(driver, id) {
|
|
|
278
304
|
return bcr;
|
|
279
305
|
});
|
|
280
306
|
}
|
|
281
|
-
exports.getBoundingClientRect = getBoundingClientRect;
|
|
282
307
|
/**
|
|
283
308
|
* Returns all {@link getBoundingClientRect} values of the elements
|
|
284
309
|
* found in the given element list.
|
|
@@ -298,7 +323,6 @@ function getBoundingClientRects(driver, jsElementList) {
|
|
|
298
323
|
return bcr;
|
|
299
324
|
});
|
|
300
325
|
}
|
|
301
|
-
exports.getBoundingClientRects = getBoundingClientRects;
|
|
302
326
|
/**
|
|
303
327
|
* Returns the node content's rect, in particular of the text, of a element with the given id.
|
|
304
328
|
*/
|
|
@@ -312,7 +336,6 @@ function getNodeContentsRect(driver, id) {
|
|
|
312
336
|
return bcr;
|
|
313
337
|
});
|
|
314
338
|
}
|
|
315
|
-
exports.getNodeContentsRect = getNodeContentsRect;
|
|
316
339
|
/**
|
|
317
340
|
* Returns the node content's rect, in particular of the text, of multiple elements
|
|
318
341
|
* (selected via evalutation of the jsElementString).
|
|
@@ -332,7 +355,6 @@ function getNodeContentsRects(driver, jsElementList) {
|
|
|
332
355
|
return bcr;
|
|
333
356
|
});
|
|
334
357
|
}
|
|
335
|
-
exports.getNodeContentsRects = getNodeContentsRects;
|
|
336
358
|
/**
|
|
337
359
|
* Returns the rects using the driver API.
|
|
338
360
|
*/
|
|
@@ -350,7 +372,6 @@ function getRects(driver, locator) {
|
|
|
350
372
|
return bounds;
|
|
351
373
|
});
|
|
352
374
|
}
|
|
353
|
-
exports.getRects = getRects;
|
|
354
375
|
/**
|
|
355
376
|
* Returns the rects of the first child (of each found element) using the driver API.
|
|
356
377
|
*/
|
|
@@ -368,7 +389,6 @@ function getRectsOfContent(driver, locator) {
|
|
|
368
389
|
return bounds;
|
|
369
390
|
});
|
|
370
391
|
}
|
|
371
|
-
exports.getRectsOfContent = getRectsOfContent;
|
|
372
392
|
/**
|
|
373
393
|
* Returns all text content of the elements
|
|
374
394
|
* found in the given element list.
|
|
@@ -390,7 +410,6 @@ function getTextContents(driver, jsElementList) {
|
|
|
390
410
|
return tcs;
|
|
391
411
|
});
|
|
392
412
|
}
|
|
393
|
-
exports.getTextContents = getTextContents;
|
|
394
413
|
/**
|
|
395
414
|
* Returns the text content of the whole document.
|
|
396
415
|
*/
|
|
@@ -399,7 +418,6 @@ function getDocumentTextContent(driver) {
|
|
|
399
418
|
return yield driver.executeScript(`return document.documentElement.textContent`);
|
|
400
419
|
});
|
|
401
420
|
}
|
|
402
|
-
exports.getDocumentTextContent = getDocumentTextContent;
|
|
403
421
|
;
|
|
404
422
|
/**
|
|
405
423
|
* Returns all computed styles of the elements
|
|
@@ -419,7 +437,6 @@ function getComputedStyles(driver, jsElementList, style) {
|
|
|
419
437
|
return tcs;
|
|
420
438
|
});
|
|
421
439
|
}
|
|
422
|
-
exports.getComputedStyles = getComputedStyles;
|
|
423
440
|
/**
|
|
424
441
|
* Returns the inner size of the windows bounding client rect (the bounding box relative to the viewport)
|
|
425
442
|
* of an element (found by its is attribute) by means of a JavaScript call.
|
|
@@ -432,7 +449,6 @@ function getInnerSizeOfWindow(driver) {
|
|
|
432
449
|
return { width: w, height: h };
|
|
433
450
|
});
|
|
434
451
|
}
|
|
435
|
-
exports.getInnerSizeOfWindow = getInnerSizeOfWindow;
|
|
436
452
|
/**
|
|
437
453
|
* Returns the viewport size, which is the inner window size but not with the scrollbars.
|
|
438
454
|
* I.e. the viewport size is a bit smaller than {@link getInnerSizeOfWindow} (if scrollbars are visible).
|
|
@@ -447,7 +463,6 @@ function getViewPortSize(driver) {
|
|
|
447
463
|
return { width: clientWidthOfHTML, height: clientHeightOfHTML };
|
|
448
464
|
});
|
|
449
465
|
}
|
|
450
|
-
exports.getViewPortSize = getViewPortSize;
|
|
451
466
|
/**
|
|
452
467
|
* Returns true if the element identified by its id attribute is with the view port.
|
|
453
468
|
* That does not necessarily means that it is visible, since its display or visible attribute may
|
|
@@ -465,7 +480,6 @@ function isInViewPort(driver, id) {
|
|
|
465
480
|
&& bounds.x < x + innerSize.width && bounds.y < y + innerSize.height;
|
|
466
481
|
});
|
|
467
482
|
}
|
|
468
|
-
exports.isInViewPort = isInViewPort;
|
|
469
483
|
/**
|
|
470
484
|
* Sets the window so that the {@link getViewPortSize} matches the given width and height.
|
|
471
485
|
*/
|
|
@@ -474,7 +488,6 @@ function setBrowserWindowSize(driver, width, height) {
|
|
|
474
488
|
yield waitForSetRect(driver, width, height);
|
|
475
489
|
});
|
|
476
490
|
}
|
|
477
|
-
exports.setBrowserWindowSize = setBrowserWindowSize;
|
|
478
491
|
function waitForSetRect(driver, width, height) {
|
|
479
492
|
return __awaiter(this, void 0, void 0, function* () {
|
|
480
493
|
const rectBefore = yield driver.manage().window().getRect();
|
|
@@ -504,7 +517,6 @@ function setViewPortSize(driver, width, height) {
|
|
|
504
517
|
yield waitForSetRect(driver, width + deltaX + sbWidth, height + deltaY + sbHeight);
|
|
505
518
|
});
|
|
506
519
|
}
|
|
507
|
-
exports.setViewPortSize = setViewPortSize;
|
|
508
520
|
function getInheritedBackgroundColorsByJS(driver, nodelist) {
|
|
509
521
|
return __awaiter(this, void 0, void 0, function* () {
|
|
510
522
|
const colors = yield driver.executeScript(`
|
|
@@ -532,7 +544,6 @@ function getInheritedBackgroundColorsByJS(driver, nodelist) {
|
|
|
532
544
|
return colors;
|
|
533
545
|
});
|
|
534
546
|
}
|
|
535
|
-
exports.getInheritedBackgroundColorsByJS = getInheritedBackgroundColorsByJS;
|
|
536
547
|
function getInheritedColorsByJS(driver, nodelist) {
|
|
537
548
|
return __awaiter(this, void 0, void 0, function* () {
|
|
538
549
|
const colors = yield driver.executeScript(`
|
|
@@ -560,7 +571,6 @@ function getInheritedColorsByJS(driver, nodelist) {
|
|
|
560
571
|
return colors;
|
|
561
572
|
});
|
|
562
573
|
}
|
|
563
|
-
exports.getInheritedColorsByJS = getInheritedColorsByJS;
|
|
564
574
|
function rgb2hex(rgba) {
|
|
565
575
|
return "#" +
|
|
566
576
|
rgba.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)$/)
|
|
@@ -607,7 +617,6 @@ collect(document.body);
|
|
|
607
617
|
return res;
|
|
608
618
|
});
|
|
609
619
|
}
|
|
610
|
-
exports.getAllTextNodes = getAllTextNodes;
|
|
611
620
|
/**
|
|
612
621
|
* Retrieves all buttons (element button or input with property submit or button) or anchors with href.
|
|
613
622
|
* @param driver
|
|
@@ -619,7 +628,6 @@ function getButtonsAndHRefs(driver) {
|
|
|
619
628
|
return elements;
|
|
620
629
|
});
|
|
621
630
|
}
|
|
622
|
-
exports.getButtonsAndHRefs = getButtonsAndHRefs;
|
|
623
631
|
/**
|
|
624
632
|
* Retrieves a button or link with the given text.
|
|
625
633
|
* The text is matched case insensitive and may be a substring of the button/link text.
|
|
@@ -650,7 +658,6 @@ function findButtonOrHRefWithText(driver, variations) {
|
|
|
650
658
|
return undefined;
|
|
651
659
|
});
|
|
652
660
|
}
|
|
653
|
-
exports.findButtonOrHRefWithText = findButtonOrHRefWithText;
|
|
654
661
|
/**
|
|
655
662
|
* Returns a button or href with its text best matching a candidate text.
|
|
656
663
|
* If there are multiple (submit) buttons, the best one is returned using {@link findBestMatchingIndex}.
|
|
@@ -662,8 +669,8 @@ exports.findButtonOrHRefWithText = findButtonOrHRefWithText;
|
|
|
662
669
|
* @returns a button or undefined
|
|
663
670
|
*/
|
|
664
671
|
function findButtonOrHref(driver, textCandidates, regExToApplyToTextBeforeScore) {
|
|
665
|
-
var _a, _b;
|
|
666
672
|
return __awaiter(this, void 0, void 0, function* () {
|
|
673
|
+
var _a, _b;
|
|
667
674
|
const clickableElements = (yield getButtonsAndHRefs(driver));
|
|
668
675
|
let bestScore = Number.MAX_SAFE_INTEGER;
|
|
669
676
|
let bestEl;
|
|
@@ -683,7 +690,6 @@ function findButtonOrHref(driver, textCandidates, regExToApplyToTextBeforeScore)
|
|
|
683
690
|
return bestEl;
|
|
684
691
|
});
|
|
685
692
|
}
|
|
686
|
-
exports.findButtonOrHref = findButtonOrHref;
|
|
687
693
|
/**
|
|
688
694
|
* Returns a submit button or any other button (if onlySubmit is false).
|
|
689
695
|
* If there is only one submit button, it is returned.
|
|
@@ -695,9 +701,9 @@ exports.findButtonOrHref = findButtonOrHref;
|
|
|
695
701
|
* @param onlySubmit only submit buttons are considered, otherwise, all buttons are considered
|
|
696
702
|
* @returns a button or undefined
|
|
697
703
|
*/
|
|
698
|
-
function findSubmitButton(
|
|
699
|
-
|
|
700
|
-
|
|
704
|
+
function findSubmitButton(driver_1, textCandidates_1) {
|
|
705
|
+
return __awaiter(this, arguments, void 0, function* (driver, textCandidates, posHint = -1, onlySubmit = true) {
|
|
706
|
+
var _a, _b;
|
|
701
707
|
const clickableElements = (yield getButtonsAndHRefs(driver));
|
|
702
708
|
const candidates = [];
|
|
703
709
|
const onlySubmitCandidates = [];
|
|
@@ -734,7 +740,6 @@ function findSubmitButton(driver, textCandidates, posHint = -1, onlySubmit = tru
|
|
|
734
740
|
return candidates[0]; // maybe undefined
|
|
735
741
|
});
|
|
736
742
|
}
|
|
737
|
-
exports.findSubmitButton = findSubmitButton;
|
|
738
743
|
/**
|
|
739
744
|
* Scrolls to the element and clicks it.
|
|
740
745
|
* If element is not defined, an error is thrown.
|
|
@@ -750,7 +755,6 @@ function scrollIntoViewAndClick(element) {
|
|
|
750
755
|
yield element.click();
|
|
751
756
|
});
|
|
752
757
|
}
|
|
753
|
-
exports.scrollIntoViewAndClick = scrollIntoViewAndClick;
|
|
754
758
|
/**
|
|
755
759
|
* Only exported for Testing purposes.
|
|
756
760
|
*/
|
|
@@ -770,7 +774,6 @@ function scoreCandidate(candidate, variations, caseSensitive) {
|
|
|
770
774
|
}
|
|
771
775
|
return bestDist;
|
|
772
776
|
}
|
|
773
|
-
exports.scoreCandidate = scoreCandidate;
|
|
774
777
|
/**
|
|
775
778
|
* Returns best matching candidate index or -1 if none matches.
|
|
776
779
|
* Best matching means that the text of the candidate is either
|
|
@@ -824,7 +827,6 @@ function findBestMatchingIndex(candidates, variations, maxDistance = 2) {
|
|
|
824
827
|
}
|
|
825
828
|
return -1;
|
|
826
829
|
}
|
|
827
|
-
exports.findBestMatchingIndex = findBestMatchingIndex;
|
|
828
830
|
/**
|
|
829
831
|
* Returns the best matching input element identified by the given label candidates.
|
|
830
832
|
* If the label is found, the input element should be either a child of that label or the attribute for and id should be used.
|
|
@@ -839,9 +841,9 @@ exports.findBestMatchingIndex = findBestMatchingIndex;
|
|
|
839
841
|
* The position is always counting all input elements without regard to the type.
|
|
840
842
|
* @package findSelectAsWell If true, select elements are also considered; otherwise, only input and textarea elements are considered
|
|
841
843
|
*/
|
|
842
|
-
function getInputElementByLabel(
|
|
843
|
-
|
|
844
|
-
|
|
844
|
+
function getInputElementByLabel(driver_1, labelCandidates_1, typeHints_1) {
|
|
845
|
+
return __awaiter(this, arguments, void 0, function* (driver, labelCandidates, typeHints, positionHint = -1, findSelectAsWell = false) {
|
|
846
|
+
var _a;
|
|
845
847
|
const tagsToFind = ["input", "textarea"];
|
|
846
848
|
if (findSelectAsWell) {
|
|
847
849
|
tagsToFind.push("select");
|
|
@@ -911,7 +913,6 @@ function getInputElementByLabel(driver, labelCandidates, typeHints, positionHint
|
|
|
911
913
|
return undefined;
|
|
912
914
|
});
|
|
913
915
|
}
|
|
914
|
-
exports.getInputElementByLabel = getInputElementByLabel;
|
|
915
916
|
// from https://github.com/tj/commander.js/blob/master/lib/suggestSimilar.js
|
|
916
917
|
function editDistance(a, b, maxDistance) {
|
|
917
918
|
// https://en.wikipedia.org/wiki/Damerau–Levenshtein_distance
|
|
@@ -952,5 +953,26 @@ function editDistance(a, b, maxDistance) {
|
|
|
952
953
|
}
|
|
953
954
|
return d[a.length][b.length];
|
|
954
955
|
}
|
|
955
|
-
|
|
956
|
+
/**
|
|
957
|
+
* Returns true if the two web elements are equal, i.e. have the same id or same tag, location, and size.
|
|
958
|
+
*/
|
|
959
|
+
function equalWebElements(a, b) {
|
|
960
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
961
|
+
if (a === b)
|
|
962
|
+
return true;
|
|
963
|
+
if (!a || !b)
|
|
964
|
+
return false;
|
|
965
|
+
const aId = yield a.getId();
|
|
966
|
+
const bId = yield b.getId();
|
|
967
|
+
if (aId)
|
|
968
|
+
return aId === bId;
|
|
969
|
+
const aLocation = yield a.getLocation();
|
|
970
|
+
const bLocation = yield b.getLocation();
|
|
971
|
+
const aSize = yield a.getSize();
|
|
972
|
+
const bSize = yield b.getSize();
|
|
973
|
+
const aTag = yield a.getTagName();
|
|
974
|
+
const bTag = yield b.getTagName();
|
|
975
|
+
return aTag === bTag && aLocation.x === bLocation.x && aLocation.y === bLocation.y && aSize.width === bSize.width && aSize.height === bSize.height;
|
|
976
|
+
});
|
|
977
|
+
}
|
|
956
978
|
//# sourceMappingURL=seUtils.js.map
|
package/lib/seUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seUtils.js","sourceRoot":"","sources":["../src/seUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seUtils.js","sourceRoot":"","sources":["../src/seUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sefiutils",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.54",
|
|
4
4
|
"description": "Utilities (and Jest tests) for Selenium Webdriver Tests and some React tools as well",
|
|
5
5
|
"author": "Jens von Pilgrim <jens.vonpilgrim@bht-berlin.de>",
|
|
6
6
|
"license": "EPL-2.0",
|
|
@@ -22,18 +22,18 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"dotenv": "^16.4.5",
|
|
25
|
-
"geckodriver": "^
|
|
26
|
-
"selenium-webdriver": "^4.
|
|
25
|
+
"geckodriver": "^5.0.0",
|
|
26
|
+
"selenium-webdriver": "^4.26.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@types/jest": "^29.5.
|
|
30
|
-
"@types/node": "^22.
|
|
31
|
-
"@types/selenium-webdriver": "^4.1.
|
|
29
|
+
"@types/jest": "^29.5.14",
|
|
30
|
+
"@types/node": "^22.9.0",
|
|
31
|
+
"@types/selenium-webdriver": "^4.1.27",
|
|
32
32
|
"copyfiles": "^2.4.1",
|
|
33
33
|
"jest": "^29.7.0",
|
|
34
34
|
"jest-junit": "^16.0.0",
|
|
35
35
|
"rimraf": "^6.0.1",
|
|
36
|
-
"ts-jest": "^29.2.
|
|
37
|
-
"typescript": "^5.
|
|
36
|
+
"ts-jest": "^29.2.5",
|
|
37
|
+
"typescript": "^5.6.3"
|
|
38
38
|
}
|
|
39
39
|
}
|
package/src/globalSetup.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import dotenv from "dotenv";
|
|
2
2
|
dotenv.config() // read ".env"
|
|
3
3
|
|
|
4
|
-
import path from "path";
|
|
5
4
|
import fs, { writeFileSync } from "fs";
|
|
5
|
+
import { stat } from "fs/promises";
|
|
6
|
+
import { homedir } from "os";
|
|
7
|
+
import path from "path";
|
|
6
8
|
import { debug, verbose } from "./log";
|
|
7
9
|
import { getRemoteAddressAndPort } from "./seUtils";
|
|
8
|
-
import { homedir } from "os";
|
|
9
10
|
|
|
10
11
|
declare global {
|
|
11
12
|
var server: any; // only loaded in remote case; this global variable is only visible in globalTeardown.ts
|
|
12
|
-
|
|
13
|
+
// and not in the tests, cf. https://jestjs.io/docs/configuration#globalsetup-string
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* This function is called by Jest once before all tests are executed.
|
|
@@ -35,9 +36,9 @@ export default async function setGlobalObjects() {
|
|
|
35
36
|
try {
|
|
36
37
|
if (browser === "remote") {
|
|
37
38
|
await setUpSeleniumServer();
|
|
38
|
-
}
|
|
39
|
+
}
|
|
39
40
|
} catch (err) {
|
|
40
|
-
console.error(`Error setting up server: ${err}`);
|
|
41
|
+
console.error(`Error setting up server for browser ${browser}: ${err}`);
|
|
41
42
|
throw err;
|
|
42
43
|
}
|
|
43
44
|
}
|
|
@@ -63,10 +64,10 @@ export async function getSeleniumServerJar() {
|
|
|
63
64
|
const homeDir = process.env.SEFI_SELENIUM_CACHE_FOLDER || homedir();
|
|
64
65
|
const cachedPath = path.resolve(path.join(homeDir, ".cache", "selenium-server", jarName));
|
|
65
66
|
verbose(`Selenium server jar: ${cachedPath}`);
|
|
66
|
-
if (!
|
|
67
|
-
if (!
|
|
68
|
-
fs.mkdirSync(path.dirname(cachedPath), {recursive: true});
|
|
69
|
-
}
|
|
67
|
+
if (!fs.existsSync(cachedPath)) {
|
|
68
|
+
if (!fs.existsSync(path.dirname(cachedPath))) {
|
|
69
|
+
fs.mkdirSync(path.dirname(cachedPath), { recursive: true });
|
|
70
|
+
}
|
|
70
71
|
const downloadURL = process.env.SEFI_SELENIUM_SERVER_DOWNLOAD_URL || "https://github.com/SeleniumHQ/selenium/releases/download";
|
|
71
72
|
const url = `${downloadURL}/selenium-${versionParts[0]}.${versionParts[1]}.0/${jarName}`;
|
|
72
73
|
console.log(`Download ${url} to ${cachedPath}`);
|
|
@@ -87,7 +88,7 @@ export async function getSeleniumServerJar() {
|
|
|
87
88
|
async function setUpSeleniumServer() {
|
|
88
89
|
debug("Dynamic import of selenium-webdriver/remote")
|
|
89
90
|
const remote = await import("selenium-webdriver/remote");
|
|
90
|
-
|
|
91
|
+
|
|
91
92
|
const jarPath = await getSeleniumServerJar();
|
|
92
93
|
|
|
93
94
|
if (globalThis.server) {
|
|
@@ -95,9 +96,9 @@ async function setUpSeleniumServer() {
|
|
|
95
96
|
verbose("`Server killed before starting again");
|
|
96
97
|
}
|
|
97
98
|
|
|
98
|
-
const { port} = getRemoteAddressAndPort();
|
|
99
|
+
const { port } = getRemoteAddressAndPort();
|
|
99
100
|
|
|
100
|
-
debug(()
|
|
101
|
+
debug(() => `Start selenium server at port ${port} with SE_NODE_MAX_SESSIONS=4, SE_NODE_OVERRIDE_MAX_SESSIONS=true`);
|
|
101
102
|
const s = new remote.SeleniumServer(jarPath, {
|
|
102
103
|
port: port,
|
|
103
104
|
env: {
|
|
@@ -107,10 +108,25 @@ async function setUpSeleniumServer() {
|
|
|
107
108
|
// "JAVA_OPTS": "-XX:ActiveProcessorCount=4"
|
|
108
109
|
}
|
|
109
110
|
});
|
|
110
|
-
|
|
111
|
+
|
|
111
112
|
const timeout = parseInt(process.env.SEFI_SELENIUM_SERVER_START_TIMEOUT || "5000");
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
debug(() => `Selenium server created, start server with timeout ${timeout}`);
|
|
114
|
+
try {
|
|
115
|
+
const actualAddress = await s.start(timeout);
|
|
116
|
+
globalThis.server = s;
|
|
117
|
+
// const address = await globalThis.server.address()
|
|
118
|
+
debug(() => `Selenium server started at: ${actualAddress}`);
|
|
119
|
+
} catch (err) {
|
|
120
|
+
try {
|
|
121
|
+
const geckoPath = require.resolve("geckodriver");
|
|
122
|
+
await stat(geckoPath);
|
|
123
|
+
if (! geckoPath.startsWith(process.cwd())) {
|
|
124
|
+
console.error(`geckodriver found at ${geckoPath}, but not in project directory, try to install it with 'npm i -D geckodriver'`);
|
|
125
|
+
}
|
|
126
|
+
} catch (err) {
|
|
127
|
+
console.error("geckodriver not found, please install it with 'npm i -D geckodriver'");
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
throw err;
|
|
131
|
+
}
|
|
116
132
|
}
|
package/src/localSetup.ts
CHANGED
|
@@ -2,10 +2,13 @@ import dotenv from "dotenv";
|
|
|
2
2
|
dotenv.config() // read ".env"
|
|
3
3
|
|
|
4
4
|
import { Builder, Capabilities, WebDriver } from "selenium-webdriver";
|
|
5
|
-
import { getRemoteAddressAndPort, setBrowserWindowSize, setViewPortSize } from "./seUtils";
|
|
6
5
|
import { debug, verbose } from "./log";
|
|
6
|
+
import { getRemoteAddressAndPort, setBrowserWindowSize } from "./seUtils";
|
|
7
|
+
import { Options } from "selenium-webdriver/chrome";
|
|
7
8
|
|
|
8
|
-
export const LOCAL_SETUP_TIMEOUT = 20000;
|
|
9
|
+
export const LOCAL_SETUP_TIMEOUT = process.env.VSCODE_INSPECTOR_OPTIONS ? 999999 : 20000;
|
|
10
|
+
// console.log("LOCAL_SETUP_TIMEOUT: ", LOCAL_SETUP_TIMEOUT);
|
|
11
|
+
// console.log("VSCODE_INSPECTOR_OPTIONS: ", process.env.VSCODE_INSPECTOR_OPTIONS);
|
|
9
12
|
|
|
10
13
|
export async function localSetup(page: string, width = 500, height = 500, acceptUntrustedCertificates = true): Promise<WebDriver> {
|
|
11
14
|
debug(() => `localSetup("${page}", ${width}, ${height}, ${acceptUntrustedCertificates}), getWebDriver ...`);
|
|
@@ -42,18 +45,17 @@ async function getWebDriver(acceptUntrustedCertificates: boolean, width?: number
|
|
|
42
45
|
throw new Error(`Unknown browser: ${browser}`);
|
|
43
46
|
}
|
|
44
47
|
} catch (err) {
|
|
45
|
-
console.error(`Error setting up driver: ${err}`);
|
|
48
|
+
console.error(`Error setting up driver for ${browser}: ${err}`);
|
|
46
49
|
throw err;
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
|
|
51
54
|
async function setUpWebDriverInDocker(acceptUntrustedCertificates: boolean, width?: number, height?: number) {
|
|
52
|
-
debug("Dynamic import of selenium-webdriver/firefox");
|
|
53
|
-
debug("Remote browser, load firefox webdriver");
|
|
55
|
+
debug("Dynamic import of selenium-webdriver/firefox for remote browser");
|
|
54
56
|
const firefox = await import('selenium-webdriver/firefox');
|
|
55
57
|
|
|
56
|
-
const { address } = getRemoteAddressAndPort();
|
|
58
|
+
const { address, port } = getRemoteAddressAndPort();
|
|
57
59
|
const start = Date.now();
|
|
58
60
|
|
|
59
61
|
const options = new firefox.Options().addArguments("-headless");
|
|
@@ -77,8 +79,8 @@ async function setUpWebDriverInDocker(acceptUntrustedCertificates: boolean, widt
|
|
|
77
79
|
return `Driver resolved and connected, required ${duration}s.`
|
|
78
80
|
});
|
|
79
81
|
return driver;
|
|
80
|
-
}
|
|
81
82
|
|
|
83
|
+
}
|
|
82
84
|
|
|
83
85
|
/**
|
|
84
86
|
* To be called in the beforeAll() function of a test suite.
|
|
@@ -95,7 +97,7 @@ async function setUpWebDriverChrome(acceptUntrustedCertificates: boolean, width?
|
|
|
95
97
|
await import('chromedriver');
|
|
96
98
|
const chrome = await import('selenium-webdriver/chrome');
|
|
97
99
|
|
|
98
|
-
const options = new chrome.Options().addArguments("--headless=new");
|
|
100
|
+
const options: Options = (new chrome.Options().addArguments("--headless=new")) as Options;
|
|
99
101
|
options.setAcceptInsecureCerts(acceptUntrustedCertificates);
|
|
100
102
|
if (width && height) { // cf. https://www.geeksforgeeks.org/how-to-set-browser-width-and-height-in-selenium-webdriver/
|
|
101
103
|
options.addArguments("--window-size=" + width + "," + height);
|
package/src/seUtils.ts
CHANGED
|
@@ -892,3 +892,21 @@ export function editDistance(a: string, b: string, maxDistance: number) {
|
|
|
892
892
|
|
|
893
893
|
return d[a.length][b.length];
|
|
894
894
|
}
|
|
895
|
+
|
|
896
|
+
/**
|
|
897
|
+
* Returns true if the two web elements are equal, i.e. have the same id or same tag, location, and size.
|
|
898
|
+
*/
|
|
899
|
+
export async function equalWebElements(a: WebElement|null|undefined, b: WebElement|null|undefined) {
|
|
900
|
+
if (a===b) return true;
|
|
901
|
+
if (!a || !b) return false;
|
|
902
|
+
const aId = await a.getId();
|
|
903
|
+
const bId = await b.getId();
|
|
904
|
+
if (aId) return aId === bId;
|
|
905
|
+
const aLocation = await a.getLocation();
|
|
906
|
+
const bLocation = await b.getLocation();
|
|
907
|
+
const aSize = await a.getSize();
|
|
908
|
+
const bSize = await b.getSize();
|
|
909
|
+
const aTag = await a.getTagName();
|
|
910
|
+
const bTag = await b.getTagName();
|
|
911
|
+
return aTag===bTag && aLocation.x === bLocation.x && aLocation.y === bLocation.y && aSize.width === bSize.width && aSize.height === bSize.height;
|
|
912
|
+
}
|
package/lib/execScripts/dom.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
function getButtonsAndHRefs() {
|
|
2
|
-
const clickable = [];
|
|
3
|
-
const elements = document.getElementsByTagName("*");
|
|
4
|
-
for (let i = 0; i < elements.length; i++) {
|
|
5
|
-
const e = elements[i];
|
|
6
|
-
if ( ((e.onclick || e.onClick) && !Object.keys(e).find(key => key.startsWith("__reactContainer$")))
|
|
7
|
-
|| (e.tagName==='A' && e.href)
|
|
8
|
-
|| (e.tagName==='BUTTON' && e.type!=='hidden')
|
|
9
|
-
|| (e.tagName==='INPUT' && ["button", "submit"].includes(e.type?.toLowerCase()))
|
|
10
|
-
) {
|
|
11
|
-
clickable.push(e);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return clickable;
|
|
15
|
-
}
|