sefiutils 1.0.51 → 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 +37 -20
- 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 -60
- package/lib/seUtils.js.map +1 -1
- package/package.json +8 -8
- package/src/globalSetup.ts +33 -17
- package/src/localSetup.ts +35 -17
- package/src/seUtils.ts +19 -9
- package/lib/execScripts/dom.js +0 -15
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,24 +480,14 @@ 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
|
*/
|
|
472
486
|
function setBrowserWindowSize(driver, width, height) {
|
|
473
487
|
return __awaiter(this, void 0, void 0, function* () {
|
|
474
|
-
// const rect = await driver.manage().window().getRect();
|
|
475
488
|
yield waitForSetRect(driver, width, height);
|
|
476
|
-
// await driver.manage().window().setRect({ width: width, height: height });
|
|
477
|
-
// return waitFor(async () => {
|
|
478
|
-
// const rectAfter = await driver.manage().window().getRect();
|
|
479
|
-
// if (check && (rectAfter.width != width || rectAfter.height != height)) {
|
|
480
|
-
// throw new Error(`Cannot set window to size (${width}, ${height}). Size is probably too small or too large, got ${rectAfter.width}/${rectAfter.height}, was before ${rect.width}/${rect.height}.`);
|
|
481
|
-
// }
|
|
482
|
-
// });
|
|
483
489
|
});
|
|
484
490
|
}
|
|
485
|
-
exports.setBrowserWindowSize = setBrowserWindowSize;
|
|
486
491
|
function waitForSetRect(driver, width, height) {
|
|
487
492
|
return __awaiter(this, void 0, void 0, function* () {
|
|
488
493
|
const rectBefore = yield driver.manage().window().getRect();
|
|
@@ -512,7 +517,6 @@ function setViewPortSize(driver, width, height) {
|
|
|
512
517
|
yield waitForSetRect(driver, width + deltaX + sbWidth, height + deltaY + sbHeight);
|
|
513
518
|
});
|
|
514
519
|
}
|
|
515
|
-
exports.setViewPortSize = setViewPortSize;
|
|
516
520
|
function getInheritedBackgroundColorsByJS(driver, nodelist) {
|
|
517
521
|
return __awaiter(this, void 0, void 0, function* () {
|
|
518
522
|
const colors = yield driver.executeScript(`
|
|
@@ -540,7 +544,6 @@ function getInheritedBackgroundColorsByJS(driver, nodelist) {
|
|
|
540
544
|
return colors;
|
|
541
545
|
});
|
|
542
546
|
}
|
|
543
|
-
exports.getInheritedBackgroundColorsByJS = getInheritedBackgroundColorsByJS;
|
|
544
547
|
function getInheritedColorsByJS(driver, nodelist) {
|
|
545
548
|
return __awaiter(this, void 0, void 0, function* () {
|
|
546
549
|
const colors = yield driver.executeScript(`
|
|
@@ -568,7 +571,6 @@ function getInheritedColorsByJS(driver, nodelist) {
|
|
|
568
571
|
return colors;
|
|
569
572
|
});
|
|
570
573
|
}
|
|
571
|
-
exports.getInheritedColorsByJS = getInheritedColorsByJS;
|
|
572
574
|
function rgb2hex(rgba) {
|
|
573
575
|
return "#" +
|
|
574
576
|
rgba.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)$/)
|
|
@@ -615,7 +617,6 @@ collect(document.body);
|
|
|
615
617
|
return res;
|
|
616
618
|
});
|
|
617
619
|
}
|
|
618
|
-
exports.getAllTextNodes = getAllTextNodes;
|
|
619
620
|
/**
|
|
620
621
|
* Retrieves all buttons (element button or input with property submit or button) or anchors with href.
|
|
621
622
|
* @param driver
|
|
@@ -627,7 +628,6 @@ function getButtonsAndHRefs(driver) {
|
|
|
627
628
|
return elements;
|
|
628
629
|
});
|
|
629
630
|
}
|
|
630
|
-
exports.getButtonsAndHRefs = getButtonsAndHRefs;
|
|
631
631
|
/**
|
|
632
632
|
* Retrieves a button or link with the given text.
|
|
633
633
|
* The text is matched case insensitive and may be a substring of the button/link text.
|
|
@@ -658,7 +658,6 @@ function findButtonOrHRefWithText(driver, variations) {
|
|
|
658
658
|
return undefined;
|
|
659
659
|
});
|
|
660
660
|
}
|
|
661
|
-
exports.findButtonOrHRefWithText = findButtonOrHRefWithText;
|
|
662
661
|
/**
|
|
663
662
|
* Returns a button or href with its text best matching a candidate text.
|
|
664
663
|
* If there are multiple (submit) buttons, the best one is returned using {@link findBestMatchingIndex}.
|
|
@@ -670,8 +669,8 @@ exports.findButtonOrHRefWithText = findButtonOrHRefWithText;
|
|
|
670
669
|
* @returns a button or undefined
|
|
671
670
|
*/
|
|
672
671
|
function findButtonOrHref(driver, textCandidates, regExToApplyToTextBeforeScore) {
|
|
673
|
-
var _a, _b;
|
|
674
672
|
return __awaiter(this, void 0, void 0, function* () {
|
|
673
|
+
var _a, _b;
|
|
675
674
|
const clickableElements = (yield getButtonsAndHRefs(driver));
|
|
676
675
|
let bestScore = Number.MAX_SAFE_INTEGER;
|
|
677
676
|
let bestEl;
|
|
@@ -691,7 +690,6 @@ function findButtonOrHref(driver, textCandidates, regExToApplyToTextBeforeScore)
|
|
|
691
690
|
return bestEl;
|
|
692
691
|
});
|
|
693
692
|
}
|
|
694
|
-
exports.findButtonOrHref = findButtonOrHref;
|
|
695
693
|
/**
|
|
696
694
|
* Returns a submit button or any other button (if onlySubmit is false).
|
|
697
695
|
* If there is only one submit button, it is returned.
|
|
@@ -703,9 +701,9 @@ exports.findButtonOrHref = findButtonOrHref;
|
|
|
703
701
|
* @param onlySubmit only submit buttons are considered, otherwise, all buttons are considered
|
|
704
702
|
* @returns a button or undefined
|
|
705
703
|
*/
|
|
706
|
-
function findSubmitButton(
|
|
707
|
-
|
|
708
|
-
|
|
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;
|
|
709
707
|
const clickableElements = (yield getButtonsAndHRefs(driver));
|
|
710
708
|
const candidates = [];
|
|
711
709
|
const onlySubmitCandidates = [];
|
|
@@ -742,7 +740,6 @@ function findSubmitButton(driver, textCandidates, posHint = -1, onlySubmit = tru
|
|
|
742
740
|
return candidates[0]; // maybe undefined
|
|
743
741
|
});
|
|
744
742
|
}
|
|
745
|
-
exports.findSubmitButton = findSubmitButton;
|
|
746
743
|
/**
|
|
747
744
|
* Scrolls to the element and clicks it.
|
|
748
745
|
* If element is not defined, an error is thrown.
|
|
@@ -758,7 +755,6 @@ function scrollIntoViewAndClick(element) {
|
|
|
758
755
|
yield element.click();
|
|
759
756
|
});
|
|
760
757
|
}
|
|
761
|
-
exports.scrollIntoViewAndClick = scrollIntoViewAndClick;
|
|
762
758
|
/**
|
|
763
759
|
* Only exported for Testing purposes.
|
|
764
760
|
*/
|
|
@@ -778,7 +774,6 @@ function scoreCandidate(candidate, variations, caseSensitive) {
|
|
|
778
774
|
}
|
|
779
775
|
return bestDist;
|
|
780
776
|
}
|
|
781
|
-
exports.scoreCandidate = scoreCandidate;
|
|
782
777
|
/**
|
|
783
778
|
* Returns best matching candidate index or -1 if none matches.
|
|
784
779
|
* Best matching means that the text of the candidate is either
|
|
@@ -832,7 +827,6 @@ function findBestMatchingIndex(candidates, variations, maxDistance = 2) {
|
|
|
832
827
|
}
|
|
833
828
|
return -1;
|
|
834
829
|
}
|
|
835
|
-
exports.findBestMatchingIndex = findBestMatchingIndex;
|
|
836
830
|
/**
|
|
837
831
|
* Returns the best matching input element identified by the given label candidates.
|
|
838
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.
|
|
@@ -847,9 +841,9 @@ exports.findBestMatchingIndex = findBestMatchingIndex;
|
|
|
847
841
|
* The position is always counting all input elements without regard to the type.
|
|
848
842
|
* @package findSelectAsWell If true, select elements are also considered; otherwise, only input and textarea elements are considered
|
|
849
843
|
*/
|
|
850
|
-
function getInputElementByLabel(
|
|
851
|
-
|
|
852
|
-
|
|
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;
|
|
853
847
|
const tagsToFind = ["input", "textarea"];
|
|
854
848
|
if (findSelectAsWell) {
|
|
855
849
|
tagsToFind.push("select");
|
|
@@ -919,7 +913,6 @@ function getInputElementByLabel(driver, labelCandidates, typeHints, positionHint
|
|
|
919
913
|
return undefined;
|
|
920
914
|
});
|
|
921
915
|
}
|
|
922
|
-
exports.getInputElementByLabel = getInputElementByLabel;
|
|
923
916
|
// from https://github.com/tj/commander.js/blob/master/lib/suggestSimilar.js
|
|
924
917
|
function editDistance(a, b, maxDistance) {
|
|
925
918
|
// https://en.wikipedia.org/wiki/Damerau–Levenshtein_distance
|
|
@@ -960,5 +953,26 @@ function editDistance(a, b, maxDistance) {
|
|
|
960
953
|
}
|
|
961
954
|
return d[a.length][b.length];
|
|
962
955
|
}
|
|
963
|
-
|
|
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
|
+
}
|
|
964
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
|
}
|