@applitools/eyes-browser 1.0.0 → 1.0.1
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 +51 -0
- package/dist/index.js +298 -231
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,56 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [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)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Dependencies
|
|
7
|
+
|
|
8
|
+
* @applitools/core bumped to 4.4.0
|
|
9
|
+
#### Features
|
|
10
|
+
|
|
11
|
+
* sign windows binaries ([87fd29c](https://github.com/applitools/eyes.sdk.javascript1/commit/87fd29c8953fc512489c3bb00841ca91c5b2f030))
|
|
12
|
+
* 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))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
#### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* 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))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
#### Code Refactoring
|
|
21
|
+
|
|
22
|
+
* fix safe selector generation ([#2072](https://github.com/applitools/eyes.sdk.javascript1/issues/2072)) ([373f11b](https://github.com/applitools/eyes.sdk.javascript1/commit/373f11b0dfea6eab417eb7077e0cfec79877dc1b))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
* @applitools/spec-driver-webdriver bumped to 1.0.52
|
|
27
|
+
|
|
28
|
+
* @applitools/spec-driver-selenium bumped to 1.5.66
|
|
29
|
+
|
|
30
|
+
* @applitools/spec-driver-puppeteer bumped to 1.3.2
|
|
31
|
+
|
|
32
|
+
* @applitools/driver bumped to 1.15.3
|
|
33
|
+
#### Bug Fixes
|
|
34
|
+
|
|
35
|
+
* 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))
|
|
36
|
+
* @applitools/screenshoter bumped to 3.8.18
|
|
37
|
+
|
|
38
|
+
* @applitools/nml-client bumped to 1.6.0
|
|
39
|
+
#### Features
|
|
40
|
+
|
|
41
|
+
* 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))
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
* @applitools/tunnel-client bumped to 1.4.0
|
|
46
|
+
#### Features
|
|
47
|
+
|
|
48
|
+
* sign windows binaries ([87fd29c](https://github.com/applitools/eyes.sdk.javascript1/commit/87fd29c8953fc512489c3bb00841ca91c5b2f030))
|
|
49
|
+
* @applitools/ec-client bumped to 1.7.18
|
|
50
|
+
|
|
51
|
+
* @applitools/eyes bumped to 1.13.1
|
|
52
|
+
|
|
53
|
+
|
|
3
54
|
## 1.0.0 (2023-12-05)
|
|
4
55
|
|
|
5
56
|
|
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,7 +31693,10 @@ 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) {
|
|
@@ -32791,9 +32796,20 @@ var require_requests2 = __commonJS({
|
|
|
32791
32796
|
});
|
|
32792
32797
|
const result = await response.json();
|
|
32793
32798
|
brokerUrl = result.nextPath;
|
|
32794
|
-
|
|
32795
|
-
|
|
32796
|
-
|
|
32799
|
+
let screenshots;
|
|
32800
|
+
if (Number(result.protocolVersion) >= 2) {
|
|
32801
|
+
logger.log(`Request "takeScreenshots" was performed on applitools lib v${result.nmlVersion} through protocol v${result.protocolVersion} on device`, result.payload.debugInfo);
|
|
32802
|
+
screenshots = localEnvironment ? [{ image: result.payload.result[0].result.screenshotUrl, environment: localEnvironment }] : renderEnvironments.map((environment, index) => {
|
|
32803
|
+
if (result.payload.result[index].error) {
|
|
32804
|
+
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}"`);
|
|
32805
|
+
}
|
|
32806
|
+
return { image: result.payload.result[index].result.screenshotUrl, environment };
|
|
32807
|
+
});
|
|
32808
|
+
} else {
|
|
32809
|
+
screenshots = localEnvironment ? [{ image: result.payload.result.screenshotUrl, environment: localEnvironment }] : renderEnvironments.map((environment, index) => {
|
|
32810
|
+
return { image: result.payload[index].result.screenshotUrl, environment };
|
|
32811
|
+
});
|
|
32812
|
+
}
|
|
32797
32813
|
logger.log('Request "takeScreenshots" finished successfully with body', screenshots);
|
|
32798
32814
|
return screenshots;
|
|
32799
32815
|
} catch (error) {
|
|
@@ -35555,21 +35571,22 @@ var require_to_base_check_settings = __commonJS({
|
|
|
35555
35571
|
var utils34 = __importStar(require_browser3());
|
|
35556
35572
|
function toBaseCheckSettings({ settings }) {
|
|
35557
35573
|
const regionTypes = ["ignore", "layout", "strict", "content", "floating", "accessibility"];
|
|
35558
|
-
const
|
|
35574
|
+
const calculate = regionTypes.flatMap((regionType) => {
|
|
35559
35575
|
var _a;
|
|
35560
35576
|
return ((_a = settings[`${regionType}Regions`]) !== null && _a !== void 0 ? _a : []).reduce((regions, reference) => {
|
|
35561
35577
|
const { region } = utils34.types.has(reference, "region") ? reference : { region: reference };
|
|
35562
35578
|
return !isRegion(region) ? regions.concat(region) : regions;
|
|
35563
35579
|
}, []);
|
|
35564
35580
|
});
|
|
35565
|
-
const
|
|
35566
|
-
|
|
35581
|
+
const target = !isRegion(settings.region) ? settings.region : void 0;
|
|
35582
|
+
const scrolling = settings.scrollRootElement;
|
|
35583
|
+
return { elementReferences: { target, scrolling, calculate }, getBaseCheckSettings };
|
|
35567
35584
|
function getBaseCheckSettings({ calculatedRegions, preserveTransformation }) {
|
|
35568
35585
|
const transformedSettings = { ...settings };
|
|
35569
35586
|
if (!preserveTransformation) {
|
|
35570
35587
|
delete transformedSettings.region;
|
|
35571
35588
|
delete transformedSettings.normalization;
|
|
35572
|
-
} else if (
|
|
35589
|
+
} else if (target) {
|
|
35573
35590
|
delete transformedSettings.region;
|
|
35574
35591
|
}
|
|
35575
35592
|
regionTypes.forEach((regionType) => {
|
|
@@ -35608,10 +35625,10 @@ var require_wait_for_lazy_load = __commonJS({
|
|
|
35608
35625
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35609
35626
|
exports.waitForLazyLoad = void 0;
|
|
35610
35627
|
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 } =
|
|
35628
|
+
async function waitForLazyLoad({ context, settings = {}, logger }) {
|
|
35629
|
+
var _a;
|
|
35630
|
+
logger.log("Running scrolling sequence to lazy load a view content");
|
|
35631
|
+
const { scrollLength = 300, waitingTime = 2e3, maxAmountToScroll = 15e3 } = settings;
|
|
35615
35632
|
await context.executePoll(lazyLoad, {
|
|
35616
35633
|
main: [
|
|
35617
35634
|
await context.getScrollingElement(),
|
|
@@ -35622,8 +35639,8 @@ var require_wait_for_lazy_load = __commonJS({
|
|
|
35622
35639
|
}
|
|
35623
35640
|
],
|
|
35624
35641
|
poll: [],
|
|
35625
|
-
executionTimeout:
|
|
35626
|
-
pollTimeout: (
|
|
35642
|
+
executionTimeout: 3e5,
|
|
35643
|
+
pollTimeout: (_a = settings.pollTimeout) !== null && _a !== void 0 ? _a : waitingTime
|
|
35627
35644
|
});
|
|
35628
35645
|
}
|
|
35629
35646
|
exports.waitForLazyLoad = waitForLazyLoad;
|
|
@@ -35812,14 +35829,14 @@ var require_check2 = __commonJS({
|
|
|
35812
35829
|
logger
|
|
35813
35830
|
});
|
|
35814
35831
|
}
|
|
35815
|
-
const {
|
|
35832
|
+
const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
|
|
35816
35833
|
if (driverEnvironment.isWeb || !((_c = driverEnvironment.applitoolsLib) === null || _c === void 0 ? void 0 : _c.instrumented) || settings.screenshotMode === "default") {
|
|
35817
35834
|
const screenshots = await (0, take_screenshots_1.takeScreenshots)({
|
|
35818
35835
|
driver,
|
|
35819
35836
|
settings: {
|
|
35820
35837
|
...settings,
|
|
35821
35838
|
environments: uniqueEnvironments,
|
|
35822
|
-
regionsToCalculate:
|
|
35839
|
+
regionsToCalculate: elementReferences.calculate,
|
|
35823
35840
|
calculateView: !!settings.pageId,
|
|
35824
35841
|
domSettings: settings.sendDom ? { proxy: eyes.test.eyesServer.proxy } : void 0
|
|
35825
35842
|
},
|
|
@@ -36007,14 +36024,14 @@ var require_check_and_close2 = __commonJS({
|
|
|
36007
36024
|
logger
|
|
36008
36025
|
});
|
|
36009
36026
|
}
|
|
36010
|
-
const {
|
|
36027
|
+
const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
|
|
36011
36028
|
if (driverEnvironment.isWeb || !((_c = driverEnvironment.applitoolsLib) === null || _c === void 0 ? void 0 : _c.instrumented) || settings.screenshotMode === "default") {
|
|
36012
36029
|
const screenshots = await (0, take_screenshots_1.takeScreenshots)({
|
|
36013
36030
|
driver,
|
|
36014
36031
|
settings: {
|
|
36015
36032
|
...settings,
|
|
36016
36033
|
environments: uniqueEnvironments,
|
|
36017
|
-
regionsToCalculate:
|
|
36034
|
+
regionsToCalculate: elementReferences.calculate,
|
|
36018
36035
|
calculateView: !!settings.pageId,
|
|
36019
36036
|
domSettings: settings.sendDom ? { proxy: eyes.test.eyesServer.proxy } : void 0
|
|
36020
36037
|
},
|
|
@@ -82351,46 +82368,6 @@ var require_generate_safe_selectors = __commonJS({
|
|
|
82351
82368
|
}
|
|
82352
82369
|
});
|
|
82353
82370
|
|
|
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
82371
|
// ../core/dist/ufg/utils/take-dom-snapshots.js
|
|
82395
82372
|
var require_take_dom_snapshots = __commonJS({
|
|
82396
82373
|
"../core/dist/ufg/utils/take-dom-snapshots.js"(exports) {
|
|
@@ -82441,47 +82418,36 @@ var require_take_dom_snapshots = __commonJS({
|
|
|
82441
82418
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
82442
82419
|
exports.takeDomSnapshots = void 0;
|
|
82443
82420
|
var take_dom_snapshot_1 = require_take_dom_snapshot();
|
|
82444
|
-
var
|
|
82421
|
+
var generate_safe_selectors_1 = require_generate_safe_selectors();
|
|
82445
82422
|
var wait_for_lazy_load_1 = require_wait_for_lazy_load();
|
|
82446
82423
|
var chalk_1 = __importDefault(require_source());
|
|
82447
82424
|
var utils34 = __importStar(require_browser3());
|
|
82448
82425
|
var lang = __importStar(require_lang());
|
|
82449
82426
|
__exportStar(require_take_dom_snapshot(), exports);
|
|
82450
82427
|
async function takeDomSnapshots({ driver, settings, hooks, provides, logger }) {
|
|
82451
|
-
var _a, _b, _c
|
|
82428
|
+
var _a, _b, _c;
|
|
82452
82429
|
const features = await driver.getFeatures();
|
|
82453
82430
|
settings.cookies = features.allCookies ? await driver.getCookies().catch(() => []) : [];
|
|
82431
|
+
settings.lazyLoad = settings.lazyLoad !== true ? settings.lazyLoad : {};
|
|
82454
82432
|
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
82433
|
if (!((_a = settings.layoutBreakpoints) === null || _a === void 0 ? void 0 : _a.breakpoints)) {
|
|
82434
|
+
if (settings.lazyLoad) {
|
|
82435
|
+
await (0, wait_for_lazy_load_1.waitForLazyLoad)({ context: currentContext, settings: settings.lazyLoad, logger });
|
|
82436
|
+
}
|
|
82471
82437
|
logger.log(`taking single dom snapshot`);
|
|
82472
|
-
await
|
|
82473
|
-
|
|
82474
|
-
if (settings.
|
|
82475
|
-
|
|
82476
|
-
|
|
82477
|
-
|
|
82438
|
+
await beforeEachSnapshot();
|
|
82439
|
+
let safeSelectorResult2;
|
|
82440
|
+
if (settings.elementReferences) {
|
|
82441
|
+
safeSelectorResult2 = await (0, generate_safe_selectors_1.generateSafeSelectors)({
|
|
82442
|
+
context: currentContext,
|
|
82443
|
+
elementReferences: settings.elementReferences
|
|
82478
82444
|
});
|
|
82479
82445
|
}
|
|
82480
82446
|
const snapshot = await (0, take_dom_snapshot_1.takeDomSnapshot)({ context: currentContext, settings, logger });
|
|
82481
|
-
await ((
|
|
82482
|
-
return Array(settings.environments.length).fill({ snapshot,
|
|
82447
|
+
await ((_b = safeSelectorResult2 === null || safeSelectorResult2 === void 0 ? void 0 : safeSelectorResult2.cleanupGeneratedSelectors) === null || _b === void 0 ? void 0 : _b.call(safeSelectorResult2));
|
|
82448
|
+
return Array(settings.environments.length).fill({ ...snapshot, generatedSelectors: safeSelectorResult2 === null || safeSelectorResult2 === void 0 ? void 0 : safeSelectorResult2.selectors });
|
|
82483
82449
|
}
|
|
82484
|
-
const isStrictBreakpoints = utils34.types.isArray((
|
|
82450
|
+
const isStrictBreakpoints = utils34.types.isArray((_c = settings.layoutBreakpoints) === null || _c === void 0 ? void 0 : _c.breakpoints);
|
|
82485
82451
|
const requiredWidths = await settings.environments.reduce(async (prev, environment, index) => {
|
|
82486
82452
|
const { name, width } = await extractEnvironmentInfo(environment);
|
|
82487
82453
|
const requiredWidths2 = await prev;
|
|
@@ -82500,76 +82466,78 @@ var require_take_dom_snapshots = __commonJS({
|
|
|
82500
82466
|
});
|
|
82501
82467
|
logger.console.log(chalk_1.default.yellow(message));
|
|
82502
82468
|
}
|
|
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);
|
|
82469
|
+
logger.log(`Taking multiple dom snapshots for the breakpoints`, settings.layoutBreakpoints);
|
|
82470
|
+
const initialViewportSize = await driver.getViewportSize();
|
|
82471
|
+
const entries = [];
|
|
82472
|
+
const initialsBrowsers = requiredWidths.get(initialViewportSize.width);
|
|
82473
|
+
if (initialsBrowsers) {
|
|
82474
|
+
logger.log(`The first dom snapshot is going to be taking for initial viewport size`, initialViewportSize);
|
|
82475
|
+
requiredWidths.delete(initialViewportSize.width);
|
|
82476
|
+
entries.push({ browsers: initialsBrowsers });
|
|
82477
|
+
}
|
|
82478
|
+
requiredWidths.forEach((browsers, requiredWidth) => entries.push({ viewportSize: { width: requiredWidth, height: initialViewportSize.height }, browsers }));
|
|
82479
|
+
logger.log(`All entries to take dom snapshots for`, entries);
|
|
82480
|
+
let safeSelectorResult;
|
|
82481
|
+
const snapshots = Array(settings.environments.length);
|
|
82482
|
+
for (const [index, { viewportSize, browsers }] of entries.entries()) {
|
|
82483
|
+
logger.log(`Taking dom snapshot for viewport size ${viewportSize}`);
|
|
82484
|
+
if (viewportSize) {
|
|
82485
|
+
try {
|
|
82486
|
+
await driver.setViewportSize(viewportSize);
|
|
82487
|
+
} catch (error) {
|
|
82488
|
+
logger.error(`Failed to set viewport size to ${viewportSize} due to the error`, error);
|
|
82489
|
+
const actualViewportSize = await driver.getViewportSize();
|
|
82490
|
+
if (isStrictBreakpoints) {
|
|
82491
|
+
const message = lang.breakpointOutOfDriverBoundsWarning({
|
|
82492
|
+
requiredWidth: viewportSize.width,
|
|
82493
|
+
actualWidth: actualViewportSize.width,
|
|
82494
|
+
browsers
|
|
82495
|
+
});
|
|
82496
|
+
logger.console.log(chalk_1.default.yellow(message));
|
|
82497
|
+
logger.log(message);
|
|
82498
|
+
} else {
|
|
82499
|
+
const message = lang.requestedEnvironmentOutOfDriverBoundsWarning({
|
|
82500
|
+
requiredWidth: viewportSize.width,
|
|
82501
|
+
actualWidth: actualViewportSize.width,
|
|
82502
|
+
browsers
|
|
82503
|
+
});
|
|
82504
|
+
logger.console.log(chalk_1.default.yellow(message));
|
|
82505
|
+
logger.log(message);
|
|
82506
|
+
}
|
|
82545
82507
|
}
|
|
82508
|
+
if (settings.layoutBreakpoints.reload)
|
|
82509
|
+
await driver.reloadPage();
|
|
82546
82510
|
}
|
|
82547
|
-
if (settings.layoutBreakpoints.reload) {
|
|
82548
|
-
await
|
|
82511
|
+
if (settings.lazyLoad && (index === 0 || settings.layoutBreakpoints.reload)) {
|
|
82512
|
+
await (0, wait_for_lazy_load_1.waitForLazyLoad)({ context: currentContext, settings: settings.lazyLoad, logger });
|
|
82549
82513
|
}
|
|
82550
|
-
await
|
|
82551
|
-
|
|
82552
|
-
|
|
82553
|
-
|
|
82554
|
-
|
|
82555
|
-
|
|
82556
|
-
driver
|
|
82557
|
-
});
|
|
82558
|
-
}
|
|
82514
|
+
await beforeEachSnapshot();
|
|
82515
|
+
if (settings.elementReferences && (index === 0 || settings.layoutBreakpoints.reload)) {
|
|
82516
|
+
safeSelectorResult = await (0, generate_safe_selectors_1.generateSafeSelectors)({
|
|
82517
|
+
context: currentContext,
|
|
82518
|
+
elementReferences: settings.elementReferences
|
|
82519
|
+
});
|
|
82559
82520
|
}
|
|
82560
82521
|
const snapshot = await (0, take_dom_snapshot_1.takeDomSnapshot)({ context: currentContext, settings, logger });
|
|
82561
|
-
|
|
82562
|
-
snapshotsResults[index] = { snapshot, ...calculateRegionsResults };
|
|
82563
|
-
});
|
|
82522
|
+
browsers.forEach(({ index: index2 }) => snapshots[index2] = { ...snapshot, generatedSelectors: safeSelectorResult === null || safeSelectorResult === void 0 ? void 0 : safeSelectorResult.selectors });
|
|
82564
82523
|
}
|
|
82565
|
-
await driver.setViewportSize(
|
|
82524
|
+
await driver.setViewportSize(initialViewportSize);
|
|
82566
82525
|
if (settings.layoutBreakpoints.reload) {
|
|
82567
82526
|
await driver.reloadPage();
|
|
82568
|
-
await
|
|
82527
|
+
await beforeEachSnapshot();
|
|
82569
82528
|
} else {
|
|
82570
|
-
(
|
|
82529
|
+
await (safeSelectorResult === null || safeSelectorResult === void 0 ? void 0 : safeSelectorResult.cleanupGeneratedSelectors());
|
|
82530
|
+
}
|
|
82531
|
+
return snapshots;
|
|
82532
|
+
async function beforeEachSnapshot() {
|
|
82533
|
+
var _a2, _b2;
|
|
82534
|
+
await ((_a2 = hooks === null || hooks === void 0 ? void 0 : hooks.beforeEachSnapshot) === null || _a2 === void 0 ? void 0 : _a2.call(hooks));
|
|
82535
|
+
if (utils34.types.isNumber(settings.waitBeforeCapture)) {
|
|
82536
|
+
await utils34.general.sleep(settings.waitBeforeCapture);
|
|
82537
|
+
} else {
|
|
82538
|
+
await ((_b2 = settings.waitBeforeCapture) === null || _b2 === void 0 ? void 0 : _b2.call(settings));
|
|
82539
|
+
}
|
|
82571
82540
|
}
|
|
82572
|
-
return snapshotsResults;
|
|
82573
82541
|
function calculateBreakpoint({ breakpoints, value }) {
|
|
82574
82542
|
const nextBreakpointIndex = breakpoints.sort((item1, item2) => item1 > item2 ? 1 : -1).findIndex((breakpoint) => breakpoint > value);
|
|
82575
82543
|
if (nextBreakpointIndex === -1)
|
|
@@ -82598,6 +82566,55 @@ var require_take_dom_snapshots = __commonJS({
|
|
|
82598
82566
|
}
|
|
82599
82567
|
});
|
|
82600
82568
|
|
|
82569
|
+
// ../core/dist/ufg/utils/to-generated-selectors.js
|
|
82570
|
+
var require_to_generated_selectors = __commonJS({
|
|
82571
|
+
"../core/dist/ufg/utils/to-generated-selectors.js"(exports) {
|
|
82572
|
+
"use strict";
|
|
82573
|
+
init_process();
|
|
82574
|
+
init_setImmediate();
|
|
82575
|
+
init_buffer();
|
|
82576
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
82577
|
+
exports.toGeneratedSelectors = void 0;
|
|
82578
|
+
function toGeneratedSelectors({ elementReferences, transformElementReference }) {
|
|
82579
|
+
var _a, _b, _c;
|
|
82580
|
+
const elementReferencesToMark = [
|
|
82581
|
+
(_a = elementReferences.target) !== null && _a !== void 0 ? _a : [],
|
|
82582
|
+
(_b = elementReferences.scrolling) !== null && _b !== void 0 ? _b : [],
|
|
82583
|
+
(_c = elementReferences.calculate) !== null && _c !== void 0 ? _c : []
|
|
82584
|
+
].flat();
|
|
82585
|
+
return { elementReferencesToMark, getGeneratedSelectors };
|
|
82586
|
+
function getGeneratedSelectors(generatedSelectors) {
|
|
82587
|
+
var _a2, _b2, _c2;
|
|
82588
|
+
let target = void 0;
|
|
82589
|
+
let scrolling = void 0;
|
|
82590
|
+
let calculate = [];
|
|
82591
|
+
if (generatedSelectors) {
|
|
82592
|
+
let offset = 0;
|
|
82593
|
+
if (elementReferences.target) {
|
|
82594
|
+
target = (_a2 = generatedSelectors[offset++].safeSelector) !== null && _a2 !== void 0 ? _a2 : void 0;
|
|
82595
|
+
if (!target)
|
|
82596
|
+
throw new Error("Target element not found");
|
|
82597
|
+
}
|
|
82598
|
+
if (elementReferences.scrolling) {
|
|
82599
|
+
scrolling = (_b2 = generatedSelectors[offset++].safeSelector) !== null && _b2 !== void 0 ? _b2 : void 0;
|
|
82600
|
+
}
|
|
82601
|
+
calculate = generatedSelectors.slice(offset);
|
|
82602
|
+
} else {
|
|
82603
|
+
target = elementReferences.target && transformElementReference(elementReferences.target);
|
|
82604
|
+
scrolling = elementReferences.scrolling && transformElementReference(elementReferences.scrolling);
|
|
82605
|
+
calculate = ((_c2 = elementReferences.calculate) !== null && _c2 !== void 0 ? _c2 : []).map((elementReference) => {
|
|
82606
|
+
var _a3;
|
|
82607
|
+
const selector = (_a3 = transformElementReference(elementReference)) !== null && _a3 !== void 0 ? _a3 : null;
|
|
82608
|
+
return { originalSelector: selector, safeSelector: selector };
|
|
82609
|
+
});
|
|
82610
|
+
}
|
|
82611
|
+
return { target, scrolling, calculate };
|
|
82612
|
+
}
|
|
82613
|
+
}
|
|
82614
|
+
exports.toGeneratedSelectors = toGeneratedSelectors;
|
|
82615
|
+
}
|
|
82616
|
+
});
|
|
82617
|
+
|
|
82601
82618
|
// ../core/dist/ufg/check.js
|
|
82602
82619
|
var require_check3 = __commonJS({
|
|
82603
82620
|
"../core/dist/ufg/check.js"(exports) {
|
|
@@ -82645,6 +82662,7 @@ var require_check3 = __commonJS({
|
|
|
82645
82662
|
var driver_1 = require_dist4();
|
|
82646
82663
|
var take_dom_snapshots_1 = require_take_dom_snapshots();
|
|
82647
82664
|
var to_base_check_settings_1 = require_to_base_check_settings();
|
|
82665
|
+
var to_generated_selectors_1 = require_to_generated_selectors();
|
|
82648
82666
|
var uniquify_environments_1 = require_uniquify_environments();
|
|
82649
82667
|
var to_environment_key_1 = require_to_environment_key();
|
|
82650
82668
|
var abort_error_1 = require_abort_error();
|
|
@@ -82653,15 +82671,20 @@ var require_check3 = __commonJS({
|
|
|
82653
82671
|
var chalk_1 = __importDefault(require_source());
|
|
82654
82672
|
function makeCheck({ eyes, target: defaultTarget, environments: defaultEnvironments = [], spec, signal, logger: mainLogger }) {
|
|
82655
82673
|
return async function check({ target = defaultTarget, settings = {}, logger = mainLogger } = {}) {
|
|
82656
|
-
var _a, _b
|
|
82674
|
+
var _a, _b;
|
|
82657
82675
|
logger = logger.extend(mainLogger);
|
|
82658
82676
|
logger.log('Command "check" is called with settings', settings);
|
|
82659
82677
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
82660
82678
|
logger.warn('Command "check" was called after test was already aborted');
|
|
82661
82679
|
throw new abort_error_1.AbortError('Command "check" was called after test was already aborted');
|
|
82662
82680
|
}
|
|
82663
|
-
const {
|
|
82664
|
-
|
|
82681
|
+
const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
|
|
82682
|
+
const { elementReferencesToMark, getGeneratedSelectors } = (0, to_generated_selectors_1.toGeneratedSelectors)({
|
|
82683
|
+
elementReferences,
|
|
82684
|
+
transformElementReference: (elementReference) => {
|
|
82685
|
+
var _a2;
|
|
82686
|
+
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;
|
|
82687
|
+
}
|
|
82665
82688
|
});
|
|
82666
82689
|
const uniqueEnvironments = (0, uniquify_environments_1.uniquifyEnvironments)((_a = settings.environments) !== null && _a !== void 0 ? _a : defaultEnvironments);
|
|
82667
82690
|
const ufgClient = await eyes.core.getUFGClient({
|
|
@@ -82672,7 +82695,7 @@ var require_check3 = __commonJS({
|
|
|
82672
82695
|
},
|
|
82673
82696
|
logger
|
|
82674
82697
|
});
|
|
82675
|
-
let
|
|
82698
|
+
let snapshots;
|
|
82676
82699
|
let snapshotUrl;
|
|
82677
82700
|
let snapshotTitle;
|
|
82678
82701
|
let userAgent;
|
|
@@ -82683,7 +82706,7 @@ var require_check3 = __commonJS({
|
|
|
82683
82706
|
await currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
|
|
82684
82707
|
if (environment.isWeb) {
|
|
82685
82708
|
userAgent = await driver.getUserAgentLegacy();
|
|
82686
|
-
|
|
82709
|
+
snapshots = await (0, take_dom_snapshots_1.takeDomSnapshots)({
|
|
82687
82710
|
driver,
|
|
82688
82711
|
settings: {
|
|
82689
82712
|
...eyes.test.eyesServer,
|
|
@@ -82693,11 +82716,7 @@ var require_check3 = __commonJS({
|
|
|
82693
82716
|
environments: uniqueEnvironments,
|
|
82694
82717
|
skipResources: ufgClient.getCachedResourceUrls(),
|
|
82695
82718
|
lazyLoad: settings.lazyLoad,
|
|
82696
|
-
|
|
82697
|
-
elementReferencesToCalculate,
|
|
82698
|
-
elementReferenceToTarget,
|
|
82699
|
-
scrollRootElement: settings.scrollRootElement
|
|
82700
|
-
}
|
|
82719
|
+
elementReferences: elementReferencesToMark
|
|
82701
82720
|
},
|
|
82702
82721
|
provides: {
|
|
82703
82722
|
getChromeEmulationDevices: ufgClient.getChromeEmulationDevices,
|
|
@@ -82711,7 +82730,7 @@ var require_check3 = __commonJS({
|
|
|
82711
82730
|
settings: { ...eyes.test.eyesServer, supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl },
|
|
82712
82731
|
logger
|
|
82713
82732
|
});
|
|
82714
|
-
|
|
82733
|
+
snapshots = await nmlClient.takeSnapshots({
|
|
82715
82734
|
settings: {
|
|
82716
82735
|
...eyes.test.eyesServer,
|
|
82717
82736
|
waitBeforeCapture: settings.waitBeforeCapture,
|
|
@@ -82719,24 +82738,17 @@ var require_check3 = __commonJS({
|
|
|
82719
82738
|
},
|
|
82720
82739
|
logger
|
|
82721
82740
|
});
|
|
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
82741
|
}
|
|
82731
82742
|
await currentContext.focus();
|
|
82732
82743
|
snapshotUrl = await driver.getUrl();
|
|
82733
82744
|
snapshotTitle = await driver.getTitle();
|
|
82734
82745
|
} else {
|
|
82735
|
-
|
|
82736
|
-
snapshotUrl = utils34.types.has(
|
|
82746
|
+
snapshots = !utils34.types.isArray(target) ? Array(uniqueEnvironments.length).fill(target) : target;
|
|
82747
|
+
snapshotUrl = utils34.types.has(snapshots[0], "url") ? snapshots[0].url : void 0;
|
|
82737
82748
|
}
|
|
82749
|
+
const generatedSelectors = snapshots.map((snapshot) => getGeneratedSelectors(utils34.types.has(snapshot, "generatedSelectors") ? snapshot.generatedSelectors : void 0));
|
|
82738
82750
|
const promises = uniqueEnvironments.map(async (environment, index) => {
|
|
82739
|
-
var _a2, _b2,
|
|
82751
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h;
|
|
82740
82752
|
const environmentLogger = logger.extend({ tags: [`environment-${utils34.general.shortid()}`] });
|
|
82741
82753
|
const ufgEnvironment = environment;
|
|
82742
82754
|
if (utils34.types.has(ufgEnvironment, "name") && ufgEnvironment.name === "edge") {
|
|
@@ -82747,13 +82759,8 @@ var require_check3 = __commonJS({
|
|
|
82747
82759
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
82748
82760
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
82749
82761
|
}
|
|
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
|
-
}));
|
|
82762
|
+
const { cookies, ...snapshot } = snapshots[index];
|
|
82763
|
+
const selectors = generatedSelectors[index];
|
|
82757
82764
|
if (utils34.types.has(ufgEnvironment, "iosDeviceInfo") || utils34.types.has(ufgEnvironment, "androidDeviceInfo")) {
|
|
82758
82765
|
ufgEnvironment.type = utils34.types.has(snapshot, "cdt") ? "web" : "native";
|
|
82759
82766
|
}
|
|
@@ -82778,24 +82785,24 @@ var require_check3 = __commonJS({
|
|
|
82778
82785
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
82779
82786
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
82780
82787
|
} else if (!baseEyes.running) {
|
|
82781
|
-
environmentLogger.warn(`Render on environment with id "${(
|
|
82782
|
-
throw new abort_error_1.AbortError(`Render on environment with id "${(
|
|
82788
|
+
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`);
|
|
82789
|
+
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
82790
|
}
|
|
82784
82791
|
const renderTarget = await renderTargetPromise;
|
|
82785
82792
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
82786
82793
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
82787
82794
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
82788
82795
|
} else if (!baseEyes.running) {
|
|
82789
|
-
environmentLogger.warn(`Render on environment with id "${(
|
|
82790
|
-
throw new abort_error_1.AbortError(`Render on environment with id "${(
|
|
82796
|
+
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`);
|
|
82797
|
+
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
82798
|
}
|
|
82792
82799
|
const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
|
|
82793
82800
|
target: renderTarget,
|
|
82794
82801
|
settings: {
|
|
82795
82802
|
...settings,
|
|
82796
|
-
region,
|
|
82797
|
-
scrollRootElement:
|
|
82798
|
-
selectorsToCalculate:
|
|
82803
|
+
region: (_e = selectors.target) !== null && _e !== void 0 ? _e : settings.region,
|
|
82804
|
+
scrollRootElement: selectors.scrolling,
|
|
82805
|
+
selectorsToCalculate: selectors.calculate.flatMap(({ safeSelector }) => safeSelector !== null && safeSelector !== void 0 ? safeSelector : []),
|
|
82799
82806
|
includeFullPageSize: Boolean(settings.pageId),
|
|
82800
82807
|
environment: ufgEnvironment,
|
|
82801
82808
|
environmentId: baseEyes.test.environment.environmentId,
|
|
@@ -82807,7 +82814,7 @@ var require_check3 = __commonJS({
|
|
|
82807
82814
|
});
|
|
82808
82815
|
let offset = 0;
|
|
82809
82816
|
const baseSettings = getBaseCheckSettings({
|
|
82810
|
-
calculatedRegions:
|
|
82817
|
+
calculatedRegions: selectors.calculate.map(({ originalSelector, safeSelector }) => ({
|
|
82811
82818
|
selector: originalSelector !== null && originalSelector !== void 0 ? originalSelector : void 0,
|
|
82812
82819
|
regions: safeSelector ? selectorRegions[offset++] : []
|
|
82813
82820
|
}))
|
|
@@ -82900,6 +82907,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
82900
82907
|
var driver_1 = require_dist4();
|
|
82901
82908
|
var take_dom_snapshots_1 = require_take_dom_snapshots();
|
|
82902
82909
|
var to_base_check_settings_1 = require_to_base_check_settings();
|
|
82910
|
+
var to_generated_selectors_1 = require_to_generated_selectors();
|
|
82903
82911
|
var uniquify_environments_1 = require_uniquify_environments();
|
|
82904
82912
|
var to_environment_key_1 = require_to_environment_key();
|
|
82905
82913
|
var abort_error_1 = require_abort_error();
|
|
@@ -82908,15 +82916,20 @@ var require_check_and_close3 = __commonJS({
|
|
|
82908
82916
|
var chalk_1 = __importDefault(require_source());
|
|
82909
82917
|
function makeCheckAndClose({ eyes, target: defaultTarget, environments: defaultEnvironments = [], spec, signal, logger: mainLogger }) {
|
|
82910
82918
|
return async function checkAndClose({ target = defaultTarget, settings = {}, logger = mainLogger } = {}) {
|
|
82911
|
-
var _a, _b
|
|
82919
|
+
var _a, _b;
|
|
82912
82920
|
logger = logger.extend(mainLogger);
|
|
82913
82921
|
logger.log('Command "checkAndClose" is called with settings', settings);
|
|
82914
82922
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
82915
82923
|
logger.warn('Command "checkAndClose" was called after test was already aborted');
|
|
82916
82924
|
throw new abort_error_1.AbortError('Command "checkAndClose" was called after test was already aborted');
|
|
82917
82925
|
}
|
|
82918
|
-
const {
|
|
82919
|
-
|
|
82926
|
+
const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
|
|
82927
|
+
const { elementReferencesToMark, getGeneratedSelectors } = (0, to_generated_selectors_1.toGeneratedSelectors)({
|
|
82928
|
+
elementReferences,
|
|
82929
|
+
transformElementReference: (elementReference) => {
|
|
82930
|
+
var _a2;
|
|
82931
|
+
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;
|
|
82932
|
+
}
|
|
82920
82933
|
});
|
|
82921
82934
|
const uniqueEnvironments = (0, uniquify_environments_1.uniquifyEnvironments)((_a = settings.environments) !== null && _a !== void 0 ? _a : defaultEnvironments);
|
|
82922
82935
|
const ufgClient = await eyes.core.getUFGClient({
|
|
@@ -82927,7 +82940,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
82927
82940
|
},
|
|
82928
82941
|
logger
|
|
82929
82942
|
});
|
|
82930
|
-
let
|
|
82943
|
+
let snapshots;
|
|
82931
82944
|
let snapshotUrl;
|
|
82932
82945
|
let snapshotTitle;
|
|
82933
82946
|
let userAgent;
|
|
@@ -82938,7 +82951,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
82938
82951
|
await currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
|
|
82939
82952
|
if (environment.isWeb) {
|
|
82940
82953
|
userAgent = await driver.getUserAgentLegacy();
|
|
82941
|
-
|
|
82954
|
+
snapshots = await (0, take_dom_snapshots_1.takeDomSnapshots)({
|
|
82942
82955
|
driver,
|
|
82943
82956
|
settings: {
|
|
82944
82957
|
...eyes.test.eyesServer,
|
|
@@ -82948,11 +82961,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
82948
82961
|
environments: uniqueEnvironments,
|
|
82949
82962
|
skipResources: ufgClient.getCachedResourceUrls(),
|
|
82950
82963
|
lazyLoad: settings.lazyLoad,
|
|
82951
|
-
|
|
82952
|
-
elementReferencesToCalculate,
|
|
82953
|
-
elementReferenceToTarget,
|
|
82954
|
-
scrollRootElement: settings.scrollRootElement
|
|
82955
|
-
}
|
|
82964
|
+
elementReferences: elementReferencesToMark
|
|
82956
82965
|
},
|
|
82957
82966
|
provides: {
|
|
82958
82967
|
getChromeEmulationDevices: ufgClient.getChromeEmulationDevices,
|
|
@@ -82966,7 +82975,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
82966
82975
|
settings: { ...eyes.test.eyesServer, supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl },
|
|
82967
82976
|
logger
|
|
82968
82977
|
});
|
|
82969
|
-
|
|
82978
|
+
snapshots = await nmlClient.takeSnapshots({
|
|
82970
82979
|
settings: {
|
|
82971
82980
|
...eyes.test.eyesServer,
|
|
82972
82981
|
waitBeforeCapture: settings.waitBeforeCapture,
|
|
@@ -82974,24 +82983,17 @@ var require_check_and_close3 = __commonJS({
|
|
|
82974
82983
|
},
|
|
82975
82984
|
logger
|
|
82976
82985
|
});
|
|
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
82986
|
}
|
|
82986
82987
|
await currentContext.focus();
|
|
82987
82988
|
snapshotUrl = await driver.getUrl();
|
|
82988
82989
|
snapshotTitle = await driver.getTitle();
|
|
82989
82990
|
} else {
|
|
82990
|
-
|
|
82991
|
-
snapshotUrl = utils34.types.has(
|
|
82991
|
+
snapshots = !utils34.types.isArray(target) ? Array(uniqueEnvironments.length).fill(target) : target;
|
|
82992
|
+
snapshotUrl = utils34.types.has(snapshots[0], "url") ? snapshots[0].url : void 0;
|
|
82992
82993
|
}
|
|
82994
|
+
const generatedSelectors = snapshots.map((snapshot) => getGeneratedSelectors(utils34.types.has(snapshot, "generatedSelectors") ? snapshot.generatedSelectors : void 0));
|
|
82993
82995
|
const promises = uniqueEnvironments.map(async (environment, index) => {
|
|
82994
|
-
var _a2, _b2,
|
|
82996
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h;
|
|
82995
82997
|
const environmentLogger = logger.extend({ tags: [`environment-${utils34.general.shortid()}`] });
|
|
82996
82998
|
const ufgEnvironment = environment;
|
|
82997
82999
|
if (utils34.types.has(ufgEnvironment, "name") && ufgEnvironment.name === "edge") {
|
|
@@ -83002,13 +83004,8 @@ var require_check_and_close3 = __commonJS({
|
|
|
83002
83004
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
83003
83005
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
83004
83006
|
}
|
|
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
|
-
}));
|
|
83007
|
+
const { cookies, ...snapshot } = snapshots[index];
|
|
83008
|
+
const selectors = generatedSelectors[index];
|
|
83012
83009
|
if (utils34.types.has(ufgEnvironment, "iosDeviceInfo") || utils34.types.has(ufgEnvironment, "androidDeviceInfo")) {
|
|
83013
83010
|
ufgEnvironment.type = utils34.types.has(snapshot, "cdt") ? "web" : "native";
|
|
83014
83011
|
}
|
|
@@ -83033,24 +83030,24 @@ var require_check_and_close3 = __commonJS({
|
|
|
83033
83030
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
83034
83031
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
83035
83032
|
} else if (!baseEyes.running) {
|
|
83036
|
-
environmentLogger.warn(`Render on environment with id "${(
|
|
83037
|
-
throw new abort_error_1.AbortError(`Render on environment with id "${(
|
|
83033
|
+
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`);
|
|
83034
|
+
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
83035
|
}
|
|
83039
83036
|
const renderTarget = await renderTargetPromise;
|
|
83040
83037
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
83041
83038
|
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
83042
83039
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
83043
83040
|
} else if (!baseEyes.running) {
|
|
83044
|
-
environmentLogger.warn(`Render on environment with id "${(
|
|
83045
|
-
throw new abort_error_1.AbortError(`Render on environment with id "${(
|
|
83041
|
+
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`);
|
|
83042
|
+
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
83043
|
}
|
|
83047
83044
|
const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
|
|
83048
83045
|
target: renderTarget,
|
|
83049
83046
|
settings: {
|
|
83050
83047
|
...settings,
|
|
83051
|
-
region,
|
|
83052
|
-
scrollRootElement:
|
|
83053
|
-
selectorsToCalculate:
|
|
83048
|
+
region: (_e = selectors.target) !== null && _e !== void 0 ? _e : settings.region,
|
|
83049
|
+
scrollRootElement: selectors.scrolling,
|
|
83050
|
+
selectorsToCalculate: selectors.calculate.flatMap(({ safeSelector }) => safeSelector !== null && safeSelector !== void 0 ? safeSelector : []),
|
|
83054
83051
|
includeFullPageSize: !!settings.pageId,
|
|
83055
83052
|
environment: ufgEnvironment,
|
|
83056
83053
|
environmentId: baseEyes.test.environment.environmentId,
|
|
@@ -83062,7 +83059,7 @@ var require_check_and_close3 = __commonJS({
|
|
|
83062
83059
|
});
|
|
83063
83060
|
let offset = 0;
|
|
83064
83061
|
const baseSettings = getBaseCheckSettings({
|
|
83065
|
-
calculatedRegions:
|
|
83062
|
+
calculatedRegions: selectors.calculate.map(({ originalSelector, safeSelector }) => ({
|
|
83066
83063
|
selector: originalSelector !== null && originalSelector !== void 0 ? originalSelector : void 0,
|
|
83067
83064
|
regions: safeSelector ? selectorRegions[offset++] : []
|
|
83068
83065
|
}))
|
|
@@ -84281,7 +84278,7 @@ var require_package2 = __commonJS({
|
|
|
84281
84278
|
"../core/package.json"(exports, module) {
|
|
84282
84279
|
module.exports = {
|
|
84283
84280
|
name: "@applitools/core",
|
|
84284
|
-
version: "4.
|
|
84281
|
+
version: "4.4.0",
|
|
84285
84282
|
homepage: "https://applitools.com",
|
|
84286
84283
|
bugs: {
|
|
84287
84284
|
url: "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -84340,6 +84337,12 @@ var require_package2 = __commonJS({
|
|
|
84340
84337
|
},
|
|
84341
84338
|
sea: {
|
|
84342
84339
|
bin: "eyes",
|
|
84340
|
+
certs: {
|
|
84341
|
+
win: {
|
|
84342
|
+
cert: "env.CODE_SIGNING_CERT_WIN",
|
|
84343
|
+
pass: "env.CODE_SIGNING_PASS_WIN"
|
|
84344
|
+
}
|
|
84345
|
+
},
|
|
84343
84346
|
targets: {
|
|
84344
84347
|
"node20-linux-x64-glibc-217": "./bin/core-linux",
|
|
84345
84348
|
"node20-linux-x64-musl": "./bin/core-alpine",
|
|
@@ -84605,6 +84608,68 @@ var require_validate_sdk_version = __commonJS({
|
|
|
84605
84608
|
}
|
|
84606
84609
|
});
|
|
84607
84610
|
|
|
84611
|
+
// ../core/dist/utils/memory-usage-logging.js
|
|
84612
|
+
var require_memory_usage_logging = __commonJS({
|
|
84613
|
+
"../core/dist/utils/memory-usage-logging.js"(exports) {
|
|
84614
|
+
"use strict";
|
|
84615
|
+
init_process();
|
|
84616
|
+
init_setImmediate();
|
|
84617
|
+
init_buffer();
|
|
84618
|
+
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
84619
|
+
if (k2 === void 0)
|
|
84620
|
+
k2 = k;
|
|
84621
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
84622
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
84623
|
+
desc = { enumerable: true, get: function() {
|
|
84624
|
+
return m[k];
|
|
84625
|
+
} };
|
|
84626
|
+
}
|
|
84627
|
+
Object.defineProperty(o, k2, desc);
|
|
84628
|
+
} : function(o, m, k, k2) {
|
|
84629
|
+
if (k2 === void 0)
|
|
84630
|
+
k2 = k;
|
|
84631
|
+
o[k2] = m[k];
|
|
84632
|
+
});
|
|
84633
|
+
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
|
|
84634
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
84635
|
+
} : function(o, v) {
|
|
84636
|
+
o["default"] = v;
|
|
84637
|
+
});
|
|
84638
|
+
var __importStar = exports && exports.__importStar || function(mod) {
|
|
84639
|
+
if (mod && mod.__esModule)
|
|
84640
|
+
return mod;
|
|
84641
|
+
var result = {};
|
|
84642
|
+
if (mod != null) {
|
|
84643
|
+
for (var k in mod)
|
|
84644
|
+
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
|
|
84645
|
+
__createBinding(result, mod, k);
|
|
84646
|
+
}
|
|
84647
|
+
__setModuleDefault(result, mod);
|
|
84648
|
+
return result;
|
|
84649
|
+
};
|
|
84650
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
84651
|
+
exports.startMemoryUsageLogging = void 0;
|
|
84652
|
+
var utils34 = __importStar(require_browser3());
|
|
84653
|
+
function startMemoryUsageLogging({ timeout = 3e4, logger }) {
|
|
84654
|
+
var _a;
|
|
84655
|
+
logger = logger.extend({ tags: [`mem-usage-${utils34.general.shortid()}`] });
|
|
84656
|
+
const interval = setInterval(() => logger.log(formatMemoryUsage(process.memoryUsage())), (_a = utils34.general.getEnvValue("MEMORY_LOG_TIMEOUT", "number")) !== null && _a !== void 0 ? _a : timeout);
|
|
84657
|
+
interval.unref();
|
|
84658
|
+
return { stop: stop2 };
|
|
84659
|
+
function stop2() {
|
|
84660
|
+
clearInterval(interval);
|
|
84661
|
+
}
|
|
84662
|
+
}
|
|
84663
|
+
exports.startMemoryUsageLogging = startMemoryUsageLogging;
|
|
84664
|
+
function formatMemoryUsage(usage) {
|
|
84665
|
+
return `Memory usage: ${Object.entries(usage).map(([key, value]) => `${key}: ${toMB(value)}MB`).join(", ")}`;
|
|
84666
|
+
}
|
|
84667
|
+
function toMB(size) {
|
|
84668
|
+
return Math.round(size / 1024 / 1024 * 100) / 100;
|
|
84669
|
+
}
|
|
84670
|
+
}
|
|
84671
|
+
});
|
|
84672
|
+
|
|
84608
84673
|
// ../core/dist/core.js
|
|
84609
84674
|
var require_core4 = __commonJS({
|
|
84610
84675
|
"../core/dist/core.js"(exports) {
|
|
@@ -84662,9 +84727,11 @@ var require_core4 = __commonJS({
|
|
|
84662
84727
|
var delete_test_1 = require_delete_test2();
|
|
84663
84728
|
var extract_test_environment_1 = require_extract_test_environment();
|
|
84664
84729
|
var validate_sdk_version_1 = require_validate_sdk_version();
|
|
84730
|
+
var memory_usage_logging_1 = require_memory_usage_logging();
|
|
84665
84731
|
var utils34 = __importStar(require_browser3());
|
|
84666
84732
|
function makeCore({ spec, clients, concurrency, base: defaultBase, environment: defaultEnvironment, agentId = "core", cwd = process.cwd(), logger: defaultLogger, asyncCache } = {}) {
|
|
84667
84733
|
const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core" } });
|
|
84734
|
+
(0, memory_usage_logging_1.startMemoryUsageLogging)({ logger });
|
|
84668
84735
|
const environment = (0, extract_test_environment_1.extractTestEnvironment)(defaultEnvironment);
|
|
84669
84736
|
logger.log(`Core is initialized ${defaultBase ? "with" : "without"} custom base core and environment`, environment);
|
|
84670
84737
|
if (environment.sdk)
|
|
@@ -87926,7 +87993,7 @@ var require_package3 = __commonJS({
|
|
|
87926
87993
|
"../eyes/package.json"(exports, module) {
|
|
87927
87994
|
module.exports = {
|
|
87928
87995
|
name: "@applitools/eyes",
|
|
87929
|
-
version: "1.13.
|
|
87996
|
+
version: "1.13.1",
|
|
87930
87997
|
keywords: [
|
|
87931
87998
|
"applitools",
|
|
87932
87999
|
"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.1",
|
|
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.1"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/node": "^12.20.55",
|