@applitools/core 1.2.15 → 1.2.17
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/dist/automation/get-viewport-size.js +3 -3
- package/dist/automation/locate.js +6 -9
- package/dist/automation/set-viewport-size.js +3 -3
- package/dist/check-and-close.js +4 -3
- package/dist/check.js +3 -2
- package/dist/classic/check-and-close.js +9 -12
- package/dist/classic/check.js +15 -9
- package/dist/classic/extract-text.js +11 -7
- package/dist/classic/get-base-eyes.js +39 -0
- package/dist/classic/locate-text.js +11 -7
- package/dist/classic/open-eyes.js +18 -15
- package/dist/make-manager.js +7 -4
- package/dist/open-eyes.js +27 -8
- package/dist/ufg/abort.js +1 -1
- package/dist/ufg/check.js +42 -37
- package/dist/ufg/get-base-eyes.js +56 -0
- package/dist/ufg/open-eyes.js +64 -107
- package/package.json +14 -14
- package/types/automation/get-viewport-size.d.ts +2 -4
- package/types/automation/locate.d.ts +4 -8
- package/types/automation/set-viewport-size.d.ts +2 -6
- package/types/automation/types.d.ts +60 -5
- package/types/check-and-close.d.ts +8 -3
- package/types/check.d.ts +8 -3
- package/types/classic/check-and-close.d.ts +6 -11
- package/types/classic/check.d.ts +6 -11
- package/types/classic/core.d.ts +2 -2
- package/types/classic/extract-text.d.ts +6 -12
- package/types/classic/get-base-eyes.d.ts +17 -0
- package/types/classic/locate-text.d.ts +6 -11
- package/types/classic/open-eyes.d.ts +3 -7
- package/types/classic/types.d.ts +34 -4
- package/types/close-manager.d.ts +3 -3
- package/types/close.d.ts +3 -3
- package/types/core.d.ts +1 -1
- package/types/extract-text.d.ts +3 -3
- package/types/locate-text.d.ts +3 -3
- package/types/make-manager.d.ts +1 -1
- package/types/open-eyes.d.ts +9 -10
- package/types/types.d.ts +33 -29
- package/types/ufg/abort.d.ts +2 -4
- package/types/ufg/check-and-close.d.ts +7 -9
- package/types/ufg/check.d.ts +5 -17
- package/types/ufg/close.d.ts +2 -5
- package/types/ufg/core.d.ts +1 -1
- package/types/ufg/get-base-eyes.d.ts +23 -0
- package/types/ufg/open-eyes.d.ts +7 -6
- package/types/ufg/types.d.ts +43 -3
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.makeGetViewportSize = void 0;
|
|
4
4
|
const driver_1 = require("@applitools/driver");
|
|
5
5
|
function makeGetViewportSize({ spec, logger: defaultLogger, }) {
|
|
6
|
-
return async function getViewportSize({ target, logger = defaultLogger }) {
|
|
7
|
-
logger.log(
|
|
8
|
-
|
|
6
|
+
return async function getViewportSize({ driver, target, logger = defaultLogger, }) {
|
|
7
|
+
logger.log(`Command "getViewportSize" is called with ${driver ? 'driver' : 'target'}`);
|
|
8
|
+
driver !== null && driver !== void 0 ? driver : (driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger }));
|
|
9
9
|
return driver.getViewportSize();
|
|
10
10
|
};
|
|
11
11
|
}
|
|
@@ -3,18 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.makeLocate = void 0;
|
|
4
4
|
const driver_1 = require("@applitools/driver");
|
|
5
5
|
const take_screenshot_1 = require("./utils/take-screenshot");
|
|
6
|
-
function makeLocate({ spec, core,
|
|
7
|
-
return async function locate({
|
|
8
|
-
logger.log(
|
|
9
|
-
|
|
6
|
+
function makeLocate({ spec, core, logger: defaultLogger, }) {
|
|
7
|
+
return async function locate({ settings, driver, target, logger = defaultLogger, } = {}) {
|
|
8
|
+
logger.log(`Command "locate" is called with ${driver ? 'driver' : 'target'} and settings`, settings);
|
|
9
|
+
driver !== null && driver !== void 0 ? driver : (driver = (spec === null || spec === void 0 ? void 0 : spec.isDriver(target)) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null);
|
|
10
|
+
if (!driver) {
|
|
10
11
|
return core.locate({ target: target, settings: settings, logger });
|
|
11
12
|
}
|
|
12
|
-
// TODO driver custom config
|
|
13
|
-
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
|
|
14
13
|
const screenshot = await (0, take_screenshot_1.takeScreenshot)({ driver, settings, logger });
|
|
15
|
-
const baseTarget = {
|
|
16
|
-
image: await screenshot.image.toPng(),
|
|
17
|
-
};
|
|
14
|
+
const baseTarget = { image: await screenshot.image.toPng() };
|
|
18
15
|
const results = await core.locate({ target: baseTarget, settings: settings, logger });
|
|
19
16
|
return results;
|
|
20
17
|
};
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.makeSetViewportSize = void 0;
|
|
4
4
|
const driver_1 = require("@applitools/driver");
|
|
5
5
|
function makeSetViewportSize({ spec, logger: defaultLogger, }) {
|
|
6
|
-
return async function setViewportSize({ target, size, logger = defaultLogger }) {
|
|
7
|
-
logger.log(
|
|
8
|
-
|
|
6
|
+
return async function setViewportSize({ driver, target, size, logger = defaultLogger, }) {
|
|
7
|
+
logger.log(`Command "setViewportSize" is called with ${driver ? 'driver' : 'target'} and size`, size);
|
|
8
|
+
driver !== null && driver !== void 0 ? driver : (driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger }));
|
|
9
9
|
return driver.setViewportSize(size);
|
|
10
10
|
};
|
|
11
11
|
}
|
package/dist/check-and-close.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeCheckAndClose = void 0;
|
|
4
|
-
function makeCheckAndClose({
|
|
5
|
-
return async function checkAndClose({ target, settings = {}, config, logger = defaultLogger, } = {}) {
|
|
4
|
+
function makeCheckAndClose({ type: defaultType, getTypedEyes, logger: defaultLogger, }) {
|
|
5
|
+
return async function checkAndClose({ type = defaultType, target, settings = {}, config, logger = defaultLogger, } = {}) {
|
|
6
6
|
settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...config === null || config === void 0 ? void 0 : config.check, ...config === null || config === void 0 ? void 0 : config.close, ...settings };
|
|
7
|
+
const eyes = await getTypedEyes({ type, renderers: settings.renderers });
|
|
7
8
|
const results = await eyes.checkAndClose({
|
|
8
9
|
target: target,
|
|
9
|
-
settings,
|
|
10
|
+
settings: settings,
|
|
10
11
|
logger,
|
|
11
12
|
});
|
|
12
13
|
return results;
|
package/dist/check.js
CHANGED
|
@@ -29,11 +29,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.makeCheck = void 0;
|
|
30
30
|
const utils = __importStar(require("@applitools/utils"));
|
|
31
31
|
const chalk_1 = __importDefault(require("chalk"));
|
|
32
|
-
function makeCheck({
|
|
33
|
-
return async function check({ target, settings
|
|
32
|
+
function makeCheck({ type: defaultType, getTypedEyes, logger: defaultLogger, }) {
|
|
33
|
+
return async function check({ type = defaultType, target, settings, config, logger = defaultLogger, } = {}) {
|
|
34
34
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
35
35
|
var _s, _t, _u, _v;
|
|
36
36
|
settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...config === null || config === void 0 ? void 0 : config.check, ...settings };
|
|
37
|
+
const eyes = await getTypedEyes({ type, renderers: settings.renderers });
|
|
37
38
|
(_a = settings.fully) !== null && _a !== void 0 ? _a : (settings.fully = !settings.region && (!settings.frames || settings.frames.length === 0));
|
|
38
39
|
(_b = settings.waitBeforeCapture) !== null && _b !== void 0 ? _b : (settings.waitBeforeCapture = 100);
|
|
39
40
|
(_c = settings.stitchMode) !== null && _c !== void 0 ? _c : (settings.stitchMode = 'Scroll');
|
|
@@ -30,19 +30,17 @@ const take_dom_capture_1 = require("./utils/take-dom-capture");
|
|
|
30
30
|
const to_base_check_settings_1 = require("../utils/to-base-check-settings");
|
|
31
31
|
const wait_for_lazy_load_1 = require("../utils/wait-for-lazy-load");
|
|
32
32
|
const utils = __importStar(require("@applitools/utils"));
|
|
33
|
-
function makeCheckAndClose({
|
|
34
|
-
return async function checkAndClose({
|
|
33
|
+
function makeCheckAndClose({ eyes, driver: defaultDriver, spec, logger: defaultLogger, }) {
|
|
34
|
+
return async function checkAndClose({ settings = {}, driver, target, logger = defaultLogger, } = {}) {
|
|
35
35
|
var _a;
|
|
36
36
|
logger.log('Command "checkAndClose" is called with settings', settings);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
37
|
+
driver !== null && driver !== void 0 ? driver : (driver = (spec === null || spec === void 0 ? void 0 : spec.isDriver(target)) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : defaultDriver);
|
|
38
|
+
const baseEyes = await eyes.getBaseEyes({ logger });
|
|
39
|
+
if (!driver) {
|
|
40
|
+
const baseTarget = target;
|
|
41
|
+
const baseSettings = settings;
|
|
42
|
+
return (await Promise.all(baseEyes.map(baseEyes => baseEyes.checkAndClose({ target: baseTarget, settings: baseSettings, logger })))).flat();
|
|
43
43
|
}
|
|
44
|
-
// TODO driver custom config
|
|
45
|
-
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
|
|
46
44
|
if (settings.lazyLoad)
|
|
47
45
|
await (0, wait_for_lazy_load_1.waitForLazyLoad)({ driver, settings: settings.lazyLoad !== true ? settings.lazyLoad : {}, logger });
|
|
48
46
|
const { elementReferencesToCalculate, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
|
|
@@ -73,8 +71,7 @@ function makeCheckAndClose({ spec, eyes, target: defaultTarget, logger: defaultL
|
|
|
73
71
|
baseTarget.fullViewSize = scrollingElement ? await scrollingElement.getContentSize() : await driver.getViewportSize();
|
|
74
72
|
}
|
|
75
73
|
await screenshot.restoreState();
|
|
76
|
-
|
|
77
|
-
return results;
|
|
74
|
+
return (await Promise.all(baseEyes.map(baseEyes => baseEyes.checkAndClose({ target: baseTarget, settings: baseSettings, logger })))).flat();
|
|
78
75
|
};
|
|
79
76
|
}
|
|
80
77
|
exports.makeCheckAndClose = makeCheckAndClose;
|
package/dist/classic/check.js
CHANGED
|
@@ -30,20 +30,24 @@ const take_dom_capture_1 = require("./utils/take-dom-capture");
|
|
|
30
30
|
const to_base_check_settings_1 = require("../utils/to-base-check-settings");
|
|
31
31
|
const wait_for_lazy_load_1 = require("../utils/wait-for-lazy-load");
|
|
32
32
|
const utils = __importStar(require("@applitools/utils"));
|
|
33
|
-
function makeCheck({
|
|
34
|
-
return async function check({
|
|
33
|
+
function makeCheck({ eyes, driver: defaultDriver, spec, logger: defaultLogger, }) {
|
|
34
|
+
return async function check({ settings = {}, driver, target, logger = defaultLogger, } = {}) {
|
|
35
35
|
var _a;
|
|
36
36
|
logger.log('Command "check" is called with settings', settings);
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
driver !== null && driver !== void 0 ? driver : (driver = (spec === null || spec === void 0 ? void 0 : spec.isDriver(target)) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : defaultDriver);
|
|
38
|
+
const baseEyes = await eyes.getBaseEyes();
|
|
39
|
+
if (!driver) {
|
|
40
|
+
const baseTarget = target;
|
|
41
|
+
const baseSettings = settings;
|
|
42
|
+
return (await Promise.all(baseEyes.map(baseEyes => baseEyes.check({ target: baseTarget, settings: baseSettings, logger })))).flat();
|
|
39
43
|
}
|
|
40
|
-
|
|
41
|
-
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
|
|
44
|
+
await driver.refreshContexts();
|
|
42
45
|
await driver.currentContext.setScrollingElement(settings.scrollRootElement);
|
|
43
46
|
if (settings.lazyLoad && driver.isWeb) {
|
|
44
47
|
await (0, wait_for_lazy_load_1.waitForLazyLoad)({ driver, settings: settings.lazyLoad !== true ? settings.lazyLoad : {}, logger });
|
|
45
48
|
}
|
|
46
|
-
|
|
49
|
+
// TODO it actually could be different per eyes
|
|
50
|
+
const shouldRunOnce = true;
|
|
47
51
|
const finishAt = Date.now() + settings.retryTimeout;
|
|
48
52
|
let baseTarget;
|
|
49
53
|
let baseSettings;
|
|
@@ -77,10 +81,12 @@ function makeCheck({ spec, eyes, target: defaultTarget, logger: defaultLogger, }
|
|
|
77
81
|
baseTarget.fullViewSize = scrollingElement ? await scrollingElement.getContentSize() : await driver.getViewportSize();
|
|
78
82
|
}
|
|
79
83
|
await screenshot.restoreState();
|
|
80
|
-
|
|
84
|
+
baseSettings.ignoreMismatch = !shouldRunOnce;
|
|
85
|
+
results = (await Promise.all(baseEyes.map(baseEyes => baseEyes.check({ target: baseTarget, settings: baseSettings, logger })))).flat();
|
|
81
86
|
} while (!shouldRunOnce && !results.some(result => result.asExpected) && Date.now() < finishAt);
|
|
82
87
|
if (!shouldRunOnce && !results.some(result => result.asExpected)) {
|
|
83
|
-
|
|
88
|
+
baseSettings.ignoreMismatch = false;
|
|
89
|
+
results = (await Promise.all(baseEyes.map(baseEyes => baseEyes.check({ target: baseTarget, settings: baseSettings, logger })))).flat();
|
|
84
90
|
}
|
|
85
91
|
return results;
|
|
86
92
|
};
|
|
@@ -29,15 +29,19 @@ const take_screenshot_1 = require("../automation/utils/take-screenshot");
|
|
|
29
29
|
const take_dom_capture_1 = require("./utils/take-dom-capture");
|
|
30
30
|
const utils = __importStar(require("@applitools/utils"));
|
|
31
31
|
const snippets_1 = require("@applitools/snippets");
|
|
32
|
-
function makeExtractText({
|
|
33
|
-
return async function extractText({
|
|
32
|
+
function makeExtractText({ eyes, driver: defaultDriver, spec, logger: defaultLogger, }) {
|
|
33
|
+
return async function extractText({ settings, driver, target, logger = defaultLogger, } = {}) {
|
|
34
34
|
logger.log('Command "extractText" is called with settings', settings);
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
driver !== null && driver !== void 0 ? driver : (driver = (spec === null || spec === void 0 ? void 0 : spec.isDriver(target)) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : defaultDriver);
|
|
36
|
+
const [baseEyes] = await eyes.getBaseEyes();
|
|
37
|
+
if (!driver) {
|
|
38
|
+
return baseEyes.extractText({
|
|
39
|
+
target: target,
|
|
40
|
+
settings: settings,
|
|
41
|
+
logger,
|
|
42
|
+
});
|
|
37
43
|
}
|
|
38
44
|
settings = utils.types.isArray(settings) ? settings : [settings];
|
|
39
|
-
// TODO driver custom config
|
|
40
|
-
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
|
|
41
45
|
const results = await settings.reduce(async (prev, settings) => {
|
|
42
46
|
var _a;
|
|
43
47
|
const steps = await prev;
|
|
@@ -64,7 +68,7 @@ function makeExtractText({ spec, eyes, target: defaultTarget, logger: defaultLog
|
|
|
64
68
|
}
|
|
65
69
|
delete settings.region;
|
|
66
70
|
delete settings.normalization;
|
|
67
|
-
const results = await
|
|
71
|
+
const results = await baseEyes.extractText({ target: baseTarget, settings: settings, logger });
|
|
68
72
|
steps.push(results);
|
|
69
73
|
return steps;
|
|
70
74
|
}, Promise.resolve([]));
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.makeGetBaseEyes = void 0;
|
|
27
|
+
const utils = __importStar(require("@applitools/utils"));
|
|
28
|
+
function makeGetBaseEyes({ settings, core, eyes, logger: defaultLogger }) {
|
|
29
|
+
const getBaseEyesWithCache = utils.general.cachify(getBaseEyes, () => 'default');
|
|
30
|
+
if (eyes) {
|
|
31
|
+
getBaseEyesWithCache.setCachedValue('default', Promise.resolve(eyes));
|
|
32
|
+
}
|
|
33
|
+
return getBaseEyesWithCache;
|
|
34
|
+
async function getBaseEyes({ logger = defaultLogger } = {}) {
|
|
35
|
+
logger.log(`Command "getBaseEyes" is called with ${utils.types.isArray(eyes) ? `eyes array of length ${eyes.length}` : 'single eyes instance'}`);
|
|
36
|
+
return [await core.openEyes({ settings, logger })];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.makeGetBaseEyes = makeGetBaseEyes;
|
|
@@ -28,14 +28,14 @@ const driver_1 = require("@applitools/driver");
|
|
|
28
28
|
const take_screenshot_1 = require("../automation/utils/take-screenshot");
|
|
29
29
|
// import {takeDomCapture} from './utils/take-dom-capture'
|
|
30
30
|
const utils = __importStar(require("@applitools/utils"));
|
|
31
|
-
function makeLocateText({ spec,
|
|
32
|
-
return async function locateText({
|
|
31
|
+
function makeLocateText({ spec, driver: defaultDriver, eyes, logger: defaultLogger, }) {
|
|
32
|
+
return async function locateText({ settings, driver, target, logger = defaultLogger, } = {}) {
|
|
33
33
|
logger.log('Command "locateText" is called with settings', settings);
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
driver !== null && driver !== void 0 ? driver : (driver = (spec === null || spec === void 0 ? void 0 : spec.isDriver(target)) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : defaultDriver);
|
|
35
|
+
const [baseEyes] = await eyes.getBaseEyes();
|
|
36
|
+
if (!driver) {
|
|
37
|
+
return baseEyes.locateText({ target: target, settings: settings, logger });
|
|
36
38
|
}
|
|
37
|
-
// TODO driver custom config
|
|
38
|
-
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
|
|
39
39
|
const screenshot = await (0, take_screenshot_1.takeScreenshot)({ driver, settings, logger });
|
|
40
40
|
const baseTarget = {
|
|
41
41
|
image: await screenshot.image.toPng(),
|
|
@@ -46,7 +46,11 @@ function makeLocateText({ spec, eyes, target: defaultTarget, logger: defaultLogg
|
|
|
46
46
|
// else await screenshot.element?.setAttribute('data-applitools-scroll', 'true')
|
|
47
47
|
// baseTarget.dom = await takeDomCapture({driver, logger}).catch(() => null)
|
|
48
48
|
}
|
|
49
|
-
const results = await
|
|
49
|
+
const results = await baseEyes.locateText({
|
|
50
|
+
target: baseTarget,
|
|
51
|
+
settings: settings,
|
|
52
|
+
logger,
|
|
53
|
+
});
|
|
50
54
|
return results;
|
|
51
55
|
};
|
|
52
56
|
}
|
|
@@ -25,21 +25,20 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.makeOpenEyes = void 0;
|
|
27
27
|
const driver_1 = require("@applitools/driver");
|
|
28
|
+
const get_base_eyes_1 = require("./get-base-eyes");
|
|
28
29
|
const check_1 = require("./check");
|
|
29
30
|
const check_and_close_1 = require("./check-and-close");
|
|
30
31
|
const locate_text_1 = require("./locate-text");
|
|
31
32
|
const extract_text_1 = require("./extract-text");
|
|
32
33
|
const utils = __importStar(require("@applitools/utils"));
|
|
33
|
-
function makeOpenEyes({
|
|
34
|
-
return async function openEyes({
|
|
34
|
+
function makeOpenEyes({ core, spec, logger: defaultLogger, }) {
|
|
35
|
+
return async function openEyes({ settings, eyes, driver, target, logger = defaultLogger, }) {
|
|
35
36
|
var _a, _b, _c, _d, _e;
|
|
36
37
|
var _f;
|
|
37
|
-
logger.log(`Command "openEyes" is called with ${(spec === null || spec === void 0 ? void 0 : spec.isDriver(target)) ? 'default driver and' : ''} settings
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
: null;
|
|
42
|
-
if (driver) {
|
|
38
|
+
logger.log(`Command "openEyes" is called with ${(spec === null || spec === void 0 ? void 0 : spec.isDriver(target)) ? 'default driver and' : ''}`, ...(settings ? ['settings', settings] : []), eyes ? 'predefined eyes' : '');
|
|
39
|
+
driver !== null && driver !== void 0 ? driver : (driver = (spec === null || spec === void 0 ? void 0 : spec.isDriver(target)) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger, customConfig: settings }) : null);
|
|
40
|
+
if (driver && !eyes) {
|
|
41
|
+
const currentContext = driver.currentContext;
|
|
43
42
|
(_a = settings.environment) !== null && _a !== void 0 ? _a : (settings.environment = {});
|
|
44
43
|
if (!settings.environment.viewportSize || driver.isMobile) {
|
|
45
44
|
const size = await driver.getViewportSize();
|
|
@@ -73,14 +72,18 @@ function makeOpenEyes({ spec, core, logger: defaultLogger, }) {
|
|
|
73
72
|
settings.environment.os += ` ${driver.platformVersion}`;
|
|
74
73
|
}
|
|
75
74
|
}
|
|
75
|
+
await currentContext.focus();
|
|
76
76
|
}
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
77
|
+
const getBaseEyes = (0, get_base_eyes_1.makeGetBaseEyes)({ settings, core, eyes, logger });
|
|
78
|
+
const [baseEyes] = await getBaseEyes();
|
|
79
|
+
return utils.general.extend(baseEyes, eyes => ({
|
|
80
|
+
type: 'classic',
|
|
81
|
+
getBaseEyes,
|
|
82
|
+
check: (0, check_1.makeCheck)({ eyes, driver, spec, logger }),
|
|
83
|
+
checkAndClose: (0, check_and_close_1.makeCheckAndClose)({ eyes, driver, spec, logger }),
|
|
84
|
+
locateText: (0, locate_text_1.makeLocateText)({ eyes, driver, spec, logger }),
|
|
85
|
+
extractText: (0, extract_text_1.makeExtractText)({ eyes, driver, spec, logger }),
|
|
86
|
+
}));
|
|
84
87
|
};
|
|
85
88
|
}
|
|
86
89
|
exports.makeOpenEyes = makeOpenEyes;
|
package/dist/make-manager.js
CHANGED
|
@@ -32,12 +32,15 @@ const close_manager_1 = require("./close-manager");
|
|
|
32
32
|
const utils = __importStar(require("@applitools/utils"));
|
|
33
33
|
function makeMakeManager({ spec, core, concurrency: defaultConcurrency = utils.general.getEnvValue('CONCURRENCY', 'number'), agentId: defaultAgentId, cwd = process.cwd(), logger: defaultLogger, }) {
|
|
34
34
|
return async function makeManager({ type, concurrency = defaultConcurrency, legacyConcurrency, agentId = type === 'ufg' ? defaultAgentId === null || defaultAgentId === void 0 ? void 0 : defaultAgentId.replace(/(\/\d)/, '.visualgrid$1') : defaultAgentId, logger = defaultLogger, } = {}) {
|
|
35
|
-
core !== null && core !== void 0 ? core : (core = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
|
|
36
35
|
concurrency !== null && concurrency !== void 0 ? concurrency : (concurrency = utils.types.isInteger(legacyConcurrency) ? legacyConcurrency * 5 : 5);
|
|
37
|
-
|
|
36
|
+
core !== null && core !== void 0 ? core : (core = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
|
|
37
|
+
const cores = {
|
|
38
|
+
ufg: (0, core_2.makeCore)({ spec, core, concurrency, logger }),
|
|
39
|
+
classic: (0, core_1.makeCore)({ spec, core, logger }),
|
|
40
|
+
};
|
|
38
41
|
const storage = [];
|
|
39
42
|
// open eyes with result storage
|
|
40
|
-
const openEyes = utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ spec, core
|
|
43
|
+
const openEyes = utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ type, spec, core, cores, logger }), async (openEyes, options) => {
|
|
41
44
|
const eyes = await openEyes(options);
|
|
42
45
|
const item = { eyes };
|
|
43
46
|
storage.push(item);
|
|
@@ -58,7 +61,7 @@ function makeMakeManager({ spec, core, concurrency: defaultConcurrency = utils.g
|
|
|
58
61
|
});
|
|
59
62
|
return {
|
|
60
63
|
openEyes,
|
|
61
|
-
closeManager: (0, close_manager_1.makeCloseManager)({ core
|
|
64
|
+
closeManager: (0, close_manager_1.makeCloseManager)({ core, storage, logger }),
|
|
62
65
|
};
|
|
63
66
|
};
|
|
64
67
|
}
|
package/dist/open-eyes.js
CHANGED
|
@@ -32,8 +32,8 @@ const locate_text_1 = require("./locate-text");
|
|
|
32
32
|
const extract_text_1 = require("./extract-text");
|
|
33
33
|
const close_1 = require("./close");
|
|
34
34
|
const utils = __importStar(require("@applitools/utils"));
|
|
35
|
-
function makeOpenEyes({
|
|
36
|
-
return async function openEyes({ type
|
|
35
|
+
function makeOpenEyes({ type: defaultType, concurrency, core, cores, spec, logger: defaultLogger, }) {
|
|
36
|
+
return async function openEyes({ type = defaultType, settings, config, target, logger = defaultLogger, }) {
|
|
37
37
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
38
38
|
var _v, _w, _x, _y, _z;
|
|
39
39
|
settings = { ...config === null || config === void 0 ? void 0 : config.open, ...settings };
|
|
@@ -51,9 +51,9 @@ function makeOpenEyes({ spec, core, concurrency, logger: defaultLogger, }) {
|
|
|
51
51
|
(_p = settings.baselineBranchName) !== null && _p !== void 0 ? _p : (settings.baselineBranchName = utils.general.getEnvValue('BASELINE_BRANCH'));
|
|
52
52
|
(_q = settings.ignoreBaseline) !== null && _q !== void 0 ? _q : (settings.ignoreBaseline = false);
|
|
53
53
|
(_r = settings.compareWithParentBranch) !== null && _r !== void 0 ? _r : (settings.compareWithParentBranch = false);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
if (type === 'ufg') {
|
|
55
|
+
;
|
|
56
|
+
(_s = (_z = settings).renderConcurrency) !== null && _s !== void 0 ? _s : (_z.renderConcurrency = (_u = (_t = config === null || config === void 0 ? void 0 : config.check) === null || _t === void 0 ? void 0 : _t.renderers) === null || _u === void 0 ? void 0 : _u.length);
|
|
57
57
|
}
|
|
58
58
|
core.logEvent({
|
|
59
59
|
settings: {
|
|
@@ -71,10 +71,29 @@ function makeOpenEyes({ spec, core, concurrency, logger: defaultLogger, }) {
|
|
|
71
71
|
},
|
|
72
72
|
logger,
|
|
73
73
|
});
|
|
74
|
-
|
|
74
|
+
cores !== null && cores !== void 0 ? cores : (cores = {
|
|
75
|
+
ufg: (0, core_2.makeCore)({ spec, core, concurrency: concurrency !== null && concurrency !== void 0 ? concurrency : 5, logger }),
|
|
76
|
+
classic: (0, core_1.makeCore)({ spec, core, logger }),
|
|
77
|
+
});
|
|
78
|
+
const eyes = type === 'ufg'
|
|
79
|
+
? await cores.ufg.openEyes({ target, settings: settings, logger })
|
|
80
|
+
: await cores.classic.openEyes({ target, settings: settings, logger });
|
|
81
|
+
async function getTypedEyes({ type = 'classic', renderers, }) {
|
|
82
|
+
if (eyes.type === type) {
|
|
83
|
+
return eyes;
|
|
84
|
+
}
|
|
85
|
+
else if (type === 'ufg') {
|
|
86
|
+
const baseEyes = await eyes.getBaseEyes();
|
|
87
|
+
return cores.ufg.openEyes({ target, eyes: baseEyes, logger });
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const baseEyes = (await Promise.all(renderers.map(renderer => eyes.getBaseEyes({ settings: { renderer, type: 'native' } })))).flat();
|
|
91
|
+
return cores.classic.openEyes({ target, eyes: baseEyes, logger });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
75
94
|
return utils.general.extend(eyes, {
|
|
76
|
-
check: (0, check_1.makeCheck)({
|
|
77
|
-
checkAndClose: (0, check_and_close_1.makeCheckAndClose)({
|
|
95
|
+
check: (0, check_1.makeCheck)({ type, getTypedEyes, logger }),
|
|
96
|
+
checkAndClose: (0, check_and_close_1.makeCheckAndClose)({ type, getTypedEyes, logger }),
|
|
78
97
|
locateText: (0, locate_text_1.makeLocateText)({ eyes, logger }),
|
|
79
98
|
extractText: (0, extract_text_1.makeExtractText)({ eyes, logger }),
|
|
80
99
|
close: (0, close_1.makeClose)({ eyes, logger }),
|
package/dist/ufg/abort.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeAbort = void 0;
|
|
4
4
|
const abort_error_1 = require("../errors/abort-error");
|
|
5
|
-
function makeAbort({ storage, controller, logger: defaultLogger }) {
|
|
5
|
+
function makeAbort({ storage, controller, logger: defaultLogger, }) {
|
|
6
6
|
return async function ({ logger = defaultLogger, } = {}) {
|
|
7
7
|
controller.abort();
|
|
8
8
|
const tests = storage.reduce((tests, { renderer, promise }) => {
|
package/dist/ufg/check.js
CHANGED
|
@@ -35,8 +35,8 @@ const generate_safe_selectors_1 = require("./utils/generate-safe-selectors");
|
|
|
35
35
|
const abort_error_1 = require("../errors/abort-error");
|
|
36
36
|
const utils = __importStar(require("@applitools/utils"));
|
|
37
37
|
const chalk_1 = __importDefault(require("chalk"));
|
|
38
|
-
function makeCheck({
|
|
39
|
-
return async function check({
|
|
38
|
+
function makeCheck({ eyes, client, driver: defaultDriver, spec, signal, logger: defaultLogger, }) {
|
|
39
|
+
return async function check({ settings = {}, driver, target, logger = defaultLogger, }) {
|
|
40
40
|
var _a, _b;
|
|
41
41
|
logger.log('Command "check" is called with settings', settings);
|
|
42
42
|
if (signal.aborted) {
|
|
@@ -45,9 +45,8 @@ function makeCheck({ spec, getEyes, client, test, signal, target: defaultTarget,
|
|
|
45
45
|
}
|
|
46
46
|
const { elementReferencesToCalculate, elementReferenceToTarget, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
|
|
47
47
|
let snapshots, snapshotUrl, snapshotTitle, userAgent, regionToTarget, selectorsToCalculate;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
|
|
48
|
+
driver !== null && driver !== void 0 ? driver : (driver = (spec === null || spec === void 0 ? void 0 : spec.isDriver(target)) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : defaultDriver);
|
|
49
|
+
if (driver) {
|
|
51
50
|
if (driver.isWeb && (!settings.renderers || settings.renderers.length === 0)) {
|
|
52
51
|
const viewportSize = await driver.getViewportSize();
|
|
53
52
|
settings.renderers = [{ name: 'chrome', ...viewportSize }];
|
|
@@ -74,7 +73,7 @@ function makeCheck({ spec, getEyes, client, test, signal, target: defaultTarget,
|
|
|
74
73
|
snapshots = await (0, take_snapshots_1.takeSnapshots)({
|
|
75
74
|
driver,
|
|
76
75
|
settings: {
|
|
77
|
-
...test.server,
|
|
76
|
+
...eyes.test.server,
|
|
78
77
|
waitBeforeCapture: settings.waitBeforeCapture,
|
|
79
78
|
disableBrowserFetching: settings.disableBrowserFetching,
|
|
80
79
|
layoutBreakpoints: settings.layoutBreakpoints,
|
|
@@ -119,42 +118,48 @@ function makeCheck({ spec, getEyes, client, test, signal, target: defaultTarget,
|
|
|
119
118
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
120
119
|
}
|
|
121
120
|
const { cookies, ...snapshot } = snapshots[index];
|
|
121
|
+
const snapshotType = utils.types.has(snapshot, 'cdt') ? 'web' : 'native';
|
|
122
122
|
const renderTargetPromise = client.createRenderTarget({
|
|
123
123
|
snapshot,
|
|
124
|
-
settings: {
|
|
124
|
+
settings: {
|
|
125
|
+
renderer,
|
|
126
|
+
referer: snapshotUrl,
|
|
127
|
+
cookies,
|
|
128
|
+
proxy: eyes.test.server.proxy,
|
|
129
|
+
autProxy: settings.autProxy,
|
|
130
|
+
userAgent,
|
|
131
|
+
},
|
|
125
132
|
});
|
|
126
|
-
const
|
|
127
|
-
...settings,
|
|
128
|
-
region: regionToTarget,
|
|
129
|
-
type: utils.types.has(snapshot, 'cdt') ? 'web' : 'native',
|
|
130
|
-
renderer,
|
|
131
|
-
selectorsToCalculate: selectorsToCalculate.flatMap(({ safeSelector }) => safeSelector !== null && safeSelector !== void 0 ? safeSelector : []),
|
|
132
|
-
includeFullPageSize: Boolean(settings.pageId),
|
|
133
|
-
};
|
|
134
|
-
const { rendererId, rawEnvironment } = await client.bookRenderer({ settings: renderSettings });
|
|
135
|
-
const eyes = await getEyes({ rawEnvironment });
|
|
133
|
+
const [baseEyes] = await eyes.getBaseEyes({ settings: { renderer, type: snapshotType }, logger });
|
|
136
134
|
try {
|
|
137
135
|
if (signal.aborted) {
|
|
138
136
|
logger.warn('Command "check" was aborted before rendering');
|
|
139
137
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
140
138
|
}
|
|
141
|
-
else if (
|
|
142
|
-
logger.warn(`Renderer with id ${rendererId} was aborted during one of the previous steps`);
|
|
143
|
-
throw new abort_error_1.AbortError(`Renderer with id "${rendererId}" was aborted during one of the previous steps`);
|
|
139
|
+
else if (baseEyes.aborted) {
|
|
140
|
+
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
141
|
+
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
144
142
|
}
|
|
145
|
-
renderSettings.rendererId = rendererId;
|
|
146
143
|
const renderTarget = await renderTargetPromise;
|
|
147
144
|
if (signal.aborted) {
|
|
148
145
|
logger.warn('Command "check" was aborted before rendering');
|
|
149
146
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
150
147
|
}
|
|
151
|
-
else if (
|
|
152
|
-
logger.warn(`Renderer with id ${rendererId} was aborted during one of the previous steps`);
|
|
153
|
-
throw new abort_error_1.AbortError(`Renderer with id "${rendererId}" was aborted during one of the previous steps`);
|
|
148
|
+
else if (baseEyes.aborted) {
|
|
149
|
+
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
150
|
+
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
154
151
|
}
|
|
155
152
|
const { renderId, selectorRegions, ...baseTarget } = await client.render({
|
|
156
153
|
target: renderTarget,
|
|
157
|
-
settings:
|
|
154
|
+
settings: {
|
|
155
|
+
...settings,
|
|
156
|
+
region: regionToTarget,
|
|
157
|
+
selectorsToCalculate: selectorsToCalculate.flatMap(({ safeSelector }) => safeSelector !== null && safeSelector !== void 0 ? safeSelector : []),
|
|
158
|
+
includeFullPageSize: Boolean(settings.pageId),
|
|
159
|
+
type: snapshotType,
|
|
160
|
+
renderer,
|
|
161
|
+
rendererId: baseEyes.test.rendererId,
|
|
162
|
+
},
|
|
158
163
|
signal,
|
|
159
164
|
});
|
|
160
165
|
let offset = 0;
|
|
@@ -171,31 +176,31 @@ function makeCheck({ spec, getEyes, client, test, signal, target: defaultTarget,
|
|
|
171
176
|
logger.warn('Command "check" was aborted after rendering');
|
|
172
177
|
throw new abort_error_1.AbortError('Command "check" was aborted after rendering');
|
|
173
178
|
}
|
|
174
|
-
else if (
|
|
175
|
-
logger.warn(`Renderer with id ${rendererId} was aborted during one of the previous steps`);
|
|
176
|
-
throw new abort_error_1.AbortError(`Renderer with id "${rendererId}" was aborted during one of the previous steps`);
|
|
179
|
+
else if (baseEyes.aborted) {
|
|
180
|
+
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
181
|
+
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
177
182
|
}
|
|
178
|
-
const [result] = await
|
|
179
|
-
if (
|
|
180
|
-
logger.warn(`Renderer with id ${rendererId} was aborted during one of the previous steps`);
|
|
181
|
-
throw new abort_error_1.AbortError(`Renderer with id "${rendererId}" was aborted during one of the previous steps`);
|
|
183
|
+
const [result] = await baseEyes.check({ target: { ...baseTarget, isTransformed: true }, settings: baseSettings, logger });
|
|
184
|
+
if (baseEyes.aborted) {
|
|
185
|
+
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
186
|
+
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
182
187
|
}
|
|
183
|
-
return { ...result, eyes, renderer };
|
|
188
|
+
return { ...result, eyes: baseEyes, renderer };
|
|
184
189
|
}
|
|
185
190
|
catch (error) {
|
|
186
|
-
await
|
|
187
|
-
error.info = { eyes };
|
|
191
|
+
await baseEyes.abort();
|
|
192
|
+
error.info = { eyes: baseEyes };
|
|
188
193
|
throw error;
|
|
189
194
|
}
|
|
190
195
|
}
|
|
191
196
|
catch (error) {
|
|
192
|
-
error.info = { ...error.info, userTestId: test.userTestId, renderer };
|
|
197
|
+
error.info = { ...error.info, userTestId: eyes.test.userTestId, renderer };
|
|
193
198
|
throw error;
|
|
194
199
|
}
|
|
195
200
|
});
|
|
196
201
|
return settings.renderers.map((renderer, index) => ({
|
|
197
202
|
asExpected: true,
|
|
198
|
-
userTestId: test.userTestId,
|
|
203
|
+
userTestId: eyes.test.userTestId,
|
|
199
204
|
renderer,
|
|
200
205
|
promise: promises[index],
|
|
201
206
|
}));
|