@applitools/eyes-browser 1.0.0 → 1.0.2
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/CHANGELOG.md +87 -0
- package/dist/index.js +375 -261
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,92 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.0.2](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-browser@1.0.1...js/eyes-browser@1.0.2) (2023-12-18)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Dependencies
|
|
7
|
+
|
|
8
|
+
* @applitools/core bumped to 4.5.0
|
|
9
|
+
#### Features
|
|
10
|
+
|
|
11
|
+
* add set of env variables to skip/ignore some optional automations ([#2097](https://github.com/applitools/eyes.sdk.javascript1/issues/2097)) ([bd3b08c](https://github.com/applitools/eyes.sdk.javascript1/commit/bd3b08c3d2997eb98d545b308a1f15501192178e))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
#### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* fixed issue when page wasn't reloaded for one of the breakpoints if the initial viewport size matches it ([9038723](https://github.com/applitools/eyes.sdk.javascript1/commit/9038723ee68515f7d4fe20ed31ec501df9a381dc))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
* @applitools/spec-driver-webdriver bumped to 1.0.53
|
|
21
|
+
|
|
22
|
+
* @applitools/spec-driver-selenium bumped to 1.5.67
|
|
23
|
+
|
|
24
|
+
* @applitools/spec-driver-puppeteer bumped to 1.3.3
|
|
25
|
+
|
|
26
|
+
* @applitools/driver bumped to 1.16.0
|
|
27
|
+
#### Features
|
|
28
|
+
|
|
29
|
+
* add set of env variables to skip/ignore some optional automations ([#2097](https://github.com/applitools/eyes.sdk.javascript1/issues/2097)) ([bd3b08c](https://github.com/applitools/eyes.sdk.javascript1/commit/bd3b08c3d2997eb98d545b308a1f15501192178e))
|
|
30
|
+
* @applitools/screenshoter bumped to 3.8.19
|
|
31
|
+
|
|
32
|
+
* @applitools/nml-client bumped to 1.6.1
|
|
33
|
+
|
|
34
|
+
* @applitools/ec-client bumped to 1.7.19
|
|
35
|
+
|
|
36
|
+
* @applitools/eyes bumped to 1.13.2
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## [1.0.1](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-browser@1.0.0...js/eyes-browser@1.0.1) (2023-12-12)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Dependencies
|
|
43
|
+
|
|
44
|
+
* @applitools/core bumped to 4.4.0
|
|
45
|
+
#### Features
|
|
46
|
+
|
|
47
|
+
* sign windows binaries ([87fd29c](https://github.com/applitools/eyes.sdk.javascript1/commit/87fd29c8953fc512489c3bb00841ca91c5b2f030))
|
|
48
|
+
* support updated applitools lib protocol ([#2086](https://github.com/applitools/eyes.sdk.javascript1/issues/2086)) ([31b49fc](https://github.com/applitools/eyes.sdk.javascript1/commit/31b49fc411c452d0b3da341fd701309714484485))
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
#### Bug Fixes
|
|
52
|
+
|
|
53
|
+
* layout breakpoints reload and lazy load ([#2073](https://github.com/applitools/eyes.sdk.javascript1/issues/2073)) ([ab2c49e](https://github.com/applitools/eyes.sdk.javascript1/commit/ab2c49ea1ecff3fef337637a83aa5bef755a7b01))
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
#### Code Refactoring
|
|
57
|
+
|
|
58
|
+
* fix safe selector generation ([#2072](https://github.com/applitools/eyes.sdk.javascript1/issues/2072)) ([373f11b](https://github.com/applitools/eyes.sdk.javascript1/commit/373f11b0dfea6eab417eb7077e0cfec79877dc1b))
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
* @applitools/spec-driver-webdriver bumped to 1.0.52
|
|
63
|
+
|
|
64
|
+
* @applitools/spec-driver-selenium bumped to 1.5.66
|
|
65
|
+
|
|
66
|
+
* @applitools/spec-driver-puppeteer bumped to 1.3.2
|
|
67
|
+
|
|
68
|
+
* @applitools/driver bumped to 1.15.3
|
|
69
|
+
#### Bug Fixes
|
|
70
|
+
|
|
71
|
+
* layout breakpoints reload and lazy load ([#2073](https://github.com/applitools/eyes.sdk.javascript1/issues/2073)) ([ab2c49e](https://github.com/applitools/eyes.sdk.javascript1/commit/ab2c49ea1ecff3fef337637a83aa5bef755a7b01))
|
|
72
|
+
* @applitools/screenshoter bumped to 3.8.18
|
|
73
|
+
|
|
74
|
+
* @applitools/nml-client bumped to 1.6.0
|
|
75
|
+
#### Features
|
|
76
|
+
|
|
77
|
+
* support updated applitools lib protocol ([#2086](https://github.com/applitools/eyes.sdk.javascript1/issues/2086)) ([31b49fc](https://github.com/applitools/eyes.sdk.javascript1/commit/31b49fc411c452d0b3da341fd701309714484485))
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
* @applitools/tunnel-client bumped to 1.4.0
|
|
82
|
+
#### Features
|
|
83
|
+
|
|
84
|
+
* sign windows binaries ([87fd29c](https://github.com/applitools/eyes.sdk.javascript1/commit/87fd29c8953fc512489c3bb00841ca91c5b2f030))
|
|
85
|
+
* @applitools/ec-client bumped to 1.7.18
|
|
86
|
+
|
|
87
|
+
* @applitools/eyes bumped to 1.13.1
|
|
88
|
+
|
|
89
|
+
|
|
3
90
|
## 1.0.0 (2023-12-05)
|
|
4
91
|
|
|
5
92
|
|
package/dist/index.js
CHANGED
|
@@ -30444,21 +30444,23 @@ var require_context = __commonJS({
|
|
|
30444
30444
|
async getScrollingElement() {
|
|
30445
30445
|
if (!(0, element_1.isElementInstance)(this._scrollingElement)) {
|
|
30446
30446
|
await this.focus();
|
|
30447
|
-
const environment = await this.driver.getEnvironment();
|
|
30448
30447
|
if (this._scrollingElement) {
|
|
30449
30448
|
this._scrollingElement = await this.element(this._scrollingElement);
|
|
30450
|
-
} else
|
|
30451
|
-
|
|
30452
|
-
if (environment.
|
|
30453
|
-
selector
|
|
30454
|
-
|
|
30449
|
+
} else {
|
|
30450
|
+
const environment = await this.driver.getEnvironment();
|
|
30451
|
+
if (environment.isWeb) {
|
|
30452
|
+
let selector;
|
|
30453
|
+
if (environment.isIOS && !environment.isEmulation) {
|
|
30454
|
+
selector = "html";
|
|
30455
|
+
this.logger.log(`Using hardcoded default scrolling element for Safari on iOS - "${selector}"`);
|
|
30456
|
+
} else {
|
|
30457
|
+
selector = await this.execute(snippets.getDocumentScrollingElement);
|
|
30458
|
+
this.logger.log(`Using dynamic default scrolling element - "${selector}"`);
|
|
30459
|
+
}
|
|
30460
|
+
this._scrollingElement = await this.element({ type: "css", selector });
|
|
30455
30461
|
} else {
|
|
30456
|
-
|
|
30457
|
-
this.logger.log(`Using dynamic default scrolling element - "${selector}"`);
|
|
30462
|
+
this._scrollingElement = await this.element({ type: "xpath", selector: '//*[@scrollable="true"]' });
|
|
30458
30463
|
}
|
|
30459
|
-
this._scrollingElement = await this.element({ type: "css", selector });
|
|
30460
|
-
} else {
|
|
30461
|
-
this._scrollingElement = await this.element({ type: "xpath", selector: '//*[@scrollable="true"]' });
|
|
30462
30464
|
}
|
|
30463
30465
|
}
|
|
30464
30466
|
return this._scrollingElement;
|
|
@@ -31691,16 +31693,23 @@ var require_driver = __commonJS({
|
|
|
31691
31693
|
}
|
|
31692
31694
|
async reloadPage() {
|
|
31693
31695
|
await this.mainContext.execute(snippets.reloadPage).catch(() => null);
|
|
31694
|
-
|
|
31696
|
+
const refreshThis = await this.refresh({ reset: false });
|
|
31697
|
+
const scrollingElement = await this.mainContext.getScrollingElement();
|
|
31698
|
+
await (scrollingElement === null || scrollingElement === void 0 ? void 0 : scrollingElement.refresh());
|
|
31699
|
+
return refreshThis;
|
|
31695
31700
|
}
|
|
31696
31701
|
async refresh({ reset } = {}) {
|
|
31697
31702
|
if (reset) {
|
|
31698
|
-
|
|
31699
|
-
|
|
31700
|
-
|
|
31701
|
-
|
|
31702
|
-
|
|
31703
|
-
|
|
31703
|
+
if (utils34.general.getEnvValue("AVOID_DRIVER_STATE_REST", "boolean")) {
|
|
31704
|
+
this._logger.log(`Skipping reset of the driver state`);
|
|
31705
|
+
} else {
|
|
31706
|
+
this._driverInfo = void 0;
|
|
31707
|
+
this._environment = void 0;
|
|
31708
|
+
this._viewport = void 0;
|
|
31709
|
+
this._features = void 0;
|
|
31710
|
+
this._helper = void 0;
|
|
31711
|
+
this._state = {};
|
|
31712
|
+
}
|
|
31704
31713
|
}
|
|
31705
31714
|
const spec = this._spec;
|
|
31706
31715
|
let currentContext = this.currentContext.target;
|
|
@@ -32004,10 +32013,15 @@ var require_driver = __commonJS({
|
|
|
32004
32013
|
async getHelper() {
|
|
32005
32014
|
var _a, _b, _c;
|
|
32006
32015
|
if (this._helper === void 0) {
|
|
32007
|
-
|
|
32008
|
-
|
|
32009
|
-
|
|
32010
|
-
|
|
32016
|
+
if (utils34.general.getEnvValue("IGNORE_HELPER_LIB", "boolean")) {
|
|
32017
|
+
this._logger.log(`Skipping helper lib extraction`);
|
|
32018
|
+
this._helper = null;
|
|
32019
|
+
} else {
|
|
32020
|
+
const environment = await this.getEnvironment();
|
|
32021
|
+
this._logger.log(`Extracting helper for ${environment.isIOS ? "ios" : "android"}`);
|
|
32022
|
+
this._helper = environment.isIOS ? await helper_ios_1.HelperIOS.make({ spec: this._spec, driver: this }) : await helper_android_1.HelperAndroid.make({ spec: this._spec, driver: this });
|
|
32023
|
+
this._logger.log(`Extracted helper of type ${(_a = this._helper) === null || _a === void 0 ? void 0 : _a.name}`);
|
|
32024
|
+
}
|
|
32011
32025
|
}
|
|
32012
32026
|
this._logger.log(`Returning helper for of type ${(_c = (_b = this._helper) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : null}`);
|
|
32013
32027
|
return this._helper;
|
|
@@ -32304,25 +32318,29 @@ var require_driver = __commonJS({
|
|
|
32304
32318
|
if (environment.isWeb)
|
|
32305
32319
|
return (_a = this._viewport) === null || _a === void 0 ? void 0 : _a.orientation;
|
|
32306
32320
|
if (environment.isAndroid) {
|
|
32307
|
-
|
|
32308
|
-
|
|
32309
|
-
|
|
32310
|
-
|
|
32311
|
-
|
|
32312
|
-
|
|
32313
|
-
|
|
32314
|
-
|
|
32315
|
-
|
|
32316
|
-
|
|
32317
|
-
|
|
32318
|
-
|
|
32319
|
-
|
|
32320
|
-
|
|
32321
|
-
|
|
32322
|
-
|
|
32323
|
-
|
|
32324
|
-
|
|
32325
|
-
|
|
32321
|
+
if (utils34.general.getEnvValue("AVOID_ADB_USAGE", "boolean")) {
|
|
32322
|
+
this._logger.log(`Skipping device orientation extraction using adb command on android`);
|
|
32323
|
+
} else {
|
|
32324
|
+
this._logger.log("Extracting device orientation using adb command on android");
|
|
32325
|
+
const rotation = await this.execute("mobile:shell", {
|
|
32326
|
+
command: "dumpsys window | grep 'mCurrentRotation' | cut -d = -f2"
|
|
32327
|
+
}).then((rotation2) => {
|
|
32328
|
+
var _a2;
|
|
32329
|
+
return (_a2 = rotation2 === null || rotation2 === void 0 ? void 0 : rotation2.trim) === null || _a2 === void 0 ? void 0 : _a2.call(rotation2);
|
|
32330
|
+
}).catch(() => null);
|
|
32331
|
+
if (rotation) {
|
|
32332
|
+
let orientation2 = void 0;
|
|
32333
|
+
if (rotation === "ROTATION_0" || rotation === "0")
|
|
32334
|
+
orientation2 = "portrait";
|
|
32335
|
+
else if (rotation === "ROTATION_90" || rotation === "3")
|
|
32336
|
+
orientation2 = "landscape-secondary";
|
|
32337
|
+
else if (rotation === "ROTATION_180" || rotation === "2")
|
|
32338
|
+
orientation2 = "portrait-secondary";
|
|
32339
|
+
else if (rotation === "ROTATION_270" || rotation === "1")
|
|
32340
|
+
orientation2 = "landscape";
|
|
32341
|
+
this._logger.log("Extracted device orientation:", orientation2);
|
|
32342
|
+
return orientation2;
|
|
32343
|
+
}
|
|
32326
32344
|
}
|
|
32327
32345
|
}
|
|
32328
32346
|
this._logger.log("Extracting device orientation");
|
|
@@ -32791,9 +32809,20 @@ var require_requests2 = __commonJS({
|
|
|
32791
32809
|
});
|
|
32792
32810
|
const result = await response.json();
|
|
32793
32811
|
brokerUrl = result.nextPath;
|
|
32794
|
-
|
|
32795
|
-
|
|
32796
|
-
|
|
32812
|
+
let screenshots;
|
|
32813
|
+
if (Number(result.protocolVersion) >= 2) {
|
|
32814
|
+
logger.log(`Request "takeScreenshots" was performed on applitools lib v${result.nmlVersion} through protocol v${result.protocolVersion} on device`, result.payload.debugInfo);
|
|
32815
|
+
screenshots = localEnvironment ? [{ image: result.payload.result[0].result.screenshotUrl, environment: localEnvironment }] : renderEnvironments.map((environment, index) => {
|
|
32816
|
+
if (result.payload.result[index].error) {
|
|
32817
|
+
throw new Error(`There was a problem in taking screenshot for environment ${JSON.stringify(environment)}. The provided error message was "${result.payload.result[index].error.message}" and had a stack trace of "${result.payload.result[index].error.stack}"`);
|
|
32818
|
+
}
|
|
32819
|
+
return { image: result.payload.result[index].result.screenshotUrl, environment };
|
|
32820
|
+
});
|
|
32821
|
+
} else {
|
|
32822
|
+
screenshots = localEnvironment ? [{ image: result.payload.result.screenshotUrl, environment: localEnvironment }] : renderEnvironments.map((environment, index) => {
|
|
32823
|
+
return { image: result.payload[index].result.screenshotUrl, environment };
|
|
32824
|
+
});
|
|
32825
|
+
}
|
|
32797
32826
|
logger.log('Request "takeScreenshots" finished successfully with body', screenshots);
|
|
32798
32827
|
return screenshots;
|
|
32799
32828
|
} catch (error) {
|
|
@@ -35555,21 +35584,22 @@ var require_to_base_check_settings = __commonJS({
|
|
|
35555
35584
|
var utils34 = __importStar(require_browser3());
|
|
35556
35585
|
function toBaseCheckSettings({ settings }) {
|
|
35557
35586
|
const regionTypes = ["ignore", "layout", "strict", "content", "floating", "accessibility"];
|
|
35558
|
-
const
|
|
35587
|
+
const calculate = regionTypes.flatMap((regionType) => {
|
|
35559
35588
|
var _a;
|
|
35560
35589
|
return ((_a = settings[`${regionType}Regions`]) !== null && _a !== void 0 ? _a : []).reduce((regions, reference) => {
|
|
35561
35590
|
const { region } = utils34.types.has(reference, "region") ? reference : { region: reference };
|
|
35562
35591
|
return !isRegion(region) ? regions.concat(region) : regions;
|
|
35563
35592
|
}, []);
|
|
35564
35593
|
});
|
|
35565
|
-
const
|
|
35566
|
-
|
|
35594
|
+
const target = !isRegion(settings.region) ? settings.region : void 0;
|
|
35595
|
+
const scrolling = settings.scrollRootElement;
|
|
35596
|
+
return { elementReferences: { target, scrolling, calculate }, getBaseCheckSettings };
|
|
35567
35597
|
function getBaseCheckSettings({ calculatedRegions, preserveTransformation }) {
|
|
35568
35598
|
const transformedSettings = { ...settings };
|
|
35569
35599
|
if (!preserveTransformation) {
|
|
35570
35600
|
delete transformedSettings.region;
|
|
35571
35601
|
delete transformedSettings.normalization;
|
|
35572
|
-
} else if (
|
|
35602
|
+
} else if (target) {
|
|
35573
35603
|
delete transformedSettings.region;
|
|
35574
35604
|
}
|
|
35575
35605
|
regionTypes.forEach((regionType) => {
|
|
@@ -35608,10 +35638,10 @@ var require_wait_for_lazy_load = __commonJS({
|
|
|
35608
35638
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35609
35639
|
exports.waitForLazyLoad = void 0;
|
|
35610
35640
|
var { lazyLoad } = require_dist3();
|
|
35611
|
-
async function waitForLazyLoad({ context, settings, logger }) {
|
|
35612
|
-
var _a
|
|
35613
|
-
logger.log("
|
|
35614
|
-
const { scrollLength = 300, waitingTime = 2e3, maxAmountToScroll = 15e3 } =
|
|
35641
|
+
async function waitForLazyLoad({ context, settings = {}, logger }) {
|
|
35642
|
+
var _a;
|
|
35643
|
+
logger.log("Running scrolling sequence to lazy load a view content");
|
|
35644
|
+
const { scrollLength = 300, waitingTime = 2e3, maxAmountToScroll = 15e3 } = settings;
|
|
35615
35645
|
await context.executePoll(lazyLoad, {
|
|
35616
35646
|
main: [
|
|
35617
35647
|
await context.getScrollingElement(),
|
|
@@ -35622,8 +35652,8 @@ var require_wait_for_lazy_load = __commonJS({
|
|
|
35622
35652
|
}
|
|
35623
35653
|
],
|
|
35624
35654
|
poll: [],
|
|
35625
|
-
executionTimeout:
|
|
35626
|
-
pollTimeout: (
|
|
35655
|
+
executionTimeout: 3e5,
|
|
35656
|
+
pollTimeout: (_a = settings.pollTimeout) !== null && _a !== void 0 ? _a : waitingTime
|
|
35627
35657
|
});
|
|
35628
35658
|
}
|
|
35629
35659
|
exports.waitForLazyLoad = waitForLazyLoad;
|
|
@@ -35812,14 +35842,14 @@ var require_check2 = __commonJS({
|
|
|
35812
35842
|
logger
|
|
35813
35843
|
});
|
|
35814
35844
|
}
|
|
35815
|
-
const {
|
|
35845
|
+
const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
|
|
35816
35846
|
if (driverEnvironment.isWeb || !((_c = driverEnvironment.applitoolsLib) === null || _c === void 0 ? void 0 : _c.instrumented) || settings.screenshotMode === "default") {
|
|
35817
35847
|
const screenshots = await (0, take_screenshots_1.takeScreenshots)({
|
|
35818
35848
|
driver,
|
|
35819
35849
|
settings: {
|
|
35820
35850
|
...settings,
|
|
35821
35851
|
environments: uniqueEnvironments,
|
|
35822
|
-
regionsToCalculate:
|
|
35852
|
+
regionsToCalculate: elementReferences.calculate,
|
|
35823
35853
|
calculateView: !!settings.pageId,
|
|
35824
35854
|
domSettings: settings.sendDom ? { proxy: eyes.test.eyesServer.proxy } : void 0
|
|
35825
35855
|
},
|
|
@@ -36007,14 +36037,14 @@ var require_check_and_close2 = __commonJS({
|
|
|
36007
36037
|
logger
|
|
36008
36038
|
});
|
|
36009
36039
|
}
|
|
36010
|
-
const {
|
|
36040
|
+
const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
|
|
36011
36041
|
if (driverEnvironment.isWeb || !((_c = driverEnvironment.applitoolsLib) === null || _c === void 0 ? void 0 : _c.instrumented) || settings.screenshotMode === "default") {
|
|
36012
36042
|
const screenshots = await (0, take_screenshots_1.takeScreenshots)({
|
|
36013
36043
|
driver,
|
|
36014
36044
|
settings: {
|
|
36015
36045
|
...settings,
|
|
36016
36046
|
environments: uniqueEnvironments,
|
|
36017
|
-
regionsToCalculate:
|
|
36047
|
+
regionsToCalculate: elementReferences.calculate,
|
|
36018
36048
|
calculateView: !!settings.pageId,
|
|
36019
36049
|
domSettings: settings.sendDom ? { proxy: eyes.test.eyesServer.proxy } : void 0
|
|
36020
36050
|
},
|
|
@@ -82351,46 +82381,6 @@ var require_generate_safe_selectors = __commonJS({
|
|
|
82351
82381
|
}
|
|
82352
82382
|
});
|
|
82353
82383
|
|
|
82354
|
-
// ../core/dist/ufg/utils/calculate-regions.js
|
|
82355
|
-
var require_calculate_regions = __commonJS({
|
|
82356
|
-
"../core/dist/ufg/utils/calculate-regions.js"(exports) {
|
|
82357
|
-
"use strict";
|
|
82358
|
-
init_process();
|
|
82359
|
-
init_setImmediate();
|
|
82360
|
-
init_buffer();
|
|
82361
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
82362
|
-
exports.calculateRegions = void 0;
|
|
82363
|
-
var generate_safe_selectors_1 = require_generate_safe_selectors();
|
|
82364
|
-
async function calculateRegions({ driver, elementReferencesToCalculate, elementReferenceToTarget, scrollRootElement }) {
|
|
82365
|
-
var _a, _b;
|
|
82366
|
-
const elementReferences = [
|
|
82367
|
-
...elementReferenceToTarget ? [elementReferenceToTarget] : [],
|
|
82368
|
-
...scrollRootElement ? [scrollRootElement] : [],
|
|
82369
|
-
...elementReferencesToCalculate
|
|
82370
|
-
];
|
|
82371
|
-
const { cleanupGeneratedSelectors, selectors } = await (0, generate_safe_selectors_1.generateSafeSelectors)({
|
|
82372
|
-
context: driver.currentContext,
|
|
82373
|
-
elementReferences
|
|
82374
|
-
});
|
|
82375
|
-
let selectorsToCalculate = selectors;
|
|
82376
|
-
let regionToTarget;
|
|
82377
|
-
let scrollRootSelector;
|
|
82378
|
-
if (elementReferenceToTarget) {
|
|
82379
|
-
if (!((_a = selectorsToCalculate[0]) === null || _a === void 0 ? void 0 : _a.safeSelector))
|
|
82380
|
-
throw new Error("Target element not found");
|
|
82381
|
-
regionToTarget = selectorsToCalculate[0].safeSelector;
|
|
82382
|
-
selectorsToCalculate = selectorsToCalculate.slice(1);
|
|
82383
|
-
}
|
|
82384
|
-
if (scrollRootElement) {
|
|
82385
|
-
scrollRootSelector = (_b = selectorsToCalculate[0].safeSelector) !== null && _b !== void 0 ? _b : void 0;
|
|
82386
|
-
selectorsToCalculate = selectorsToCalculate.slice(1);
|
|
82387
|
-
}
|
|
82388
|
-
return { cleanupGeneratedSelectors, selectorsToCalculate, regionToTarget, scrollRootSelector };
|
|
82389
|
-
}
|
|
82390
|
-
exports.calculateRegions = calculateRegions;
|
|
82391
|
-
}
|
|
82392
|
-
});
|
|
82393
|
-
|
|
82394
82384
|
// ../core/dist/ufg/utils/take-dom-snapshots.js
|
|
82395
82385
|
var require_take_dom_snapshots = __commonJS({
|
|
82396
82386
|
"../core/dist/ufg/utils/take-dom-snapshots.js"(exports) {
|
|
@@ -82441,47 +82431,36 @@ var require_take_dom_snapshots = __commonJS({
|
|
|
82441
82431
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
82442
82432
|
exports.takeDomSnapshots = void 0;
|
|
82443
82433
|
var take_dom_snapshot_1 = require_take_dom_snapshot();
|
|
82444
|
-
var
|
|
82434
|
+
var generate_safe_selectors_1 = require_generate_safe_selectors();
|
|
82445
82435
|
var wait_for_lazy_load_1 = require_wait_for_lazy_load();
|
|
82446
82436
|
var chalk_1 = __importDefault(require_source());
|
|
82447
82437
|
var utils34 = __importStar(require_browser3());
|
|
82448
82438
|
var lang = __importStar(require_lang());
|
|
82449
82439
|
__exportStar(require_take_dom_snapshot(), exports);
|
|
82450
82440
|
async function takeDomSnapshots({ driver, settings, hooks, provides, logger }) {
|
|
82451
|
-
var _a, _b, _c
|
|
82441
|
+
var _a, _b, _c;
|
|
82452
82442
|
const features = await driver.getFeatures();
|
|
82453
82443
|
settings.cookies = features.allCookies ? await driver.getCookies().catch(() => []) : [];
|
|
82444
|
+
settings.lazyLoad = settings.lazyLoad !== true ? settings.lazyLoad : {};
|
|
82454
82445
|
const currentContext = driver.currentContext;
|
|
82455
|
-
let calculateRegionsResults = {};
|
|
82456
|
-
const waitBeforeCapture = async () => {
|
|
82457
|
-
if (utils34.types.isFunction(settings.waitBeforeCapture)) {
|
|
82458
|
-
await settings.waitBeforeCapture();
|
|
82459
|
-
} else if (settings.waitBeforeCapture) {
|
|
82460
|
-
await utils34.general.sleep(settings.waitBeforeCapture);
|
|
82461
|
-
}
|
|
82462
|
-
};
|
|
82463
|
-
if (settings.lazyLoad) {
|
|
82464
|
-
await (0, wait_for_lazy_load_1.waitForLazyLoad)({
|
|
82465
|
-
context: driver.currentContext,
|
|
82466
|
-
settings: settings.lazyLoad !== true ? settings.lazyLoad : {},
|
|
82467
|
-
logger
|
|
82468
|
-
});
|
|
82469
|
-
}
|
|
82470
82446
|
if (!((_a = settings.layoutBreakpoints) === null || _a === void 0 ? void 0 : _a.breakpoints)) {
|
|
82447
|
+
if (settings.lazyLoad) {
|
|
82448
|
+
await (0, wait_for_lazy_load_1.waitForLazyLoad)({ context: currentContext, settings: settings.lazyLoad, logger });
|
|
82449
|
+
}
|
|
82471
82450
|
logger.log(`taking single dom snapshot`);
|
|
82472
|
-
await
|
|
82473
|
-
|
|
82474
|
-
if (settings.
|
|
82475
|
-
|
|
82476
|
-
|
|
82477
|
-
|
|
82451
|
+
await beforeEachSnapshot();
|
|
82452
|
+
let safeSelectorResult2;
|
|
82453
|
+
if (settings.elementReferences) {
|
|
82454
|
+
safeSelectorResult2 = await (0, generate_safe_selectors_1.generateSafeSelectors)({
|
|
82455
|
+
context: currentContext,
|
|
82456
|
+
elementReferences: settings.elementReferences
|
|
82478
82457
|
});
|
|
82479
82458
|
}
|
|
82480
82459
|
const snapshot = await (0, take_dom_snapshot_1.takeDomSnapshot)({ context: currentContext, settings, logger });
|
|
82481
|
-
await ((
|
|
82482
|
-
return Array(settings.environments.length).fill({ snapshot,
|
|
82460
|
+
await ((_b = safeSelectorResult2 === null || safeSelectorResult2 === void 0 ? void 0 : safeSelectorResult2.cleanupGeneratedSelectors) === null || _b === void 0 ? void 0 : _b.call(safeSelectorResult2));
|
|
82461
|
+
return Array(settings.environments.length).fill({ ...snapshot, generatedSelectors: safeSelectorResult2 === null || safeSelectorResult2 === void 0 ? void 0 : safeSelectorResult2.selectors });
|
|
82483
82462
|
}
|
|
82484
|
-
const isStrictBreakpoints = utils34.types.isArray((
|
|
82463
|
+
const isStrictBreakpoints = utils34.types.isArray((_c = settings.layoutBreakpoints) === null || _c === void 0 ? void 0 : _c.breakpoints);
|
|
82485
82464
|
const requiredWidths = await settings.environments.reduce(async (prev, environment, index) => {
|
|
82486
82465
|
const { name, width } = await extractEnvironmentInfo(environment);
|
|
82487
82466
|
const requiredWidths2 = await prev;
|
|
@@ -82500,76 +82479,78 @@ var require_take_dom_snapshots = __commonJS({
|
|
|
82500
82479
|
});
|
|
82501
82480
|
logger.console.log(chalk_1.default.yellow(message));
|
|
82502
82481
|
}
|
|
82503
|
-
logger.log(`
|
|
82504
|
-
|
|
82505
|
-
const
|
|
82506
|
-
const
|
|
82507
|
-
if (
|
|
82508
|
-
logger.log(`
|
|
82509
|
-
|
|
82510
|
-
|
|
82511
|
-
|
|
82512
|
-
|
|
82513
|
-
|
|
82514
|
-
|
|
82515
|
-
|
|
82516
|
-
|
|
82517
|
-
|
|
82518
|
-
|
|
82519
|
-
|
|
82520
|
-
|
|
82521
|
-
|
|
82522
|
-
|
|
82523
|
-
|
|
82524
|
-
|
|
82525
|
-
|
|
82526
|
-
|
|
82527
|
-
|
|
82528
|
-
|
|
82529
|
-
|
|
82530
|
-
|
|
82531
|
-
|
|
82532
|
-
|
|
82533
|
-
|
|
82534
|
-
|
|
82535
|
-
|
|
82536
|
-
|
|
82537
|
-
|
|
82538
|
-
|
|
82539
|
-
|
|
82540
|
-
|
|
82541
|
-
browsers: browsersInfo
|
|
82542
|
-
});
|
|
82543
|
-
logger.console.log(chalk_1.default.yellow(message));
|
|
82544
|
-
logger.log(message);
|
|
82482
|
+
logger.log(`Taking multiple dom snapshots for the breakpoints`, settings.layoutBreakpoints);
|
|
82483
|
+
const initialViewportSize = await driver.getViewportSize();
|
|
82484
|
+
const entries = [];
|
|
82485
|
+
const initialsBrowsers = requiredWidths.get(initialViewportSize.width);
|
|
82486
|
+
if (initialsBrowsers) {
|
|
82487
|
+
logger.log(`The first dom snapshot is going to be taking for initial viewport size`, initialViewportSize);
|
|
82488
|
+
requiredWidths.delete(initialViewportSize.width);
|
|
82489
|
+
entries.push({ browsers: initialsBrowsers });
|
|
82490
|
+
}
|
|
82491
|
+
requiredWidths.forEach((browsers, requiredWidth) => entries.push({ viewportSize: { width: requiredWidth, height: initialViewportSize.height }, browsers }));
|
|
82492
|
+
logger.log(`All entries to take dom snapshots for`, entries);
|
|
82493
|
+
let safeSelectorResult;
|
|
82494
|
+
const snapshots = Array(settings.environments.length);
|
|
82495
|
+
for (const [index, { viewportSize, browsers }] of entries.entries()) {
|
|
82496
|
+
logger.log(`Taking dom snapshot for viewport size ${viewportSize}`);
|
|
82497
|
+
if (viewportSize) {
|
|
82498
|
+
try {
|
|
82499
|
+
await driver.setViewportSize(viewportSize);
|
|
82500
|
+
} catch (error) {
|
|
82501
|
+
logger.error(`Failed to set viewport size to ${viewportSize} due to the error`, error);
|
|
82502
|
+
const actualViewportSize = await driver.getViewportSize();
|
|
82503
|
+
if (isStrictBreakpoints) {
|
|
82504
|
+
const message = lang.breakpointOutOfDriverBoundsWarning({
|
|
82505
|
+
requiredWidth: viewportSize.width,
|
|
82506
|
+
actualWidth: actualViewportSize.width,
|
|
82507
|
+
browsers
|
|
82508
|
+
});
|
|
82509
|
+
logger.console.log(chalk_1.default.yellow(message));
|
|
82510
|
+
logger.log(message);
|
|
82511
|
+
} else {
|
|
82512
|
+
const message = lang.requestedEnvironmentOutOfDriverBoundsWarning({
|
|
82513
|
+
requiredWidth: viewportSize.width,
|
|
82514
|
+
actualWidth: actualViewportSize.width,
|
|
82515
|
+
browsers
|
|
82516
|
+
});
|
|
82517
|
+
logger.console.log(chalk_1.default.yellow(message));
|
|
82518
|
+
logger.log(message);
|
|
82519
|
+
}
|
|
82545
82520
|
}
|
|
82546
82521
|
}
|
|
82547
|
-
if (settings.layoutBreakpoints.reload)
|
|
82522
|
+
if (settings.layoutBreakpoints.reload)
|
|
82548
82523
|
await driver.reloadPage();
|
|
82549
|
-
|
|
82550
|
-
|
|
82551
|
-
|
|
82552
|
-
|
|
82553
|
-
|
|
82554
|
-
|
|
82555
|
-
|
|
82556
|
-
|
|
82557
|
-
|
|
82558
|
-
}
|
|
82524
|
+
if (settings.lazyLoad && (index === 0 || settings.layoutBreakpoints.reload)) {
|
|
82525
|
+
await (0, wait_for_lazy_load_1.waitForLazyLoad)({ context: currentContext, settings: settings.lazyLoad, logger });
|
|
82526
|
+
}
|
|
82527
|
+
await beforeEachSnapshot();
|
|
82528
|
+
if (settings.elementReferences && (index === 0 || settings.layoutBreakpoints.reload)) {
|
|
82529
|
+
safeSelectorResult = await (0, generate_safe_selectors_1.generateSafeSelectors)({
|
|
82530
|
+
context: currentContext,
|
|
82531
|
+
elementReferences: settings.elementReferences
|
|
82532
|
+
});
|
|
82559
82533
|
}
|
|
82560
82534
|
const snapshot = await (0, take_dom_snapshot_1.takeDomSnapshot)({ context: currentContext, settings, logger });
|
|
82561
|
-
|
|
82562
|
-
snapshotsResults[index] = { snapshot, ...calculateRegionsResults };
|
|
82563
|
-
});
|
|
82535
|
+
browsers.forEach(({ index: index2 }) => snapshots[index2] = { ...snapshot, generatedSelectors: safeSelectorResult === null || safeSelectorResult === void 0 ? void 0 : safeSelectorResult.selectors });
|
|
82564
82536
|
}
|
|
82565
|
-
await driver.setViewportSize(
|
|
82537
|
+
await driver.setViewportSize(initialViewportSize);
|
|
82566
82538
|
if (settings.layoutBreakpoints.reload) {
|
|
82567
82539
|
await driver.reloadPage();
|
|
82568
|
-
await
|
|
82540
|
+
await beforeEachSnapshot();
|
|
82569
82541
|
} else {
|
|
82570
|
-
(
|
|
82542
|
+
await (safeSelectorResult === null || safeSelectorResult === void 0 ? void 0 : safeSelectorResult.cleanupGeneratedSelectors());
|
|
82543
|
+
}
|
|
82544
|
+
return snapshots;
|
|
82545
|
+
async function beforeEachSnapshot() {
|
|
82546
|
+
var _a2, _b2;
|
|
82547
|
+
await ((_a2 = hooks === null || hooks === void 0 ? void 0 : hooks.beforeEachSnapshot) === null || _a2 === void 0 ? void 0 : _a2.call(hooks));
|
|
82548
|
+
if (utils34.types.isNumber(settings.waitBeforeCapture)) {
|
|
82549
|
+
await utils34.general.sleep(settings.waitBeforeCapture);
|
|
82550
|
+
} else {
|
|
82551
|
+
await ((_b2 = settings.waitBeforeCapture) === null || _b2 === void 0 ? void 0 : _b2.call(settings));
|
|
82552
|
+
}
|
|
82571
82553
|
}
|
|
82572
|
-
return snapshotsResults;
|
|
82573
82554
|
function calculateBreakpoint({ breakpoints, value }) {
|
|
82574
82555
|
const nextBreakpointIndex = breakpoints.sort((item1, item2) => item1 > item2 ? 1 : -1).findIndex((breakpoint) => breakpoint > value);
|
|
82575
82556
|
if (nextBreakpointIndex === -1)
|
|
@@ -82598,6 +82579,55 @@ var require_take_dom_snapshots = __commonJS({
|
|
|
82598
82579
|
}
|
|
82599
82580
|
});
|
|
82600
82581
|
|
|
82582
|
+
// ../core/dist/ufg/utils/to-generated-selectors.js
|
|
82583
|
+
var require_to_generated_selectors = __commonJS({
|
|
82584
|
+
"../core/dist/ufg/utils/to-generated-selectors.js"(exports) {
|
|
82585
|
+
"use strict";
|
|
82586
|
+
init_process();
|
|
82587
|
+
init_setImmediate();
|
|
82588
|
+
init_buffer();
|
|
82589
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
82590
|
+
exports.toGeneratedSelectors = void 0;
|
|
82591
|
+
function toGeneratedSelectors({ elementReferences, transformElementReference }) {
|
|
82592
|
+
var _a, _b, _c;
|
|
82593
|
+
const elementReferencesToMark = [
|
|
82594
|
+
(_a = elementReferences.target) !== null && _a !== void 0 ? _a : [],
|
|
82595
|
+
(_b = elementReferences.scrolling) !== null && _b !== void 0 ? _b : [],
|
|
82596
|
+
(_c = elementReferences.calculate) !== null && _c !== void 0 ? _c : []
|
|
82597
|
+
].flat();
|
|
82598
|
+
return { elementReferencesToMark, getGeneratedSelectors };
|
|
82599
|
+
function getGeneratedSelectors(generatedSelectors) {
|
|
82600
|
+
var _a2, _b2, _c2;
|
|
82601
|
+
let target = void 0;
|
|
82602
|
+
let scrolling = void 0;
|
|
82603
|
+
let calculate = [];
|
|
82604
|
+
if (generatedSelectors) {
|
|
82605
|
+
let offset = 0;
|
|
82606
|
+
if (elementReferences.target) {
|
|
82607
|
+
target = (_a2 = generatedSelectors[offset++].safeSelector) !== null && _a2 !== void 0 ? _a2 : void 0;
|
|
82608
|
+
if (!target)
|
|
82609
|
+
throw new Error("Target element not found");
|
|
82610
|
+
}
|
|
82611
|
+
if (elementReferences.scrolling) {
|
|
82612
|
+
scrolling = (_b2 = generatedSelectors[offset++].safeSelector) !== null && _b2 !== void 0 ? _b2 : void 0;
|
|
82613
|
+
}
|
|
82614
|
+
calculate = generatedSelectors.slice(offset);
|
|
82615
|
+
} else {
|
|
82616
|
+
target = elementReferences.target && transformElementReference(elementReferences.target);
|
|
82617
|
+
scrolling = elementReferences.scrolling && transformElementReference(elementReferences.scrolling);
|
|
82618
|
+
calculate = ((_c2 = elementReferences.calculate) !== null && _c2 !== void 0 ? _c2 : []).map((elementReference) => {
|
|
82619
|
+
var _a3;
|
|
82620
|
+
const selector = (_a3 = transformElementReference(elementReference)) !== null && _a3 !== void 0 ? _a3 : null;
|
|
82621
|
+
return { originalSelector: selector, safeSelector: selector };
|
|
82622
|
+
});
|
|
82623
|
+
}
|
|
82624
|
+
return { target, scrolling, calculate };
|
|
82625
|
+
}
|
|
82626
|
+
}
|
|
82627
|
+
exports.toGeneratedSelectors = toGeneratedSelectors;
|
|
82628
|
+
}
|
|
82629
|
+
});
|
|
82630
|
+
|
|
82601
82631
|
// ../core/dist/ufg/check.js
|
|
82602
82632
|
var require_check3 = __commonJS({
|
|
82603
82633
|
"../core/dist/ufg/check.js"(exports) {
|
|
@@ -82645,6 +82675,7 @@ var require_check3 = __commonJS({
|
|
|
82645
82675
|
var driver_1 = require_dist4();
|
|
82646
82676
|
var take_dom_snapshots_1 = require_take_dom_snapshots();
|
|
82647
82677
|
var to_base_check_settings_1 = require_to_base_check_settings();
|
|
82678
|
+
var to_generated_selectors_1 = require_to_generated_selectors();
|
|
82648
82679
|
var uniquify_environments_1 = require_uniquify_environments();
|
|
82649
82680
|
var to_environment_key_1 = require_to_environment_key();
|
|
82650
82681
|
var abort_error_1 = require_abort_error();
|
|
@@ -82653,15 +82684,20 @@ var require_check3 = __commonJS({
|
|
|
82653
82684
|
var chalk_1 = __importDefault(require_source());
|
|
82654
82685
|
function makeCheck({ eyes, target: defaultTarget, environments: defaultEnvironments = [], spec, signal, logger: mainLogger }) {
|
|
82655
82686
|
return async function check({ target = defaultTarget, settings = {}, logger = mainLogger } = {}) {
|
|
82656
|
-
var _a, _b
|
|
82687
|
+
var _a, _b;
|
|
82657
82688
|
logger = logger.extend(mainLogger);
|
|
82658
82689
|
logger.log('Command "check" is called with settings', settings);
|
|
82659
82690
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
82660
82691
|
logger.warn('Command "check" was called after test was already aborted');
|
|
82661
82692
|
throw new abort_error_1.AbortError('Command "check" was called after test was already aborted');
|
|
82662
82693
|
}
|
|
82663
|
-
const {
|
|
82664
|
-
|
|
82694
|
+
const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
|
|
82695
|
+
const { elementReferencesToMark, getGeneratedSelectors } = (0, to_generated_selectors_1.toGeneratedSelectors)({
|
|
82696
|
+
elementReferences,
|
|
82697
|
+
transformElementReference: (elementReference) => {
|
|
82698
|
+
var _a2;
|
|
82699
|
+
return (0, driver_1.isSelector)(elementReference) && ((_a2 = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _a2 === void 0 ? void 0 : _a2.call(spec, elementReference)) || void 0;
|
|
82700
|
+
}
|
|
82665
82701
|
});
|
|
82666
82702
|
const uniqueEnvironments = (0, uniquify_environments_1.uniquifyEnvironments)((_a = settings.environments) !== null && _a !== void 0 ? _a : defaultEnvironments);
|
|
82667
82703
|
const ufgClient = await eyes.core.getUFGClient({
|
|
@@ -82672,7 +82708,7 @@ var require_check3 = __commonJS({
|
|
|
82672
82708
|
},
|
|
82673
82709
|
logger
|
|
82674
82710
|
});
|
|
82675
|
-
let
|
|
82711
|
+
let snapshots;
|
|
82676
82712
|
let snapshotUrl;
|
|
82677
82713
|
let snapshotTitle;
|
|
82678
82714
|
let userAgent;
|
|
@@ -82683,7 +82719,7 @@ var require_check3 = __commonJS({
|
|
|
82683
82719
|
await currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
|
|
82684
82720
|
if (environment.isWeb) {
|
|
82685
82721
|
userAgent = await driver.getUserAgentLegacy();
|
|
82686
|
-
|
|
82722
|
+
snapshots = await (0, take_dom_snapshots_1.takeDomSnapshots)({
|
|
82687
82723
|
driver,
|
|
82688
82724
|
settings: {
|
|
82689
82725
|
...eyes.test.eyesServer,
|
|
@@ -82693,11 +82729,7 @@ var require_check3 = __commonJS({
|
|
|
82693
82729
|
environments: uniqueEnvironments,
|
|
82694
82730
|
skipResources: ufgClient.getCachedResourceUrls(),
|
|
82695
82731
|
lazyLoad: settings.lazyLoad,
|
|
82696
|
-
|
|
82697
|
-
elementReferencesToCalculate,
|
|
82698
|
-
elementReferenceToTarget,
|
|
82699
|
-
scrollRootElement: settings.scrollRootElement
|
|
82700
|
-
}
|
|
82732
|
+
elementReferences: elementReferencesToMark
|
|
82701
82733
|
},
|
|
82702
82734
|
provides: {
|
|
82703
82735
|
getChromeEmulationDevices: ufgClient.getChromeEmulationDevices,
|
|
@@ -82711,7 +82743,7 @@ var require_check3 = __commonJS({
|
|
|
82711
82743
|
settings: { ...eyes.test.eyesServer, supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl },
|
|
82712
82744
|
logger
|
|
82713
82745
|
});
|
|
82714
|
-
|
|
82746
|
+
snapshots = await nmlClient.takeSnapshots({
|
|
82715
82747
|
settings: {
|
|
82716
82748
|
...eyes.test.eyesServer,
|
|
82717
82749
|
waitBeforeCapture: settings.waitBeforeCapture,
|
|
@@ -82719,24 +82751,17 @@ var require_check3 = __commonJS({
|
|
|
82719
82751
|
},
|
|
82720
82752
|
logger
|
|
82721
82753
|
});
|
|
82722
|
-
snapshotResults = snapshots.map((snapshot) => {
|
|
82723
|
-
var _a2, _b2, _c2, _d;
|
|
82724
|
-
return {
|
|
82725
|
-
snapshot,
|
|
82726
|
-
regionToTarget: (0, driver_1.isSelector)(elementReferenceToTarget) ? (_b2 = (_a2 = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _a2 === void 0 ? void 0 : _a2.call(spec, settings.scrollRootElement)) !== null && _b2 !== void 0 ? _b2 : void 0 : void 0,
|
|
82727
|
-
scrollRootSelector: (0, driver_1.isSelector)(settings.scrollRootElement) ? (_d = (_c2 = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _c2 === void 0 ? void 0 : _c2.call(spec, settings.scrollRootElement)) !== null && _d !== void 0 ? _d : void 0 : void 0
|
|
82728
|
-
};
|
|
82729
|
-
});
|
|
82730
82754
|
}
|
|
82731
82755
|
await currentContext.focus();
|
|
82732
82756
|
snapshotUrl = await driver.getUrl();
|
|
82733
82757
|
snapshotTitle = await driver.getTitle();
|
|
82734
82758
|
} else {
|
|
82735
|
-
|
|
82736
|
-
snapshotUrl = utils34.types.has(
|
|
82759
|
+
snapshots = !utils34.types.isArray(target) ? Array(uniqueEnvironments.length).fill(target) : target;
|
|
82760
|
+
snapshotUrl = utils34.types.has(snapshots[0], "url") ? snapshots[0].url : void 0;
|
|
82737
82761
|
}
|
|
82762
|
+
const generatedSelectors = snapshots.map((snapshot) => getGeneratedSelectors(utils34.types.has(snapshot, "generatedSelectors") ? snapshot.generatedSelectors : void 0));
|
|
82738
82763
|
const promises = uniqueEnvironments.map(async (environment, index) => {
|
|
82739
|
-
var _a2, _b2,
|
|
82764
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h;
|
|
82740
82765
|
const environmentLogger = logger.extend({ tags: [`environment-${utils34.general.shortid()}`] });
|
|
82741
82766
|
const ufgEnvironment = environment;
|
|
82742
82767
|
if (utils34.types.has(ufgEnvironment, "name") && ufgEnvironment.name === "edge") {
|
|
@@ -82747,13 +82772,8 @@ var require_check3 = __commonJS({
|
|
|
82747
82772
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
82748
82773
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
82749
82774
|
}
|
|
82750
|
-
const {
|
|
82751
|
-
const
|
|
82752
|
-
const region = (_a2 = regionToTarget !== null && regionToTarget !== void 0 ? regionToTarget : elementReferenceToTarget) !== null && _a2 !== void 0 ? _a2 : settings.region;
|
|
82753
|
-
const selectorsToCalculate = selectorsToCalculateFromSnapshot !== null && selectorsToCalculateFromSnapshot !== void 0 ? selectorsToCalculateFromSnapshot : elementReferencesToCalculate.map((selector) => ({
|
|
82754
|
-
originalSelector: selector,
|
|
82755
|
-
safeSelector: selector
|
|
82756
|
-
}));
|
|
82775
|
+
const { cookies, ...snapshot } = snapshots[index];
|
|
82776
|
+
const selectors = generatedSelectors[index];
|
|
82757
82777
|
if (utils34.types.has(ufgEnvironment, "iosDeviceInfo") || utils34.types.has(ufgEnvironment, "androidDeviceInfo")) {
|
|
82758
82778
|
ufgEnvironment.type = utils34.types.has(snapshot, "cdt") ? "web" : "native";
|
|
82759
82779
|
}
|
|
@@ -82778,24 +82798,24 @@ var require_check3 = __commonJS({
|
|
|
82778
82798
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
82779
82799
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
82780
82800
|
} else if (!baseEyes.running) {
|
|
82781
|
-
environmentLogger.warn(`Render on environment with id "${(
|
|
82782
|
-
throw new abort_error_1.AbortError(`Render on environment with id "${(
|
|
82801
|
+
environmentLogger.warn(`Render on environment with id "${(_a2 = baseEyes.test.environment) === null || _a2 === void 0 ? void 0 : _a2.environmentId}" was aborted during one of the previous steps`);
|
|
82802
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${(_b2 = baseEyes.test.environment) === null || _b2 === void 0 ? void 0 : _b2.environmentId}" was aborted during one of the previous steps`);
|
|
82783
82803
|
}
|
|
82784
82804
|
const renderTarget = await renderTargetPromise;
|
|
82785
82805
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
82786
82806
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
82787
82807
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
82788
82808
|
} else if (!baseEyes.running) {
|
|
82789
|
-
environmentLogger.warn(`Render on environment with id "${(
|
|
82790
|
-
throw new abort_error_1.AbortError(`Render on environment with id "${(
|
|
82809
|
+
environmentLogger.warn(`Render on environment with id "${(_c = baseEyes.test.environment) === null || _c === void 0 ? void 0 : _c.environmentId}" was aborted during one of the previous steps`);
|
|
82810
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${(_d = baseEyes.test.environment) === null || _d === void 0 ? void 0 : _d.environmentId}" was aborted during one of the previous steps`);
|
|
82791
82811
|
}
|
|
82792
82812
|
const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
|
|
82793
82813
|
target: renderTarget,
|
|
82794
82814
|
settings: {
|
|
82795
82815
|
...settings,
|
|
82796
|
-
region,
|
|
82797
|
-
scrollRootElement:
|
|
82798
|
-
selectorsToCalculate:
|
|
82816
|
+
region: (_e = selectors.target) !== null && _e !== void 0 ? _e : settings.region,
|
|
82817
|
+
scrollRootElement: selectors.scrolling,
|
|
82818
|
+
selectorsToCalculate: selectors.calculate.flatMap(({ safeSelector }) => safeSelector !== null && safeSelector !== void 0 ? safeSelector : []),
|
|
82799
82819
|
includeFullPageSize: Boolean(settings.pageId),
|
|
82800
82820
|
environment: ufgEnvironment,
|
|
82801
82821
|
environmentId: baseEyes.test.environment.environmentId,
|
|
@@ -82807,7 +82827,7 @@ var require_check3 = __commonJS({
|
|
|
82807
82827
|
});
|
|
82808
82828
|
let offset = 0;
|
|
82809
82829
|
const baseSettings = getBaseCheckSettings({
|
|
82810
|
-
calculatedRegions:
|
|
82830
|
+
calculatedRegions: selectors.calculate.map(({ originalSelector, safeSelector }) => ({
|
|
82811
82831
|
selector: originalSelector !== null && originalSelector !== void 0 ? originalSelector : void 0,
|
|
82812
82832
|
regions: safeSelector ? selectorRegions[offset++] : []
|
|
82813
82833
|
}))
|
|
@@ -82900,6 +82920,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
82900
82920
|
var driver_1 = require_dist4();
|
|
82901
82921
|
var take_dom_snapshots_1 = require_take_dom_snapshots();
|
|
82902
82922
|
var to_base_check_settings_1 = require_to_base_check_settings();
|
|
82923
|
+
var to_generated_selectors_1 = require_to_generated_selectors();
|
|
82903
82924
|
var uniquify_environments_1 = require_uniquify_environments();
|
|
82904
82925
|
var to_environment_key_1 = require_to_environment_key();
|
|
82905
82926
|
var abort_error_1 = require_abort_error();
|
|
@@ -82908,15 +82929,20 @@ var require_check_and_close3 = __commonJS({
|
|
|
82908
82929
|
var chalk_1 = __importDefault(require_source());
|
|
82909
82930
|
function makeCheckAndClose({ eyes, target: defaultTarget, environments: defaultEnvironments = [], spec, signal, logger: mainLogger }) {
|
|
82910
82931
|
return async function checkAndClose({ target = defaultTarget, settings = {}, logger = mainLogger } = {}) {
|
|
82911
|
-
var _a, _b
|
|
82932
|
+
var _a, _b;
|
|
82912
82933
|
logger = logger.extend(mainLogger);
|
|
82913
82934
|
logger.log('Command "checkAndClose" is called with settings', settings);
|
|
82914
82935
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
82915
82936
|
logger.warn('Command "checkAndClose" was called after test was already aborted');
|
|
82916
82937
|
throw new abort_error_1.AbortError('Command "checkAndClose" was called after test was already aborted');
|
|
82917
82938
|
}
|
|
82918
|
-
const {
|
|
82919
|
-
|
|
82939
|
+
const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
|
|
82940
|
+
const { elementReferencesToMark, getGeneratedSelectors } = (0, to_generated_selectors_1.toGeneratedSelectors)({
|
|
82941
|
+
elementReferences,
|
|
82942
|
+
transformElementReference: (elementReference) => {
|
|
82943
|
+
var _a2;
|
|
82944
|
+
return (0, driver_1.isSelector)(elementReference) && ((_a2 = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _a2 === void 0 ? void 0 : _a2.call(spec, elementReference)) || void 0;
|
|
82945
|
+
}
|
|
82920
82946
|
});
|
|
82921
82947
|
const uniqueEnvironments = (0, uniquify_environments_1.uniquifyEnvironments)((_a = settings.environments) !== null && _a !== void 0 ? _a : defaultEnvironments);
|
|
82922
82948
|
const ufgClient = await eyes.core.getUFGClient({
|
|
@@ -82927,7 +82953,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
82927
82953
|
},
|
|
82928
82954
|
logger
|
|
82929
82955
|
});
|
|
82930
|
-
let
|
|
82956
|
+
let snapshots;
|
|
82931
82957
|
let snapshotUrl;
|
|
82932
82958
|
let snapshotTitle;
|
|
82933
82959
|
let userAgent;
|
|
@@ -82938,7 +82964,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
82938
82964
|
await currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
|
|
82939
82965
|
if (environment.isWeb) {
|
|
82940
82966
|
userAgent = await driver.getUserAgentLegacy();
|
|
82941
|
-
|
|
82967
|
+
snapshots = await (0, take_dom_snapshots_1.takeDomSnapshots)({
|
|
82942
82968
|
driver,
|
|
82943
82969
|
settings: {
|
|
82944
82970
|
...eyes.test.eyesServer,
|
|
@@ -82948,11 +82974,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
82948
82974
|
environments: uniqueEnvironments,
|
|
82949
82975
|
skipResources: ufgClient.getCachedResourceUrls(),
|
|
82950
82976
|
lazyLoad: settings.lazyLoad,
|
|
82951
|
-
|
|
82952
|
-
elementReferencesToCalculate,
|
|
82953
|
-
elementReferenceToTarget,
|
|
82954
|
-
scrollRootElement: settings.scrollRootElement
|
|
82955
|
-
}
|
|
82977
|
+
elementReferences: elementReferencesToMark
|
|
82956
82978
|
},
|
|
82957
82979
|
provides: {
|
|
82958
82980
|
getChromeEmulationDevices: ufgClient.getChromeEmulationDevices,
|
|
@@ -82966,7 +82988,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
82966
82988
|
settings: { ...eyes.test.eyesServer, supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl },
|
|
82967
82989
|
logger
|
|
82968
82990
|
});
|
|
82969
|
-
|
|
82991
|
+
snapshots = await nmlClient.takeSnapshots({
|
|
82970
82992
|
settings: {
|
|
82971
82993
|
...eyes.test.eyesServer,
|
|
82972
82994
|
waitBeforeCapture: settings.waitBeforeCapture,
|
|
@@ -82974,24 +82996,17 @@ var require_check_and_close3 = __commonJS({
|
|
|
82974
82996
|
},
|
|
82975
82997
|
logger
|
|
82976
82998
|
});
|
|
82977
|
-
snapshotResults = snapshots.map((snapshot) => {
|
|
82978
|
-
var _a2, _b2, _c2, _d;
|
|
82979
|
-
return {
|
|
82980
|
-
snapshot,
|
|
82981
|
-
regionToTarget: (0, driver_1.isSelector)(elementReferenceToTarget) ? (_b2 = (_a2 = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _a2 === void 0 ? void 0 : _a2.call(spec, settings.scrollRootElement)) !== null && _b2 !== void 0 ? _b2 : void 0 : void 0,
|
|
82982
|
-
scrollRootSelector: (0, driver_1.isSelector)(settings.scrollRootElement) ? (_d = (_c2 = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _c2 === void 0 ? void 0 : _c2.call(spec, settings.scrollRootElement)) !== null && _d !== void 0 ? _d : void 0 : void 0
|
|
82983
|
-
};
|
|
82984
|
-
});
|
|
82985
82999
|
}
|
|
82986
83000
|
await currentContext.focus();
|
|
82987
83001
|
snapshotUrl = await driver.getUrl();
|
|
82988
83002
|
snapshotTitle = await driver.getTitle();
|
|
82989
83003
|
} else {
|
|
82990
|
-
|
|
82991
|
-
snapshotUrl = utils34.types.has(
|
|
83004
|
+
snapshots = !utils34.types.isArray(target) ? Array(uniqueEnvironments.length).fill(target) : target;
|
|
83005
|
+
snapshotUrl = utils34.types.has(snapshots[0], "url") ? snapshots[0].url : void 0;
|
|
82992
83006
|
}
|
|
83007
|
+
const generatedSelectors = snapshots.map((snapshot) => getGeneratedSelectors(utils34.types.has(snapshot, "generatedSelectors") ? snapshot.generatedSelectors : void 0));
|
|
82993
83008
|
const promises = uniqueEnvironments.map(async (environment, index) => {
|
|
82994
|
-
var _a2, _b2,
|
|
83009
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h;
|
|
82995
83010
|
const environmentLogger = logger.extend({ tags: [`environment-${utils34.general.shortid()}`] });
|
|
82996
83011
|
const ufgEnvironment = environment;
|
|
82997
83012
|
if (utils34.types.has(ufgEnvironment, "name") && ufgEnvironment.name === "edge") {
|
|
@@ -83002,13 +83017,8 @@ var require_check_and_close3 = __commonJS({
|
|
|
83002
83017
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
83003
83018
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
83004
83019
|
}
|
|
83005
|
-
const {
|
|
83006
|
-
const
|
|
83007
|
-
const region = (_a2 = regionToTarget !== null && regionToTarget !== void 0 ? regionToTarget : elementReferenceToTarget) !== null && _a2 !== void 0 ? _a2 : settings.region;
|
|
83008
|
-
const selectorsToCalculate = selectorsToCalculateFromSnapshot !== null && selectorsToCalculateFromSnapshot !== void 0 ? selectorsToCalculateFromSnapshot : elementReferencesToCalculate.map((selector) => ({
|
|
83009
|
-
originalSelector: selector,
|
|
83010
|
-
safeSelector: selector
|
|
83011
|
-
}));
|
|
83020
|
+
const { cookies, ...snapshot } = snapshots[index];
|
|
83021
|
+
const selectors = generatedSelectors[index];
|
|
83012
83022
|
if (utils34.types.has(ufgEnvironment, "iosDeviceInfo") || utils34.types.has(ufgEnvironment, "androidDeviceInfo")) {
|
|
83013
83023
|
ufgEnvironment.type = utils34.types.has(snapshot, "cdt") ? "web" : "native";
|
|
83014
83024
|
}
|
|
@@ -83033,24 +83043,24 @@ var require_check_and_close3 = __commonJS({
|
|
|
83033
83043
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
83034
83044
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
83035
83045
|
} else if (!baseEyes.running) {
|
|
83036
|
-
environmentLogger.warn(`Render on environment with id "${(
|
|
83037
|
-
throw new abort_error_1.AbortError(`Render on environment with id "${(
|
|
83046
|
+
environmentLogger.warn(`Render on environment with id "${(_a2 = baseEyes.test.environment) === null || _a2 === void 0 ? void 0 : _a2.environmentId}" was aborted during one of the previous steps`);
|
|
83047
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${(_b2 = baseEyes.test.environment) === null || _b2 === void 0 ? void 0 : _b2.environmentId}" was aborted during one of the previous steps`);
|
|
83038
83048
|
}
|
|
83039
83049
|
const renderTarget = await renderTargetPromise;
|
|
83040
83050
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
83041
83051
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
83042
83052
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
83043
83053
|
} else if (!baseEyes.running) {
|
|
83044
|
-
environmentLogger.warn(`Render on environment with id "${(
|
|
83045
|
-
throw new abort_error_1.AbortError(`Render on environment with id "${(
|
|
83054
|
+
environmentLogger.warn(`Render on environment with id "${(_c = baseEyes.test.environment) === null || _c === void 0 ? void 0 : _c.environmentId}" was aborted during one of the previous steps`);
|
|
83055
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${(_d = baseEyes.test.environment) === null || _d === void 0 ? void 0 : _d.environmentId}" was aborted during one of the previous steps`);
|
|
83046
83056
|
}
|
|
83047
83057
|
const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
|
|
83048
83058
|
target: renderTarget,
|
|
83049
83059
|
settings: {
|
|
83050
83060
|
...settings,
|
|
83051
|
-
region,
|
|
83052
|
-
scrollRootElement:
|
|
83053
|
-
selectorsToCalculate:
|
|
83061
|
+
region: (_e = selectors.target) !== null && _e !== void 0 ? _e : settings.region,
|
|
83062
|
+
scrollRootElement: selectors.scrolling,
|
|
83063
|
+
selectorsToCalculate: selectors.calculate.flatMap(({ safeSelector }) => safeSelector !== null && safeSelector !== void 0 ? safeSelector : []),
|
|
83054
83064
|
includeFullPageSize: !!settings.pageId,
|
|
83055
83065
|
environment: ufgEnvironment,
|
|
83056
83066
|
environmentId: baseEyes.test.environment.environmentId,
|
|
@@ -83062,7 +83072,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
83062
83072
|
});
|
|
83063
83073
|
let offset = 0;
|
|
83064
83074
|
const baseSettings = getBaseCheckSettings({
|
|
83065
|
-
calculatedRegions:
|
|
83075
|
+
calculatedRegions: selectors.calculate.map(({ originalSelector, safeSelector }) => ({
|
|
83066
83076
|
selector: originalSelector !== null && originalSelector !== void 0 ? originalSelector : void 0,
|
|
83067
83077
|
regions: safeSelector ? selectorRegions[offset++] : []
|
|
83068
83078
|
}))
|
|
@@ -84281,7 +84291,7 @@ var require_package2 = __commonJS({
|
|
|
84281
84291
|
"../core/package.json"(exports, module) {
|
|
84282
84292
|
module.exports = {
|
|
84283
84293
|
name: "@applitools/core",
|
|
84284
|
-
version: "4.
|
|
84294
|
+
version: "4.5.0",
|
|
84285
84295
|
homepage: "https://applitools.com",
|
|
84286
84296
|
bugs: {
|
|
84287
84297
|
url: "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -84340,6 +84350,12 @@ var require_package2 = __commonJS({
|
|
|
84340
84350
|
},
|
|
84341
84351
|
sea: {
|
|
84342
84352
|
bin: "eyes",
|
|
84353
|
+
certs: {
|
|
84354
|
+
win: {
|
|
84355
|
+
cert: "env.CODE_SIGNING_CERT_WIN",
|
|
84356
|
+
pass: "env.CODE_SIGNING_PASS_WIN"
|
|
84357
|
+
}
|
|
84358
|
+
},
|
|
84343
84359
|
targets: {
|
|
84344
84360
|
"node20-linux-x64-glibc-217": "./bin/core-linux",
|
|
84345
84361
|
"node20-linux-x64-musl": "./bin/core-alpine",
|
|
@@ -84605,6 +84621,68 @@ var require_validate_sdk_version = __commonJS({
|
|
|
84605
84621
|
}
|
|
84606
84622
|
});
|
|
84607
84623
|
|
|
84624
|
+
// ../core/dist/utils/memory-usage-logging.js
|
|
84625
|
+
var require_memory_usage_logging = __commonJS({
|
|
84626
|
+
"../core/dist/utils/memory-usage-logging.js"(exports) {
|
|
84627
|
+
"use strict";
|
|
84628
|
+
init_process();
|
|
84629
|
+
init_setImmediate();
|
|
84630
|
+
init_buffer();
|
|
84631
|
+
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
84632
|
+
if (k2 === void 0)
|
|
84633
|
+
k2 = k;
|
|
84634
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
84635
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
84636
|
+
desc = { enumerable: true, get: function() {
|
|
84637
|
+
return m[k];
|
|
84638
|
+
} };
|
|
84639
|
+
}
|
|
84640
|
+
Object.defineProperty(o, k2, desc);
|
|
84641
|
+
} : function(o, m, k, k2) {
|
|
84642
|
+
if (k2 === void 0)
|
|
84643
|
+
k2 = k;
|
|
84644
|
+
o[k2] = m[k];
|
|
84645
|
+
});
|
|
84646
|
+
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
|
|
84647
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
84648
|
+
} : function(o, v) {
|
|
84649
|
+
o["default"] = v;
|
|
84650
|
+
});
|
|
84651
|
+
var __importStar = exports && exports.__importStar || function(mod) {
|
|
84652
|
+
if (mod && mod.__esModule)
|
|
84653
|
+
return mod;
|
|
84654
|
+
var result = {};
|
|
84655
|
+
if (mod != null) {
|
|
84656
|
+
for (var k in mod)
|
|
84657
|
+
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
|
|
84658
|
+
__createBinding(result, mod, k);
|
|
84659
|
+
}
|
|
84660
|
+
__setModuleDefault(result, mod);
|
|
84661
|
+
return result;
|
|
84662
|
+
};
|
|
84663
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
84664
|
+
exports.startMemoryUsageLogging = void 0;
|
|
84665
|
+
var utils34 = __importStar(require_browser3());
|
|
84666
|
+
function startMemoryUsageLogging({ timeout = 3e4, logger }) {
|
|
84667
|
+
var _a;
|
|
84668
|
+
logger = logger.extend({ tags: [`mem-usage-${utils34.general.shortid()}`] });
|
|
84669
|
+
const interval = setInterval(() => logger.log(formatMemoryUsage(process.memoryUsage())), (_a = utils34.general.getEnvValue("MEMORY_LOG_TIMEOUT", "number")) !== null && _a !== void 0 ? _a : timeout);
|
|
84670
|
+
interval.unref();
|
|
84671
|
+
return { stop: stop2 };
|
|
84672
|
+
function stop2() {
|
|
84673
|
+
clearInterval(interval);
|
|
84674
|
+
}
|
|
84675
|
+
}
|
|
84676
|
+
exports.startMemoryUsageLogging = startMemoryUsageLogging;
|
|
84677
|
+
function formatMemoryUsage(usage) {
|
|
84678
|
+
return `Memory usage: ${Object.entries(usage).map(([key, value]) => `${key}: ${toMB(value)}MB`).join(", ")}`;
|
|
84679
|
+
}
|
|
84680
|
+
function toMB(size) {
|
|
84681
|
+
return Math.round(size / 1024 / 1024 * 100) / 100;
|
|
84682
|
+
}
|
|
84683
|
+
}
|
|
84684
|
+
});
|
|
84685
|
+
|
|
84608
84686
|
// ../core/dist/core.js
|
|
84609
84687
|
var require_core4 = __commonJS({
|
|
84610
84688
|
"../core/dist/core.js"(exports) {
|
|
@@ -84662,9 +84740,11 @@ var require_core4 = __commonJS({
|
|
|
84662
84740
|
var delete_test_1 = require_delete_test2();
|
|
84663
84741
|
var extract_test_environment_1 = require_extract_test_environment();
|
|
84664
84742
|
var validate_sdk_version_1 = require_validate_sdk_version();
|
|
84743
|
+
var memory_usage_logging_1 = require_memory_usage_logging();
|
|
84665
84744
|
var utils34 = __importStar(require_browser3());
|
|
84666
84745
|
function makeCore({ spec, clients, concurrency, base: defaultBase, environment: defaultEnvironment, agentId = "core", cwd = process.cwd(), logger: defaultLogger, asyncCache } = {}) {
|
|
84667
84746
|
const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core" } });
|
|
84747
|
+
(0, memory_usage_logging_1.startMemoryUsageLogging)({ logger });
|
|
84668
84748
|
const environment = (0, extract_test_environment_1.extractTestEnvironment)(defaultEnvironment);
|
|
84669
84749
|
logger.log(`Core is initialized ${defaultBase ? "with" : "without"} custom base core and environment`, environment);
|
|
84670
84750
|
if (environment.sdk)
|
|
@@ -87820,7 +87900,7 @@ var require_logs = __commonJS({
|
|
|
87820
87900
|
init_setImmediate();
|
|
87821
87901
|
init_buffer();
|
|
87822
87902
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
87823
|
-
exports.structureLogs = exports.parseLogs = void 0;
|
|
87903
|
+
exports.analyzeLogs = exports.structureLogs = exports.stringifyLog = exports.parseLogs = void 0;
|
|
87824
87904
|
function parseLogs(logs) {
|
|
87825
87905
|
const regexp = /^(?<label>[^\s]+) (?:\((?<tags>[^\)]+)\) )?\| (?<timestamp>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z)? (?:\[(?<level>[A-Z]+)\s*\])? (?<message>.+)$/;
|
|
87826
87906
|
const lines = logs.split("\n");
|
|
@@ -87839,8 +87919,14 @@ var require_logs = __commonJS({
|
|
|
87839
87919
|
}, []);
|
|
87840
87920
|
}
|
|
87841
87921
|
exports.parseLogs = parseLogs;
|
|
87922
|
+
function stringifyLog(log) {
|
|
87923
|
+
var _a;
|
|
87924
|
+
return `${log.label} (${(_a = log.tags) === null || _a === void 0 ? void 0 : _a.map((tags) => tags.join("/")).join(" & ")}) ${log.timestamp} [${log.level}] ${log.message}`;
|
|
87925
|
+
}
|
|
87926
|
+
exports.stringifyLog = stringifyLog;
|
|
87842
87927
|
function structureLogs(logs) {
|
|
87843
87928
|
const groups = {};
|
|
87929
|
+
groups.logs;
|
|
87844
87930
|
logs.forEach((log) => {
|
|
87845
87931
|
var _a;
|
|
87846
87932
|
const tags = (_a = log.tags) !== null && _a !== void 0 ? _a : [[]];
|
|
@@ -87858,6 +87944,34 @@ var require_logs = __commonJS({
|
|
|
87858
87944
|
return groups;
|
|
87859
87945
|
}
|
|
87860
87946
|
exports.structureLogs = structureLogs;
|
|
87947
|
+
function analyzeLogs({ logs, ...groups }) {
|
|
87948
|
+
var _a, _b;
|
|
87949
|
+
const analysis = {};
|
|
87950
|
+
analysis.logs = logs === null || logs === void 0 ? void 0 : logs.map(stringifyLog);
|
|
87951
|
+
const groupAnalyses = Object.fromEntries(Object.entries(groups).map(([name, group]) => [name, analyzeLogs(group)]));
|
|
87952
|
+
analysis.startedAt = Math.min(Date.parse((_a = logs === null || logs === void 0 ? void 0 : logs[0]) === null || _a === void 0 ? void 0 : _a.timestamp) || Infinity, ...Object.values(groupAnalyses).map((group) => group.startedAt));
|
|
87953
|
+
analysis.finishedAt = Math.max(Date.parse((_b = logs === null || logs === void 0 ? void 0 : logs[logs.length - 1]) === null || _b === void 0 ? void 0 : _b.timestamp) || 0, ...Object.values(groupAnalyses).map((group) => group.finishedAt));
|
|
87954
|
+
analysis.time = analysis.finishedAt - analysis.startedAt;
|
|
87955
|
+
analysis.conclusion = "";
|
|
87956
|
+
analysis.conclusion += `Time taken: ${formatTime(analysis.time)};`;
|
|
87957
|
+
if (Object.keys(groupAnalyses).length > 0) {
|
|
87958
|
+
analysis.conclusion += `Longest group: ${Object.keys(groupAnalyses).reduce((prev, cur) => groupAnalyses[cur].time > groupAnalyses[prev].time ? cur : prev)}`;
|
|
87959
|
+
}
|
|
87960
|
+
return { ...analysis, ...groupAnalyses };
|
|
87961
|
+
}
|
|
87962
|
+
exports.analyzeLogs = analyzeLogs;
|
|
87963
|
+
function formatTime(ms) {
|
|
87964
|
+
const h = Math.floor(ms / 36e5);
|
|
87965
|
+
if (h)
|
|
87966
|
+
ms -= h * 36e5;
|
|
87967
|
+
const m = Math.floor(ms / 6e4);
|
|
87968
|
+
if (m)
|
|
87969
|
+
ms -= m * 6e4;
|
|
87970
|
+
const s = Math.floor(ms / 1e3);
|
|
87971
|
+
if (s)
|
|
87972
|
+
ms -= s * 1e3;
|
|
87973
|
+
return [h && `${h}h`, m && `${m}m`, s && `${s}s`, ms && `${ms}ms`].filter(Boolean).join(" ");
|
|
87974
|
+
}
|
|
87861
87975
|
}
|
|
87862
87976
|
});
|
|
87863
87977
|
|
|
@@ -87926,7 +88040,7 @@ var require_package3 = __commonJS({
|
|
|
87926
88040
|
"../eyes/package.json"(exports, module) {
|
|
87927
88041
|
module.exports = {
|
|
87928
88042
|
name: "@applitools/eyes",
|
|
87929
|
-
version: "1.13.
|
|
88043
|
+
version: "1.13.2",
|
|
87930
88044
|
keywords: [
|
|
87931
88045
|
"applitools",
|
|
87932
88046
|
"eyes",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/eyes-browser",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"applitools",
|
|
6
6
|
"browser",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"test": "run --top-level mocha './test/**/*.spec.ts'"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@applitools/eyes": "1.13.
|
|
51
|
+
"@applitools/eyes": "1.13.2"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/node": "^12.20.55",
|