sefiutils 1.0.52 → 1.0.55

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 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
@@ -58,7 +58,11 @@ function createComponentNode(fiber/* : Fiber */, parent/* : ComponentNode|undefi
58
58
  children: []
59
59
  };
60
60
 
61
- debugNode.name = normalizeNodeName(debugType.displayName);
61
+ if (debugType.displayName) {
62
+ debugNode.name = normalizeNodeName(debugType.displayName);
63
+ } else {
64
+ node.name = fiber.type ?? "??html";
65
+ }
62
66
  if (typeof debugType.render === 'function') {
63
67
  debugNode.kind = "function";
64
68
  } else {
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.retrieveComponentPath = exports.componentPathExists = exports.findAllInComponentTree = exports.findInComponentTree = exports.dumpComponentTree = exports.getReactComponentTree = void 0;
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(driver, functionComponentsOnly = true) {
15
- return __awaiter(this, void 0, void 0, function* () {
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
@@ -1 +1 @@
1
- {"version":3,"file":"fiberUtils.js","sourceRoot":"","sources":["../src/fiberUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fiberUtils.js","sourceRoot":"","sources":["../src/fiberUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"globalSetup.d.ts","sourceRoot":"","sources":["../src/globalSetup.ts"],"names":[],"mappings":"AASA,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,MAAM,EAAE,GAAG,CAAC;CAEnB;AACD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAA8B,gBAAgB,kBAY7C;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,oBA4BzC"}
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"}
@@ -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.getSeleniumServerJar = void 0;
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
- const actualAddress = yield s.start(timeout);
140
- globalThis.server = s;
141
- // const address = await globalThis.server.address()
142
- (0, log_1.debug)(() => `Selenium server started at: ${actualAddress}`);
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
@@ -1 +1 @@
1
- {"version":3,"file":"globalSetup.js","sourceRoot":"","sources":["../src/globalSetup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globalSetup.js","sourceRoot":"","sources":["../src/globalSetup.ts"],"names":[],"mappings":"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"}
@@ -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":";;;;;;;;;;;AACA;;;;;;;;;;;GAWG;AACH,SAA8B,UAAU;;QACpC,IAAI,UAAU,CAAC,MAAM,EAAE;YACnB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;SACjD;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;SACrD;QACD,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;IAClC,CAAC;CAAA;AARD,6BAQC"}
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"}
@@ -1,4 +1,4 @@
1
1
  import { WebDriver } from "selenium-webdriver";
2
- export declare const LOCAL_SETUP_TIMEOUT = 20000;
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
@@ -1 +1 @@
1
- {"version":3,"file":"localSetup.d.ts","sourceRoot":"","sources":["../src/localSetup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAItE,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,EAAE,MAAM,SAAM,EAAE,2BAA2B,UAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAShI"}
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.localSetup = exports.LOCAL_SETUP_TIMEOUT = void 0;
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
- exports.LOCAL_SETUP_TIMEOUT = 20000;
45
- function localSetup(page, width = 500, height = 500, acceptUntrustedCertificates = true) {
46
- return __awaiter(this, void 0, void 0, function* () {
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);
@@ -1 +1 @@
1
- {"version":3,"file":"localSetup.js","sourceRoot":"","sources":["../src/localSetup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localSetup.js","sourceRoot":"","sources":["../src/localSetup.ts"],"names":[],"mappings":"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"}
@@ -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 = void 0;
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
@@ -1 +1 @@
1
- {"version":3,"file":"localTeardown.js","sourceRoot":"","sources":["../src/localTeardown.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA;;GAEG;AACH,SAAsB,aAAa,CAAC,MAAiB;;QACjD,IAAI,MAAM,EAAE;YACR,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,8BAA8B;SACjC;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAE7C;IACL,CAAC;CAAA;AARD,sCAQC"}
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.debug = exports.verbose = void 0;
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":";;;AAAA,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;QAC1C,IAAI,GAAG,YAAY,QAAQ,EAAE;YACzB,GAAG,GAAG,GAAG,EAAE,CAAC;SACf;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACpB;AACL,CAAC;AAPD,0BAOC;AAED,SAAgB,KAAK,CAAC,GAAQ;IAC1B,IAAI,QAAQ,IAAE,OAAO,EAAE;QACnB,IAAI,GAAG,YAAY,QAAQ,EAAE;YACzB,GAAG,GAAG,GAAG,EAAE,CAAC;SACf;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACpB;AACL,CAAC;AAPD,sBAOC"}
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
@@ -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.editDistance = exports.getInputElementByLabel = exports.findBestMatchingIndex = exports.scoreCandidate = exports.scrollIntoViewAndClick = exports.findSubmitButton = exports.findButtonOrHref = exports.findButtonOrHRefWithText = exports.getButtonsAndHRefs = exports.getAllTextNodes = exports.getInheritedColorsByJS = exports.getInheritedBackgroundColorsByJS = exports.setViewPortSize = exports.setBrowserWindowSize = exports.isInViewPort = exports.getViewPortSize = exports.getInnerSizeOfWindow = exports.getComputedStyles = exports.getDocumentTextContent = exports.getTextContents = exports.getRectsOfContent = exports.getRects = exports.getNodeContentsRects = exports.getNodeContentsRect = exports.getBoundingClientRects = exports.getBoundingClientRect = exports.getElementContainingText = exports.getElementsByTags = exports.getElementsByTag = exports.getElementByTag = exports.getElementsByClass = exports.getElementByClass = exports.getElementById = exports.describe = exports.saveScreenshot = exports.waitFor = exports.circa = exports.toFloor = exports.boundsToString = exports.execScript = exports.cmpStrings = exports.getRemoteAddressAndPort = void 0;
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
- exports.circa = circa;
113
- function waitFor(callback, timeout = 1000, intervalTime = 100) {
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(driver, textCandidates, posHint = -1, onlySubmit = true) {
699
- var _a, _b;
700
- return __awaiter(this, void 0, void 0, function* () {
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(driver, labelCandidates, typeHints, positionHint = -1, findSelectAsWell = false) {
843
- var _a;
844
- return __awaiter(this, void 0, void 0, function* () {
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
- exports.editDistance = editDistance;
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
@@ -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.52",
3
+ "version": "1.0.55",
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": "^4.4.2",
26
- "selenium-webdriver": "^4.23.0"
25
+ "geckodriver": "^5.0.0",
26
+ "selenium-webdriver": "^4.26.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@types/jest": "^29.5.12",
30
- "@types/node": "^22.3.0",
31
- "@types/selenium-webdriver": "^4.1.25",
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.4",
37
- "typescript": "^5.5.4"
36
+ "ts-jest": "^29.2.5",
37
+ "typescript": "^5.6.3"
38
38
  }
39
39
  }
@@ -58,7 +58,11 @@ function createComponentNode(fiber/* : Fiber */, parent/* : ComponentNode|undefi
58
58
  children: []
59
59
  };
60
60
 
61
- debugNode.name = normalizeNodeName(debugType.displayName);
61
+ if (debugType.displayName) {
62
+ debugNode.name = normalizeNodeName(debugType.displayName);
63
+ } else {
64
+ node.name = fiber.type ?? "??html";
65
+ }
62
66
  if (typeof debugType.render === 'function') {
63
67
  debugNode.kind = "function";
64
68
  } else {
@@ -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
- // and not in the tests, cf. https://jestjs.io/docs/configuration#globalsetup-string
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 (! fs.existsSync(cachedPath)) {
67
- if (! fs.existsSync(path.dirname(cachedPath))) {
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(()=>`Start selenium server at port ${port} with SE_NODE_MAX_SESSIONS=4, SE_NODE_OVERRIDE_MAX_SESSIONS=true`);
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
- const actualAddress = await s.start(timeout);
113
- globalThis.server = s;
114
- // const address = await globalThis.server.address()
115
- debug(()=>`Selenium server started at: ${actualAddress}`);
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
+ }
@@ -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
- }