@applitools/core 3.6.1 → 3.6.3
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 +69 -0
- package/dist/check-and-close.js +4 -3
- package/dist/check.js +4 -2
- package/dist/classic/check-and-close.js +6 -5
- package/dist/classic/check.js +3 -3
- package/dist/classic/utils/take-dom-capture.js +1 -1
- package/dist/close-batch.js +3 -3
- package/dist/core.js +3 -1
- package/dist/delete-test.js +3 -3
- package/dist/extract-text.js +3 -3
- package/dist/get-account-info.js +37 -0
- package/dist/get-manager-results.js +4 -4
- package/dist/locate-text.js +3 -3
- package/dist/locate.js +3 -3
- package/dist/open-eyes.js +17 -17
- package/dist/troubleshoot/ufg.js +1 -1
- package/dist/ufg/check-and-close.js +35 -27
- package/dist/ufg/check.js +37 -33
- package/dist/ufg/get-base-eyes.js +10 -10
- package/dist/ufg/get-ufg-client.js +9 -3
- package/dist/ufg/open-eyes.js +5 -19
- package/package.json +22 -22
- package/types/automation/types.d.ts +1 -1
- package/types/check-and-close.d.ts +2 -2
- package/types/classic/check-and-close.d.ts +2 -2
- package/types/classic/types.d.ts +1 -1
- package/types/get-account-info.d.ts +11 -0
- package/types/get-typed-eyes.d.ts +2 -2
- package/types/types.d.ts +1 -1
- package/types/ufg/check-and-close.d.ts +11 -5
- package/types/ufg/check.d.ts +7 -1
- package/types/ufg/get-ufg-client.d.ts +4 -4
- package/types/ufg/types.d.ts +6 -12
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,75 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## [3.6.3](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.6.2...js/core@3.6.3) (2023-07-21)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* improve performance by not resetting the environment ([#1779](https://github.com/applitools/eyes.sdk.javascript1/issues/1779)) ([8178978](https://github.com/applitools/eyes.sdk.javascript1/commit/8178978e9443e60f3e8b10693395e4c80cb9e02f))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Code Refactoring
|
|
14
|
+
|
|
15
|
+
* ufg client ([#1780](https://github.com/applitools/eyes.sdk.javascript1/issues/1780)) ([d60cf16](https://github.com/applitools/eyes.sdk.javascript1/commit/d60cf1616741a96b152a1548760bb98116e5c3f9))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Dependencies
|
|
19
|
+
|
|
20
|
+
* @applitools/spec-driver-puppeteer bumped to 1.1.70
|
|
21
|
+
#### Code Refactoring
|
|
22
|
+
|
|
23
|
+
* ufg client ([#1780](https://github.com/applitools/eyes.sdk.javascript1/issues/1780)) ([d60cf16](https://github.com/applitools/eyes.sdk.javascript1/commit/d60cf1616741a96b152a1548760bb98116e5c3f9))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
* @applitools/spec-driver-selenium bumped to 1.5.53
|
|
28
|
+
#### Code Refactoring
|
|
29
|
+
|
|
30
|
+
* ufg client ([#1780](https://github.com/applitools/eyes.sdk.javascript1/issues/1780)) ([d60cf16](https://github.com/applitools/eyes.sdk.javascript1/commit/d60cf1616741a96b152a1548760bb98116e5c3f9))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
* @applitools/spec-driver-webdriverio bumped to 1.5.8
|
|
35
|
+
#### Code Refactoring
|
|
36
|
+
|
|
37
|
+
* ufg client ([#1780](https://github.com/applitools/eyes.sdk.javascript1/issues/1780)) ([d60cf16](https://github.com/applitools/eyes.sdk.javascript1/commit/d60cf1616741a96b152a1548760bb98116e5c3f9))
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
* @applitools/tunnel-client bumped to 1.1.2
|
|
42
|
+
#### Code Refactoring
|
|
43
|
+
|
|
44
|
+
* ufg client ([#1780](https://github.com/applitools/eyes.sdk.javascript1/issues/1780)) ([d60cf16](https://github.com/applitools/eyes.sdk.javascript1/commit/d60cf1616741a96b152a1548760bb98116e5c3f9))
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## [3.6.2](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.6.1...js/core@3.6.2) (2023-07-18)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### Dependencies
|
|
53
|
+
|
|
54
|
+
* @applitools/req bumped from 1.4.0 to 1.5.0
|
|
55
|
+
#### Features
|
|
56
|
+
|
|
57
|
+
* support retries on stuck requests ([be673bb](https://github.com/applitools/eyes.sdk.javascript1/commit/be673bb505c9b21d6aea37d86e88513e95e3cb02))
|
|
58
|
+
* @applitools/ufg-client bumped from 1.4.1 to 1.5.0
|
|
59
|
+
#### Features
|
|
60
|
+
|
|
61
|
+
* support retries on stuck requests ([be673bb](https://github.com/applitools/eyes.sdk.javascript1/commit/be673bb505c9b21d6aea37d86e88513e95e3cb02))
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
* @applitools/core-base bumped from 1.4.0 to 1.4.1
|
|
66
|
+
|
|
67
|
+
* @applitools/ec-client bumped from 1.7.0 to 1.7.1
|
|
68
|
+
|
|
69
|
+
* @applitools/tunnel-client bumped from 1.1.0 to 1.1.1
|
|
70
|
+
|
|
71
|
+
* @applitools/nml-client bumped from 1.5.2 to 1.5.3
|
|
72
|
+
|
|
73
|
+
|
|
5
74
|
## [3.6.1](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.6.0...js/core@3.6.1) (2023-07-13)
|
|
6
75
|
|
|
7
76
|
|
package/dist/check-and-close.js
CHANGED
|
@@ -31,7 +31,9 @@ function makeCheckAndClose({ type: defaultType = 'classic', eyes, target: defaul
|
|
|
31
31
|
var _a;
|
|
32
32
|
logger = logger.extend(mainLogger, { tags: [`check-and-close-${type}-${utils.general.shortid()}`] });
|
|
33
33
|
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 };
|
|
34
|
-
const driver = (0, driver_1.isDriver)(target, spec)
|
|
34
|
+
const driver = (0, driver_1.isDriver)(target, spec)
|
|
35
|
+
? await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger })
|
|
36
|
+
: null;
|
|
35
37
|
const environment = await (driver === null || driver === void 0 ? void 0 : driver.getEnvironment());
|
|
36
38
|
const typedEyes = await eyes.getTypedEyes({
|
|
37
39
|
type,
|
|
@@ -41,8 +43,7 @@ function makeCheckAndClose({ type: defaultType = 'classic', eyes, target: defaul
|
|
|
41
43
|
})),
|
|
42
44
|
logger,
|
|
43
45
|
});
|
|
44
|
-
|
|
45
|
-
return results;
|
|
46
|
+
await typedEyes.checkAndClose({ target: driver !== null && driver !== void 0 ? driver : target, settings, logger });
|
|
46
47
|
};
|
|
47
48
|
}
|
|
48
49
|
exports.makeCheckAndClose = makeCheckAndClose;
|
package/dist/check.js
CHANGED
|
@@ -45,7 +45,7 @@ function makeCheck({ type: defaultType = 'classic', eyes, target: defaultTarget,
|
|
|
45
45
|
(_e = settings.matchLevel) !== null && _e !== void 0 ? _e : (settings.matchLevel = 'Strict');
|
|
46
46
|
(_f = settings.ignoreCaret) !== null && _f !== void 0 ? _f : (settings.ignoreCaret = true);
|
|
47
47
|
(_g = settings.sendDom) !== null && _g !== void 0 ? _g : (settings.sendDom = eyes.test.account.rcaEnabled || settings.matchLevel === 'Layout' || settings.enablePatterns || settings.useDom);
|
|
48
|
-
(_h = settings.autProxy) !== null && _h !== void 0 ? _h : (settings.autProxy = eyes.test.
|
|
48
|
+
(_h = settings.autProxy) !== null && _h !== void 0 ? _h : (settings.autProxy = eyes.test.eyesServer.proxy);
|
|
49
49
|
(_j = settings.useDom) !== null && _j !== void 0 ? _j : (settings.useDom = false);
|
|
50
50
|
(_k = (_r = settings).retryTimeout) !== null && _k !== void 0 ? _k : (_r.retryTimeout = 2000);
|
|
51
51
|
settings.lazyLoad = settings.lazyLoad === true ? {} : settings.lazyLoad;
|
|
@@ -59,7 +59,9 @@ function makeCheck({ type: defaultType = 'classic', eyes, target: defaultTarget,
|
|
|
59
59
|
if (settings.matchLevel === 'Content') {
|
|
60
60
|
logger.console.log(chalk_1.default.yellow(`The "Content" match level value has been deprecated, use "IgnoreColors" instead.`));
|
|
61
61
|
}
|
|
62
|
-
const driver = (0, driver_1.isDriver)(target, spec)
|
|
62
|
+
const driver = (0, driver_1.isDriver)(target, spec)
|
|
63
|
+
? await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger })
|
|
64
|
+
: null;
|
|
63
65
|
const environment = await (driver === null || driver === void 0 ? void 0 : driver.getEnvironment());
|
|
64
66
|
const typedEyes = await eyes.getTypedEyes({
|
|
65
67
|
type,
|
|
@@ -40,9 +40,10 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, logger: mainLogg
|
|
|
40
40
|
const baseEyes = await eyes.getBaseEyes({ logger });
|
|
41
41
|
if (!(0, driver_1.isDriver)(target, spec)) {
|
|
42
42
|
const baseSettings = settings;
|
|
43
|
-
|
|
43
|
+
await Promise.all(baseEyes.map(baseEyes => baseEyes.checkAndClose({ target, settings: baseSettings, logger })));
|
|
44
|
+
return;
|
|
44
45
|
}
|
|
45
|
-
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
|
|
46
|
+
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger });
|
|
46
47
|
const environment = await driver.getEnvironment();
|
|
47
48
|
if (settings.lazyLoad && environment.isWeb) {
|
|
48
49
|
await (0, wait_for_lazy_load_1.waitForLazyLoad)({
|
|
@@ -76,7 +77,7 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, logger: mainLogg
|
|
|
76
77
|
await ((_a = screenshot.scrollingElement) === null || _a === void 0 ? void 0 : _a.setAttribute('data-applitools-scroll', 'true'));
|
|
77
78
|
else
|
|
78
79
|
await ((_b = screenshot.element) === null || _b === void 0 ? void 0 : _b.setAttribute('data-applitools-scroll', 'true'));
|
|
79
|
-
baseTarget.dom = await (0, take_dom_capture_1.takeDomCapture)({ driver, settings: { proxy: eyes.test.
|
|
80
|
+
baseTarget.dom = await (0, take_dom_capture_1.takeDomCapture)({ driver, settings: { proxy: eyes.test.eyesServer.proxy }, logger }).catch(() => undefined);
|
|
80
81
|
}
|
|
81
82
|
if (settings.pageId) {
|
|
82
83
|
const scrollingElement = await driver.mainContext.getScrollingElement();
|
|
@@ -89,7 +90,7 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, logger: mainLogg
|
|
|
89
90
|
await screenshot.restoreState();
|
|
90
91
|
}
|
|
91
92
|
else {
|
|
92
|
-
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.
|
|
93
|
+
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.eyesServer, driver, logger });
|
|
93
94
|
const screenshot = await nmlClient.takeScreenshot({
|
|
94
95
|
settings: { name: settings.name, waitBeforeCapture: settings.waitBeforeCapture, fully: settings.fully },
|
|
95
96
|
logger,
|
|
@@ -97,7 +98,7 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, logger: mainLogg
|
|
|
97
98
|
baseTarget = { image: screenshot.image, isTransformed: true };
|
|
98
99
|
baseSettings = getBaseCheckSettings({ calculatedRegions: [] });
|
|
99
100
|
}
|
|
100
|
-
|
|
101
|
+
await Promise.all(baseEyes.map(baseEyes => baseEyes.checkAndClose({ target: baseTarget, settings: baseSettings, logger })));
|
|
101
102
|
};
|
|
102
103
|
}
|
|
103
104
|
exports.makeCheckAndClose = makeCheckAndClose;
|
package/dist/classic/check.js
CHANGED
|
@@ -41,7 +41,7 @@ function makeCheck({ eyes, target: defaultTarget, spec, logger: mainLogger, }) {
|
|
|
41
41
|
if (!(0, driver_1.isDriver)(target, spec)) {
|
|
42
42
|
return (await Promise.all(baseEyes.map(baseEyes => baseEyes.check({ target, settings: settings, logger })))).flat();
|
|
43
43
|
}
|
|
44
|
-
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
|
|
44
|
+
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger });
|
|
45
45
|
const environment = await driver.getEnvironment();
|
|
46
46
|
await driver.currentContext.setScrollingElement((_a = settings.scrollRootElement) !== null && _a !== void 0 ? _a : null);
|
|
47
47
|
if (settings.lazyLoad && environment.isWeb) {
|
|
@@ -83,7 +83,7 @@ function makeCheck({ eyes, target: defaultTarget, spec, logger: mainLogger, }) {
|
|
|
83
83
|
await ((_c = screenshot.scrollingElement) === null || _c === void 0 ? void 0 : _c.setAttribute('data-applitools-scroll', 'true'));
|
|
84
84
|
else
|
|
85
85
|
await ((_d = screenshot.element) === null || _d === void 0 ? void 0 : _d.setAttribute('data-applitools-scroll', 'true'));
|
|
86
|
-
baseTarget.dom = await (0, take_dom_capture_1.takeDomCapture)({ driver, settings: { proxy: eyes.test.
|
|
86
|
+
baseTarget.dom = await (0, take_dom_capture_1.takeDomCapture)({ driver, settings: { proxy: eyes.test.eyesServer.proxy }, logger }).catch(() => undefined);
|
|
87
87
|
}
|
|
88
88
|
if (settings.pageId) {
|
|
89
89
|
const scrollingElement = await driver.mainContext.getScrollingElement();
|
|
@@ -96,7 +96,7 @@ function makeCheck({ eyes, target: defaultTarget, spec, logger: mainLogger, }) {
|
|
|
96
96
|
await screenshot.restoreState();
|
|
97
97
|
}
|
|
98
98
|
else {
|
|
99
|
-
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.
|
|
99
|
+
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.eyesServer, driver, logger });
|
|
100
100
|
const screenshot = await nmlClient.takeScreenshot({
|
|
101
101
|
settings: { name: settings.name, waitBeforeCapture: settings.waitBeforeCapture, fully: settings.fully },
|
|
102
102
|
logger,
|
|
@@ -70,7 +70,7 @@ async function takeDomCapture({ driver, settings, logger, }) {
|
|
|
70
70
|
logger.log(`Request to download css will be sent to the address "[GET]${url}"`);
|
|
71
71
|
try {
|
|
72
72
|
const response = await (0, req_1.req)(url, {
|
|
73
|
-
|
|
73
|
+
connectionTimeout: (_a = settings === null || settings === void 0 ? void 0 : settings.fetchTimeout) !== null && _a !== void 0 ? _a : 60000,
|
|
74
74
|
retry: {
|
|
75
75
|
limit: 1,
|
|
76
76
|
validate: ({ response, error }) => !!error || !response.ok,
|
package/dist/close-batch.js
CHANGED
|
@@ -29,9 +29,9 @@ function makeCloseBatch({ core, logger: mainLogger }) {
|
|
|
29
29
|
return async function closeBatch({ settings, logger = mainLogger, }) {
|
|
30
30
|
logger = logger.extend(mainLogger, { tags: [`close-batch-${utils.general.shortid()}`] });
|
|
31
31
|
(utils.types.isArray(settings) ? settings : [settings]).forEach(settings => {
|
|
32
|
-
var _a, _b, _c;
|
|
33
|
-
(_a = settings.
|
|
34
|
-
(
|
|
32
|
+
var _a, _b, _c, _d, _e;
|
|
33
|
+
(_a = settings.eyesServerUrl) !== null && _a !== void 0 ? _a : (settings.eyesServerUrl = (_d = (_c = (_b = settings.serverUrl) !== null && _b !== void 0 ? _b : utils.general.getEnvValue('EYES_SERVER_URL')) !== null && _c !== void 0 ? _c : utils.general.getEnvValue('SERVER_URL')) !== null && _d !== void 0 ? _d : 'https://eyesapi.applitools.com');
|
|
34
|
+
(_e = settings.apiKey) !== null && _e !== void 0 ? _e : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
|
|
35
35
|
});
|
|
36
36
|
await core.base.closeBatch({ settings, logger });
|
|
37
37
|
};
|
package/dist/core.js
CHANGED
|
@@ -28,7 +28,9 @@ const logger_1 = require("@applitools/logger");
|
|
|
28
28
|
const core_base_1 = require("@applitools/core-base");
|
|
29
29
|
const get_viewport_size_1 = require("./automation/get-viewport-size");
|
|
30
30
|
const set_viewport_size_1 = require("./automation/set-viewport-size");
|
|
31
|
+
const get_account_info_1 = require("./get-account-info");
|
|
31
32
|
const get_nml_client_1 = require("./automation/get-nml-client");
|
|
33
|
+
const get_ec_client_1 = require("./get-ec-client");
|
|
32
34
|
const locate_1 = require("./locate");
|
|
33
35
|
const locate_text_1 = require("./locate-text");
|
|
34
36
|
const extract_text_1 = require("./extract-text");
|
|
@@ -36,7 +38,6 @@ const open_eyes_1 = require("./open-eyes");
|
|
|
36
38
|
const make_manager_1 = require("./make-manager");
|
|
37
39
|
const close_batch_1 = require("./close-batch");
|
|
38
40
|
const delete_test_1 = require("./delete-test");
|
|
39
|
-
const get_ec_client_1 = require("./get-ec-client");
|
|
40
41
|
const utils = __importStar(require("@applitools/utils"));
|
|
41
42
|
function makeCore({ spec, concurrency, base: defaultBase, agentId = 'core', cwd = process.cwd(), logger: defaultLogger, } = {}) {
|
|
42
43
|
const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: 'core' } });
|
|
@@ -49,6 +50,7 @@ function makeCore({ spec, concurrency, base: defaultBase, agentId = 'core', cwd
|
|
|
49
50
|
setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
|
|
50
51
|
getNMLClient: (0, get_nml_client_1.makeGetNMLClient)({ logger }),
|
|
51
52
|
getECClient: (0, get_ec_client_1.makeGetECClient)({ logger }),
|
|
53
|
+
getAccountInfo: (0, get_account_info_1.makeGetAccountInfo)({ core, logger }),
|
|
52
54
|
makeManager: (0, make_manager_1.makeMakeManager)({ spec, concurrency, core, base: defaultBase, agentId, logger }),
|
|
53
55
|
locate: (0, locate_1.makeLocate)({ spec, core, logger }),
|
|
54
56
|
locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
|
package/dist/delete-test.js
CHANGED
|
@@ -29,9 +29,9 @@ function makeDeleteTest({ core, logger: mainLogger }) {
|
|
|
29
29
|
return async function deleteTest({ settings, logger = mainLogger, }) {
|
|
30
30
|
logger = logger.extend(mainLogger, { tags: [`delete-test-${utils.general.shortid()}`] });
|
|
31
31
|
(utils.types.isArray(settings) ? settings : [settings]).forEach(settings => {
|
|
32
|
-
var _a, _b, _c;
|
|
33
|
-
(_a = settings.
|
|
34
|
-
(
|
|
32
|
+
var _a, _b, _c, _d, _e;
|
|
33
|
+
(_a = settings.eyesServerUrl) !== null && _a !== void 0 ? _a : (settings.eyesServerUrl = (_d = (_c = (_b = settings.serverUrl) !== null && _b !== void 0 ? _b : utils.general.getEnvValue('EYES_SERVER_URL')) !== null && _c !== void 0 ? _c : utils.general.getEnvValue('SERVER_URL')) !== null && _d !== void 0 ? _d : 'https://eyesapi.applitools.com');
|
|
34
|
+
(_e = settings.apiKey) !== null && _e !== void 0 ? _e : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
|
|
35
35
|
});
|
|
36
36
|
await core.base.deleteTest({ settings, logger });
|
|
37
37
|
};
|
package/dist/extract-text.js
CHANGED
|
@@ -31,11 +31,11 @@ function makeExtractText({ spec, core, logger: mainLogger }) {
|
|
|
31
31
|
logger = logger.extend(mainLogger, { tags: [`extract-text-${utils.general.shortid()}`] });
|
|
32
32
|
settings = utils.types.isArray(settings) ? settings : [settings];
|
|
33
33
|
settings = settings.map(settings => {
|
|
34
|
-
var _a, _b, _c, _d;
|
|
34
|
+
var _a, _b, _c, _d, _e, _f;
|
|
35
35
|
settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
|
|
36
36
|
(_a = settings.userCommandId) !== null && _a !== void 0 ? _a : (settings.userCommandId = `extract-text--${utils.general.guid()}`);
|
|
37
|
-
(_b = settings.
|
|
38
|
-
(
|
|
37
|
+
(_b = settings.eyesServerUrl) !== null && _b !== void 0 ? _b : (settings.eyesServerUrl = (_e = (_d = (_c = settings.serverUrl) !== null && _c !== void 0 ? _c : utils.general.getEnvValue('EYES_SERVER_URL')) !== null && _d !== void 0 ? _d : utils.general.getEnvValue('SERVER_URL')) !== null && _e !== void 0 ? _e : 'https://eyesapi.applitools.com');
|
|
38
|
+
(_f = settings.apiKey) !== null && _f !== void 0 ? _f : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
|
|
39
39
|
return settings;
|
|
40
40
|
});
|
|
41
41
|
const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
|
|
@@ -0,0 +1,37 @@
|
|
|
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.makeGetAccountInfo = void 0;
|
|
27
|
+
const utils = __importStar(require("@applitools/utils"));
|
|
28
|
+
function makeGetAccountInfo({ core, logger: mainLogger }) {
|
|
29
|
+
return async function getAccountInfo({ settings, logger = mainLogger, }) {
|
|
30
|
+
var _a, _b, _c, _d, _e;
|
|
31
|
+
logger = logger.extend(mainLogger, { tags: [`get-account-info-${utils.general.shortid()}`] });
|
|
32
|
+
(_a = settings.eyesServerUrl) !== null && _a !== void 0 ? _a : (settings.eyesServerUrl = (_d = (_c = (_b = settings.serverUrl) !== null && _b !== void 0 ? _b : utils.general.getEnvValue('EYES_SERVER_URL')) !== null && _c !== void 0 ? _c : utils.general.getEnvValue('SERVER_URL')) !== null && _d !== void 0 ? _d : 'https://eyesapi.applitools.com');
|
|
33
|
+
(_e = settings.apiKey) !== null && _e !== void 0 ? _e : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
|
|
34
|
+
return core.base.getAccountInfo({ settings, logger });
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
exports.makeGetAccountInfo = makeGetAccountInfo;
|
|
@@ -31,7 +31,7 @@ const utils = __importStar(require("@applitools/utils"));
|
|
|
31
31
|
function makeGetManagerResults({ core, storage, logger: mainLogger, }) {
|
|
32
32
|
return async function getManagerResults({ settings, logger = mainLogger, } = {}) {
|
|
33
33
|
var _a, _b, _c;
|
|
34
|
-
logger = logger.extend(mainLogger, { tags: [`get-
|
|
34
|
+
logger = logger.extend(mainLogger, { tags: [`get-manager-results-${utils.general.shortid()}`] });
|
|
35
35
|
let containers = await storage.reduce(async (promise, eyes) => {
|
|
36
36
|
try {
|
|
37
37
|
const results = await eyes.getResults({ settings: { ...settings, throwErr: false }, logger });
|
|
@@ -59,7 +59,7 @@ function makeGetManagerResults({ core, storage, logger: mainLogger, }) {
|
|
|
59
59
|
if (container.result) {
|
|
60
60
|
await core.deleteTest({
|
|
61
61
|
settings: {
|
|
62
|
-
...container.result.
|
|
62
|
+
...container.result.eyesServer,
|
|
63
63
|
testId: container.result.id,
|
|
64
64
|
batchId: container.result.batchId,
|
|
65
65
|
secretToken: container.result.secretToken,
|
|
@@ -72,8 +72,8 @@ function makeGetManagerResults({ core, storage, logger: mainLogger, }) {
|
|
|
72
72
|
}
|
|
73
73
|
const batches = storage.reduce((batches, eyes) => {
|
|
74
74
|
if (!eyes.test.keepBatchOpen) {
|
|
75
|
-
const settings = { ...eyes.test.
|
|
76
|
-
batches[`${settings.
|
|
75
|
+
const settings = { ...eyes.test.eyesServer, batchId: eyes.test.batchId };
|
|
76
|
+
batches[`${settings.eyesServerUrl}:${settings.apiKey}:${settings.batchId}`] = settings;
|
|
77
77
|
}
|
|
78
78
|
return batches;
|
|
79
79
|
}, {});
|
package/dist/locate-text.js
CHANGED
|
@@ -28,11 +28,11 @@ const core_1 = require("./classic/core");
|
|
|
28
28
|
const utils = __importStar(require("@applitools/utils"));
|
|
29
29
|
function makeLocateText({ spec, core, logger: mainLogger }) {
|
|
30
30
|
return async function locateText({ target, settings, config, logger = mainLogger, }) {
|
|
31
|
-
var _a, _b, _c;
|
|
31
|
+
var _a, _b, _c, _d, _e;
|
|
32
32
|
logger = logger.extend(mainLogger, { tags: [`locate-text-${utils.general.shortid()}`] });
|
|
33
33
|
settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
|
|
34
|
-
(_a = settings.
|
|
35
|
-
(
|
|
34
|
+
(_a = settings.eyesServerUrl) !== null && _a !== void 0 ? _a : (settings.eyesServerUrl = (_d = (_c = (_b = settings.serverUrl) !== null && _b !== void 0 ? _b : utils.general.getEnvValue('EYES_SERVER_URL')) !== null && _c !== void 0 ? _c : utils.general.getEnvValue('SERVER_URL')) !== null && _d !== void 0 ? _d : 'https://eyesapi.applitools.com');
|
|
35
|
+
(_e = settings.apiKey) !== null && _e !== void 0 ? _e : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
|
|
36
36
|
const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
|
|
37
37
|
const results = await classicCore.locateText({ target, settings, logger });
|
|
38
38
|
return results;
|
package/dist/locate.js
CHANGED
|
@@ -28,11 +28,11 @@ const core_1 = require("./classic/core");
|
|
|
28
28
|
const utils = __importStar(require("@applitools/utils"));
|
|
29
29
|
function makeLocate({ spec, core, logger: mainLogger }) {
|
|
30
30
|
return async function locate({ target, settings, config, logger = mainLogger, }) {
|
|
31
|
-
var _a, _b, _c;
|
|
31
|
+
var _a, _b, _c, _d, _e;
|
|
32
32
|
logger = logger.extend(mainLogger, { tags: [`locate-${utils.general.shortid()}`] });
|
|
33
33
|
settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
|
|
34
|
-
(_a = settings.
|
|
35
|
-
(
|
|
34
|
+
(_a = settings.eyesServerUrl) !== null && _a !== void 0 ? _a : (settings.eyesServerUrl = (_d = (_c = (_b = settings.serverUrl) !== null && _b !== void 0 ? _b : utils.general.getEnvValue('EYES_SERVER_URL')) !== null && _c !== void 0 ? _c : utils.general.getEnvValue('SERVER_URL')) !== null && _d !== void 0 ? _d : 'https://eyesapi.applitools.com');
|
|
35
|
+
(_e = settings.apiKey) !== null && _e !== void 0 ? _e : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
|
|
36
36
|
const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
|
|
37
37
|
const results = await classicCore.locate({ target, settings, logger });
|
|
38
38
|
return results;
|
package/dist/open-eyes.js
CHANGED
|
@@ -36,29 +36,29 @@ const extract_ci_provider_1 = require("./utils/extract-ci-provider");
|
|
|
36
36
|
const utils = __importStar(require("@applitools/utils"));
|
|
37
37
|
function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core, cores, spec, logger: mainLogger, }) {
|
|
38
38
|
return async function openEyes({ type = defaultType, settings, config, target, logger = mainLogger, }) {
|
|
39
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
40
|
-
var
|
|
39
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
|
40
|
+
var _x, _y, _z, _0;
|
|
41
41
|
logger = logger.extend(mainLogger, { tags: [`eyes-${type}-${utils.general.shortid()}`] });
|
|
42
42
|
settings = { ...config === null || config === void 0 ? void 0 : config.open, ...settings };
|
|
43
43
|
(_a = settings.userTestId) !== null && _a !== void 0 ? _a : (settings.userTestId = `${settings.testName}--${utils.general.guid()}`);
|
|
44
|
-
(_b = settings.
|
|
45
|
-
(
|
|
44
|
+
(_b = settings.eyesServerUrl) !== null && _b !== void 0 ? _b : (settings.eyesServerUrl = (_e = (_d = (_c = settings.serverUrl) !== null && _c !== void 0 ? _c : utils.general.getEnvValue('EYES_SERVER_URL')) !== null && _d !== void 0 ? _d : utils.general.getEnvValue('SERVER_URL')) !== null && _e !== void 0 ? _e : 'https://eyesapi.applitools.com');
|
|
45
|
+
(_f = settings.apiKey) !== null && _f !== void 0 ? _f : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
|
|
46
|
+
(_g = settings.useDnsCache) !== null && _g !== void 0 ? _g : (settings.useDnsCache = utils.general.getEnvValue('USE_DNS_CACHE', 'boolean'));
|
|
46
47
|
settings.batch = { ...batch, ...settings.batch };
|
|
47
|
-
(
|
|
48
|
-
(
|
|
49
|
-
(
|
|
50
|
-
(
|
|
51
|
-
(
|
|
52
|
-
(
|
|
53
|
-
(
|
|
54
|
-
(
|
|
55
|
-
(
|
|
56
|
-
(
|
|
57
|
-
(_r = settings.useDnsCache) !== null && _r !== void 0 ? _r : (settings.useDnsCache = utils.general.getEnvValue('USE_DNS_CACHE', 'boolean'));
|
|
48
|
+
(_h = (_x = settings.batch).id) !== null && _h !== void 0 ? _h : (_x.id = (_j = utils.general.getEnvValue('BATCH_ID')) !== null && _j !== void 0 ? _j : `generated-${utils.general.guid()}`);
|
|
49
|
+
(_k = (_y = settings.batch).name) !== null && _k !== void 0 ? _k : (_y.name = utils.general.getEnvValue('BATCH_NAME'));
|
|
50
|
+
(_l = (_z = settings.batch).sequenceName) !== null && _l !== void 0 ? _l : (_z.sequenceName = utils.general.getEnvValue('BATCH_SEQUENCE'));
|
|
51
|
+
(_m = (_0 = settings.batch).notifyOnCompletion) !== null && _m !== void 0 ? _m : (_0.notifyOnCompletion = utils.general.getEnvValue('BATCH_NOTIFY', 'boolean'));
|
|
52
|
+
(_o = settings.keepBatchOpen) !== null && _o !== void 0 ? _o : (settings.keepBatchOpen = utils.general.getEnvValue('DONT_CLOSE_BATCHES', 'boolean'));
|
|
53
|
+
(_p = settings.branchName) !== null && _p !== void 0 ? _p : (settings.branchName = utils.general.getEnvValue('BRANCH'));
|
|
54
|
+
(_q = settings.parentBranchName) !== null && _q !== void 0 ? _q : (settings.parentBranchName = utils.general.getEnvValue('PARENT_BRANCH'));
|
|
55
|
+
(_r = settings.baselineBranchName) !== null && _r !== void 0 ? _r : (settings.baselineBranchName = utils.general.getEnvValue('BASELINE_BRANCH'));
|
|
56
|
+
(_s = settings.ignoreBaseline) !== null && _s !== void 0 ? _s : (settings.ignoreBaseline = false);
|
|
57
|
+
(_t = settings.compareWithParentBranch) !== null && _t !== void 0 ? _t : (settings.compareWithParentBranch = false);
|
|
58
58
|
const driver = target && (await (0, driver_1.makeDriver)({ spec, driver: target, logger, customConfig: settings }));
|
|
59
59
|
core.logEvent({
|
|
60
60
|
settings: {
|
|
61
|
-
|
|
61
|
+
eyesServerUrl: settings.eyesServerUrl,
|
|
62
62
|
apiKey: settings.apiKey,
|
|
63
63
|
proxy: settings.proxy,
|
|
64
64
|
agentId: settings.agentId,
|
|
@@ -67,7 +67,7 @@ function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core,
|
|
|
67
67
|
event: {
|
|
68
68
|
type: 'runnerStarted',
|
|
69
69
|
testConcurrency: concurrency,
|
|
70
|
-
concurrentRendersPerTest: (
|
|
70
|
+
concurrentRendersPerTest: (_w = (_v = (_u = config === null || config === void 0 ? void 0 : config.check) === null || _u === void 0 ? void 0 : _u.renderers) === null || _v === void 0 ? void 0 : _v.length) !== null && _w !== void 0 ? _w : 1,
|
|
71
71
|
node: { version: process.version, platform: process.platform, arch: process.arch },
|
|
72
72
|
driverUrl: await (driver === null || driver === void 0 ? void 0 : driver.getDriverUrl()),
|
|
73
73
|
extractedCIProvider: (0, extract_ci_provider_1.extractCIProvider)(),
|
package/dist/troubleshoot/ufg.js
CHANGED
|
@@ -91,7 +91,7 @@ exports.default = {
|
|
|
91
91
|
testServer: async () => {
|
|
92
92
|
const url = new URL(UFG_PUT_RESOURCE_URL);
|
|
93
93
|
const requests = (0, ufg_client_1.makeUFGRequests)({
|
|
94
|
-
|
|
94
|
+
settings: { ufgServerUrl: url.origin, accessToken: await accessTokenPromise },
|
|
95
95
|
logger: (0, logger_1.makeLogger)(),
|
|
96
96
|
});
|
|
97
97
|
await requests.uploadResource({ resource });
|
|
@@ -36,8 +36,8 @@ const uniquify_renderers_1 = require("./utils/uniquify-renderers");
|
|
|
36
36
|
const abort_error_1 = require("../errors/abort-error");
|
|
37
37
|
const utils = __importStar(require("@applitools/utils"));
|
|
38
38
|
const chalk_1 = __importDefault(require("chalk"));
|
|
39
|
-
function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger: mainLogger, }) {
|
|
40
|
-
return async function checkAndClose({ target = defaultTarget, settings = {}, logger = mainLogger, }) {
|
|
39
|
+
function makeCheckAndClose({ eyes, storage, target: defaultTarget, spec, signal, logger: mainLogger, }) {
|
|
40
|
+
return async function checkAndClose({ target = defaultTarget, settings = {}, logger = mainLogger, } = {}) {
|
|
41
41
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
42
42
|
logger = logger.extend(mainLogger);
|
|
43
43
|
logger.log('Command "checkAndClose" is called with settings', settings);
|
|
@@ -50,8 +50,11 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
50
50
|
});
|
|
51
51
|
const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : []);
|
|
52
52
|
const ufgClient = await eyes.core.getUFGClient({
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
settings: {
|
|
54
|
+
...eyes.test.ufgServer,
|
|
55
|
+
eyesServerUrl: eyes.test.eyesServer.eyesServerUrl,
|
|
56
|
+
apiKey: eyes.test.eyesServer.apiKey,
|
|
57
|
+
},
|
|
55
58
|
logger,
|
|
56
59
|
});
|
|
57
60
|
let snapshots;
|
|
@@ -61,7 +64,9 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
61
64
|
let regionToTarget;
|
|
62
65
|
let scrollRootSelector;
|
|
63
66
|
let selectorsToCalculate;
|
|
64
|
-
const driver = spec && (0, driver_1.isDriver)(target, spec)
|
|
67
|
+
const driver = spec && (0, driver_1.isDriver)(target, spec)
|
|
68
|
+
? await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger })
|
|
69
|
+
: null;
|
|
65
70
|
if (driver) {
|
|
66
71
|
const environment = await driver.getEnvironment();
|
|
67
72
|
if (uniqueRenderers.length === 0) {
|
|
@@ -108,7 +113,7 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
108
113
|
const currentContext = driver.currentContext;
|
|
109
114
|
const snapshotOptions = {
|
|
110
115
|
settings: {
|
|
111
|
-
...eyes.test.
|
|
116
|
+
...eyes.test.eyesServer,
|
|
112
117
|
waitBeforeCapture: settings.waitBeforeCapture,
|
|
113
118
|
disableBrowserFetching: settings.disableBrowserFetching,
|
|
114
119
|
layoutBreakpoints: settings.layoutBreakpoints,
|
|
@@ -135,7 +140,7 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
135
140
|
snapshots = await (0, take_dom_snapshots_1.takeDomSnapshots)({ driver, ...snapshotOptions, logger });
|
|
136
141
|
}
|
|
137
142
|
else {
|
|
138
|
-
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.
|
|
143
|
+
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.eyesServer, driver, logger });
|
|
139
144
|
snapshots = (await nmlClient.takeSnapshots({ ...snapshotOptions, logger }));
|
|
140
145
|
}
|
|
141
146
|
await currentContext.focus();
|
|
@@ -164,31 +169,30 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
164
169
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
165
170
|
}
|
|
166
171
|
const { cookies, ...snapshot } = snapshots[index];
|
|
167
|
-
|
|
172
|
+
if (utils.types.has(renderer, 'iosDeviceInfo') || utils.types.has(renderer, 'androidDeviceInfo')) {
|
|
173
|
+
renderer.type = utils.types.has(snapshot, 'cdt') ? 'web' : 'native';
|
|
174
|
+
}
|
|
168
175
|
const renderTargetPromise = ufgClient.createRenderTarget({
|
|
169
176
|
snapshot,
|
|
170
177
|
settings: {
|
|
171
178
|
renderer,
|
|
172
179
|
referer: snapshotUrl,
|
|
173
180
|
cookies,
|
|
174
|
-
proxy: eyes.test.
|
|
181
|
+
proxy: eyes.test.eyesServer.proxy,
|
|
175
182
|
autProxy: settings.autProxy,
|
|
176
183
|
userAgent,
|
|
177
184
|
},
|
|
178
185
|
logger: rendererLogger,
|
|
179
186
|
});
|
|
180
|
-
const [baseEyes] = await eyes.getBaseEyes({
|
|
181
|
-
settings: { renderer, type: snapshotType, properties },
|
|
182
|
-
logger,
|
|
183
|
-
});
|
|
187
|
+
const [baseEyes] = await eyes.getBaseEyes({ settings: { renderer, properties }, logger });
|
|
184
188
|
try {
|
|
185
189
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
186
190
|
rendererLogger.warn('Command "check" was aborted before rendering');
|
|
187
191
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
188
192
|
}
|
|
189
193
|
else if (!baseEyes.running) {
|
|
190
|
-
rendererLogger.warn(`
|
|
191
|
-
throw new abort_error_1.AbortError(`
|
|
194
|
+
rendererLogger.warn(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
195
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
192
196
|
}
|
|
193
197
|
const renderTarget = await renderTargetPromise;
|
|
194
198
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
@@ -196,8 +200,8 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
196
200
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
197
201
|
}
|
|
198
202
|
else if (!baseEyes.running) {
|
|
199
|
-
rendererLogger.warn(`
|
|
200
|
-
throw new abort_error_1.AbortError(`
|
|
203
|
+
rendererLogger.warn(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
204
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
201
205
|
}
|
|
202
206
|
const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
|
|
203
207
|
target: renderTarget,
|
|
@@ -206,11 +210,11 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
206
210
|
region: regionToTarget,
|
|
207
211
|
scrollRootElement: scrollRootSelector,
|
|
208
212
|
selectorsToCalculate: selectorsToCalculate.flatMap(({ safeSelector }) => safeSelector !== null && safeSelector !== void 0 ? safeSelector : []),
|
|
209
|
-
includeFullPageSize:
|
|
210
|
-
type: snapshotType,
|
|
213
|
+
includeFullPageSize: !!settings.pageId,
|
|
211
214
|
renderer,
|
|
212
|
-
|
|
213
|
-
|
|
215
|
+
renderEnvironmentId: baseEyes.test.renderEnvironmentId,
|
|
216
|
+
uploadUrl: baseEyes.test.uploadUrl,
|
|
217
|
+
stitchingServiceUrl: baseEyes.test.stitchingServiceUrl,
|
|
214
218
|
},
|
|
215
219
|
signal,
|
|
216
220
|
logger: rendererLogger,
|
|
@@ -230,18 +234,18 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
230
234
|
throw new abort_error_1.AbortError('Command "check" was aborted after rendering');
|
|
231
235
|
}
|
|
232
236
|
else if (!baseEyes.running) {
|
|
233
|
-
rendererLogger.warn(`
|
|
234
|
-
throw new abort_error_1.AbortError(`
|
|
237
|
+
rendererLogger.warn(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
238
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
235
239
|
}
|
|
236
|
-
|
|
240
|
+
await baseEyes.checkAndClose({
|
|
237
241
|
target: { ...baseTarget, isTransformed: true },
|
|
238
242
|
settings: baseSettings,
|
|
239
243
|
logger: rendererLogger,
|
|
240
244
|
});
|
|
241
|
-
return {
|
|
245
|
+
return { eyes: baseEyes, renderer };
|
|
242
246
|
}
|
|
243
247
|
catch (error) {
|
|
244
|
-
rendererLogger.error(`
|
|
248
|
+
rendererLogger.error(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" failed due to an error`, error);
|
|
245
249
|
await baseEyes.abort({ logger: rendererLogger });
|
|
246
250
|
error.info = { eyes: baseEyes };
|
|
247
251
|
throw error;
|
|
@@ -253,7 +257,11 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
253
257
|
throw error;
|
|
254
258
|
}
|
|
255
259
|
});
|
|
256
|
-
|
|
260
|
+
uniqueRenderers.forEach((renderer, index) => {
|
|
261
|
+
var _a;
|
|
262
|
+
const key = JSON.stringify(renderer);
|
|
263
|
+
storage.set(key, [...((_a = storage.get(key)) !== null && _a !== void 0 ? _a : []), promises[index]]);
|
|
264
|
+
});
|
|
257
265
|
};
|
|
258
266
|
}
|
|
259
267
|
exports.makeCheckAndClose = makeCheckAndClose;
|
package/dist/ufg/check.js
CHANGED
|
@@ -36,8 +36,8 @@ const uniquify_renderers_1 = require("./utils/uniquify-renderers");
|
|
|
36
36
|
const abort_error_1 = require("../errors/abort-error");
|
|
37
37
|
const utils = __importStar(require("@applitools/utils"));
|
|
38
38
|
const chalk_1 = __importDefault(require("chalk"));
|
|
39
|
-
function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogger, }) {
|
|
40
|
-
return async function check({ target = defaultTarget, settings = {}, logger = mainLogger, }) {
|
|
39
|
+
function makeCheck({ eyes, storage, target: defaultTarget, spec, signal, logger: mainLogger, }) {
|
|
40
|
+
return async function check({ target = defaultTarget, settings = {}, logger = mainLogger, } = {}) {
|
|
41
41
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
42
42
|
logger = logger.extend(mainLogger);
|
|
43
43
|
logger.log('Command "check" is called with settings', settings);
|
|
@@ -50,8 +50,11 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogg
|
|
|
50
50
|
});
|
|
51
51
|
const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : []);
|
|
52
52
|
const ufgClient = await eyes.core.getUFGClient({
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
settings: {
|
|
54
|
+
...eyes.test.ufgServer,
|
|
55
|
+
eyesServerUrl: eyes.test.eyesServer.eyesServerUrl,
|
|
56
|
+
apiKey: eyes.test.eyesServer.apiKey,
|
|
57
|
+
},
|
|
55
58
|
logger,
|
|
56
59
|
});
|
|
57
60
|
let snapshots;
|
|
@@ -61,7 +64,9 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogg
|
|
|
61
64
|
let regionToTarget;
|
|
62
65
|
let scrollRootSelector;
|
|
63
66
|
let selectorsToCalculate;
|
|
64
|
-
const driver = spec && (0, driver_1.isDriver)(target, spec)
|
|
67
|
+
const driver = spec && (0, driver_1.isDriver)(target, spec)
|
|
68
|
+
? await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger })
|
|
69
|
+
: null;
|
|
65
70
|
if (driver) {
|
|
66
71
|
const environment = await driver.getEnvironment();
|
|
67
72
|
await driver.currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
|
|
@@ -109,7 +114,7 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogg
|
|
|
109
114
|
const currentContext = driver.currentContext;
|
|
110
115
|
const snapshotOptions = {
|
|
111
116
|
settings: {
|
|
112
|
-
...eyes.test.
|
|
117
|
+
...eyes.test.eyesServer,
|
|
113
118
|
waitBeforeCapture: settings.waitBeforeCapture,
|
|
114
119
|
disableBrowserFetching: settings.disableBrowserFetching,
|
|
115
120
|
layoutBreakpoints: settings.layoutBreakpoints,
|
|
@@ -136,7 +141,7 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogg
|
|
|
136
141
|
snapshots = await (0, take_dom_snapshots_1.takeDomSnapshots)({ driver, ...snapshotOptions, logger });
|
|
137
142
|
}
|
|
138
143
|
else {
|
|
139
|
-
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.
|
|
144
|
+
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.eyesServer, driver, logger });
|
|
140
145
|
snapshots = (await nmlClient.takeSnapshots({ ...snapshotOptions, logger }));
|
|
141
146
|
}
|
|
142
147
|
await currentContext.focus();
|
|
@@ -165,31 +170,30 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogg
|
|
|
165
170
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
166
171
|
}
|
|
167
172
|
const { cookies, ...snapshot } = snapshots[index];
|
|
168
|
-
|
|
173
|
+
if (utils.types.has(renderer, 'iosDeviceInfo') || utils.types.has(renderer, 'androidDeviceInfo')) {
|
|
174
|
+
renderer.type = utils.types.has(snapshot, 'cdt') ? 'web' : 'native';
|
|
175
|
+
}
|
|
169
176
|
const renderTargetPromise = ufgClient.createRenderTarget({
|
|
170
177
|
snapshot,
|
|
171
178
|
settings: {
|
|
172
179
|
renderer,
|
|
173
180
|
referer: snapshotUrl,
|
|
174
181
|
cookies,
|
|
175
|
-
proxy: eyes.test.
|
|
182
|
+
proxy: eyes.test.eyesServer.proxy,
|
|
176
183
|
autProxy: settings.autProxy,
|
|
177
184
|
userAgent,
|
|
178
185
|
},
|
|
179
186
|
logger: rendererLogger,
|
|
180
187
|
});
|
|
181
|
-
const [baseEyes] = await eyes.getBaseEyes({
|
|
182
|
-
settings: { renderer, type: snapshotType, properties },
|
|
183
|
-
logger: rendererLogger,
|
|
184
|
-
});
|
|
188
|
+
const [baseEyes] = await eyes.getBaseEyes({ settings: { renderer, properties }, logger: rendererLogger });
|
|
185
189
|
try {
|
|
186
190
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
187
191
|
rendererLogger.warn('Command "check" was aborted before rendering');
|
|
188
192
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
189
193
|
}
|
|
190
194
|
else if (!baseEyes.running) {
|
|
191
|
-
rendererLogger.warn(`
|
|
192
|
-
throw new abort_error_1.AbortError(`
|
|
195
|
+
rendererLogger.warn(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
196
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
193
197
|
}
|
|
194
198
|
const renderTarget = await renderTargetPromise;
|
|
195
199
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
@@ -197,8 +201,8 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogg
|
|
|
197
201
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
198
202
|
}
|
|
199
203
|
else if (!baseEyes.running) {
|
|
200
|
-
rendererLogger.warn(`
|
|
201
|
-
throw new abort_error_1.AbortError(`
|
|
204
|
+
rendererLogger.warn(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
205
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
202
206
|
}
|
|
203
207
|
const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
|
|
204
208
|
target: renderTarget,
|
|
@@ -208,10 +212,10 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogg
|
|
|
208
212
|
scrollRootElement: scrollRootSelector,
|
|
209
213
|
selectorsToCalculate: selectorsToCalculate.flatMap(({ safeSelector }) => safeSelector !== null && safeSelector !== void 0 ? safeSelector : []),
|
|
210
214
|
includeFullPageSize: Boolean(settings.pageId),
|
|
211
|
-
type: snapshotType,
|
|
212
215
|
renderer,
|
|
213
|
-
|
|
214
|
-
|
|
216
|
+
renderEnvironmentId: baseEyes.test.renderEnvironmentId,
|
|
217
|
+
uploadUrl: baseEyes.test.uploadUrl,
|
|
218
|
+
stitchingServiceUrl: baseEyes.test.stitchingServiceUrl,
|
|
215
219
|
},
|
|
216
220
|
signal,
|
|
217
221
|
logger: rendererLogger,
|
|
@@ -231,22 +235,22 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogg
|
|
|
231
235
|
throw new abort_error_1.AbortError('Command "check" was aborted after rendering');
|
|
232
236
|
}
|
|
233
237
|
else if (!baseEyes.running) {
|
|
234
|
-
rendererLogger.warn(`
|
|
235
|
-
throw new abort_error_1.AbortError(`
|
|
238
|
+
rendererLogger.warn(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
239
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
236
240
|
}
|
|
237
|
-
|
|
241
|
+
await baseEyes.check({
|
|
238
242
|
target: { ...baseTarget, isTransformed: true },
|
|
239
243
|
settings: baseSettings,
|
|
240
244
|
logger: rendererLogger,
|
|
241
245
|
});
|
|
242
246
|
if (!baseEyes.running) {
|
|
243
|
-
rendererLogger.warn(`
|
|
244
|
-
throw new abort_error_1.AbortError(`
|
|
247
|
+
rendererLogger.warn(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
248
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" was aborted during one of the previous steps`);
|
|
245
249
|
}
|
|
246
|
-
return {
|
|
250
|
+
return { eyes: baseEyes, renderer };
|
|
247
251
|
}
|
|
248
252
|
catch (error) {
|
|
249
|
-
rendererLogger.error(`
|
|
253
|
+
rendererLogger.error(`Render on environment with id "${baseEyes.test.renderEnvironmentId}" failed due to an error`, error);
|
|
250
254
|
if (baseEyes.running && !(signal === null || signal === void 0 ? void 0 : signal.aborted))
|
|
251
255
|
await baseEyes.abort({ logger: rendererLogger });
|
|
252
256
|
error.info = { eyes: baseEyes };
|
|
@@ -259,12 +263,12 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogg
|
|
|
259
263
|
throw error;
|
|
260
264
|
}
|
|
261
265
|
});
|
|
262
|
-
return uniqueRenderers.map((renderer, index) =>
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
})
|
|
266
|
+
return uniqueRenderers.map((renderer, index) => {
|
|
267
|
+
var _a;
|
|
268
|
+
const key = JSON.stringify(renderer);
|
|
269
|
+
storage.set(key, [...((_a = storage.get(key)) !== null && _a !== void 0 ? _a : []), promises[index]]);
|
|
270
|
+
return { asExpected: true, userTestId: eyes.test.userTestId, renderer };
|
|
271
|
+
});
|
|
268
272
|
};
|
|
269
273
|
}
|
|
270
274
|
exports.makeCheck = makeCheck;
|
|
@@ -26,28 +26,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.makeGetBaseEyes = void 0;
|
|
27
27
|
const utils = __importStar(require("@applitools/utils"));
|
|
28
28
|
function makeGetBaseEyes({ settings: defaultSettings, eyes, base, logger: mainLogger, }) {
|
|
29
|
-
const getBaseEyesWithCache = utils.general.cachify(getBaseEyes, ([options]) => options === null || options === void 0 ? void 0 : options.settings);
|
|
29
|
+
const getBaseEyesWithCache = utils.general.cachify(getBaseEyes, ([options]) => { var _a; return (_a = options === null || options === void 0 ? void 0 : options.settings) === null || _a === void 0 ? void 0 : _a.renderer; });
|
|
30
30
|
if (base) {
|
|
31
|
-
base.forEach(baseEyes => getBaseEyesWithCache.setCachedValue(baseEyes.test.
|
|
31
|
+
base.forEach(baseEyes => getBaseEyesWithCache.setCachedValue(baseEyes.test.renderer, Promise.resolve([baseEyes])));
|
|
32
32
|
}
|
|
33
33
|
return getBaseEyesWithCache;
|
|
34
34
|
async function getBaseEyes({ settings, logger = mainLogger, } = {}) {
|
|
35
|
-
var _a, _b;
|
|
36
35
|
logger = logger.extend(mainLogger);
|
|
37
36
|
logger.log(`Command "getBaseEyes" is called with settings`, settings);
|
|
38
37
|
if (!settings)
|
|
39
38
|
throw new Error('');
|
|
40
39
|
const ufgClient = await eyes.core.getUFGClient({
|
|
41
|
-
|
|
40
|
+
settings: {
|
|
41
|
+
...eyes.test.ufgServer,
|
|
42
|
+
eyesServerUrl: eyes.test.eyesServer.eyesServerUrl,
|
|
43
|
+
apiKey: eyes.test.eyesServer.apiKey,
|
|
44
|
+
},
|
|
42
45
|
logger,
|
|
43
46
|
});
|
|
44
|
-
const environment = await ufgClient.
|
|
45
|
-
|
|
46
|
-
if (defaultSettings.properties || settings.properties) {
|
|
47
|
-
properties = ((_a = defaultSettings.properties) !== null && _a !== void 0 ? _a : []).concat((_b = settings.properties) !== null && _b !== void 0 ? _b : []);
|
|
48
|
-
}
|
|
47
|
+
const environment = await ufgClient.getRenderEnvironment({ settings, logger });
|
|
48
|
+
environment.properties = settings.properties;
|
|
49
49
|
const baseEyes = await eyes.core.base.openEyes({
|
|
50
|
-
settings: { ...defaultSettings, environment: { ...defaultSettings.environment, ...environment }
|
|
50
|
+
settings: { ...defaultSettings, environment: { ...defaultSettings.environment, ...environment } },
|
|
51
51
|
logger,
|
|
52
52
|
});
|
|
53
53
|
return [baseEyes];
|
|
@@ -29,13 +29,19 @@ const utils = __importStar(require("@applitools/utils"));
|
|
|
29
29
|
function makeGetUFGClient({ client, fetchConcurrency, logger: mainLogger }) {
|
|
30
30
|
// we are caching by the server config, therefor if the user creates another Runner / manager with the same server config but different
|
|
31
31
|
// fetchConcurrency, it will not take any affect.
|
|
32
|
-
const getUFGClientWithCache = utils.general.cachify(getUFGClient, ([options]) => client ? 'default' : [{ ...options.
|
|
32
|
+
const getUFGClientWithCache = utils.general.cachify(getUFGClient, ([options]) => client ? 'default' : [{ ...options.settings, fetchConcurrency: undefined }]);
|
|
33
33
|
if (client)
|
|
34
34
|
getUFGClientWithCache.setCachedValue('default', Promise.resolve(client));
|
|
35
35
|
return getUFGClientWithCache;
|
|
36
|
-
async function getUFGClient({
|
|
36
|
+
async function getUFGClient({ settings, logger = mainLogger }) {
|
|
37
37
|
logger = logger.extend(mainLogger);
|
|
38
|
-
|
|
38
|
+
const tunnelIds = utils.general.getEnvValue('FETCH_RESOURCE_FROM_TUNNEL', 'boolean')
|
|
39
|
+
? utils.general.getEnvValue('TUNNEL_IDS')
|
|
40
|
+
: undefined;
|
|
41
|
+
return (0, ufg_client_1.makeUFGClient)({
|
|
42
|
+
settings: { ...settings, fetchConcurrency, tunnelIds },
|
|
43
|
+
logger,
|
|
44
|
+
});
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
47
|
exports.makeGetUFGClient = makeGetUFGClient;
|
package/dist/ufg/open-eyes.js
CHANGED
|
@@ -64,8 +64,10 @@ function makeOpenEyes({ core, spec, logger: mainLogger }) {
|
|
|
64
64
|
userTestId: settings.userTestId,
|
|
65
65
|
batchId: (_a = settings.batch) === null || _a === void 0 ? void 0 : _a.id,
|
|
66
66
|
keepBatchOpen: settings.keepBatchOpen,
|
|
67
|
-
|
|
67
|
+
eyesServer: account.eyesServer,
|
|
68
68
|
ufgServer: account.ufgServer,
|
|
69
|
+
uploadUrl: account.uploadUrl,
|
|
70
|
+
stitchingServiceUrl: account.stitchingServiceUrl,
|
|
69
71
|
account,
|
|
70
72
|
},
|
|
71
73
|
get running() {
|
|
@@ -73,24 +75,8 @@ function makeOpenEyes({ core, spec, logger: mainLogger }) {
|
|
|
73
75
|
},
|
|
74
76
|
getBaseEyes: (0, get_base_eyes_1.makeGetBaseEyes)({ settings, eyes, base, logger }),
|
|
75
77
|
// check with indexing and storage
|
|
76
|
-
check:
|
|
77
|
-
|
|
78
|
-
results.forEach(result => {
|
|
79
|
-
var _a;
|
|
80
|
-
const key = JSON.stringify(result.renderer);
|
|
81
|
-
storage.set(key, [...((_a = storage.get(key)) !== null && _a !== void 0 ? _a : []), result.promise]);
|
|
82
|
-
});
|
|
83
|
-
return results;
|
|
84
|
-
}),
|
|
85
|
-
checkAndClose: utils.general.wrap((0, check_and_close_1.makeCheckAndClose)({ eyes, target: driver, spec, signal: controller.signal, logger }), async (checkAndClose, options = {}) => {
|
|
86
|
-
const results = await checkAndClose(options);
|
|
87
|
-
results.forEach(result => {
|
|
88
|
-
var _a;
|
|
89
|
-
const key = JSON.stringify(result.renderer);
|
|
90
|
-
storage.set(key, [...((_a = storage.get(key)) !== null && _a !== void 0 ? _a : []), { eyes: result.eyes, renderer: result.renderer }]);
|
|
91
|
-
});
|
|
92
|
-
return results;
|
|
93
|
-
}),
|
|
78
|
+
check: (0, check_1.makeCheck)({ eyes, storage, target: driver, spec, signal: controller.signal, logger }),
|
|
79
|
+
checkAndClose: (0, check_and_close_1.makeCheckAndClose)({ eyes, storage, target: driver, spec, signal: controller.signal, logger }),
|
|
94
80
|
close: utils.general.wrap((0, close_1.makeClose)({ storage, target: driver, logger }), async (close, options) => {
|
|
95
81
|
if (!running)
|
|
96
82
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/core",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.3",
|
|
4
4
|
"homepage": "https://applitools.com",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -68,42 +68,42 @@
|
|
|
68
68
|
]
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@applitools/core-base": "1.4.
|
|
71
|
+
"@applitools/core-base": "1.4.2",
|
|
72
72
|
"@applitools/dom-capture": "11.2.2",
|
|
73
73
|
"@applitools/dom-snapshot": "4.7.9",
|
|
74
|
-
"@applitools/driver": "1.13.
|
|
75
|
-
"@applitools/ec-client": "1.7.
|
|
76
|
-
"@applitools/logger": "2.0.
|
|
77
|
-
"@applitools/nml-client": "1.5.
|
|
78
|
-
"@applitools/req": "1.
|
|
79
|
-
"@applitools/screenshoter": "3.8.
|
|
80
|
-
"@applitools/snippets": "
|
|
81
|
-
"@applitools/socket": "1.1.
|
|
82
|
-
"@applitools/spec-driver-webdriver": "1.0.
|
|
83
|
-
"@applitools/ufg-client": "1.
|
|
84
|
-
"@applitools/utils": "
|
|
74
|
+
"@applitools/driver": "1.13.2",
|
|
75
|
+
"@applitools/ec-client": "1.7.2",
|
|
76
|
+
"@applitools/logger": "2.0.6",
|
|
77
|
+
"@applitools/nml-client": "1.5.4",
|
|
78
|
+
"@applitools/req": "1.5.1",
|
|
79
|
+
"@applitools/screenshoter": "3.8.5",
|
|
80
|
+
"@applitools/snippets": "",
|
|
81
|
+
"@applitools/socket": "1.1.6",
|
|
82
|
+
"@applitools/spec-driver-webdriver": "1.0.39",
|
|
83
|
+
"@applitools/ufg-client": "1.5.1",
|
|
84
|
+
"@applitools/utils": "",
|
|
85
85
|
"@types/ws": "8.5.5",
|
|
86
86
|
"abort-controller": "3.0.0",
|
|
87
87
|
"chalk": "4.1.2",
|
|
88
88
|
"node-fetch": "2.6.7",
|
|
89
89
|
"webdriver": "7.30.0",
|
|
90
|
-
"ws": "8.
|
|
91
|
-
"yargs": "
|
|
90
|
+
"ws": "8.13.0",
|
|
91
|
+
"yargs": "17.7.2"
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
|
-
"@applitools/bongo": "^5.
|
|
94
|
+
"@applitools/bongo": "^5.1.4",
|
|
95
95
|
"@applitools/sdk-coverage-tests": "^3.1.0",
|
|
96
|
-
"@applitools/spec-driver-puppeteer": "^1.1.
|
|
97
|
-
"@applitools/spec-driver-selenium": "^1.5.
|
|
98
|
-
"@applitools/spec-driver-webdriverio": "^1.5.
|
|
96
|
+
"@applitools/spec-driver-puppeteer": "^1.1.70",
|
|
97
|
+
"@applitools/spec-driver-selenium": "^1.5.53",
|
|
98
|
+
"@applitools/spec-driver-webdriverio": "^1.5.8",
|
|
99
99
|
"@applitools/test-server": "^1.2.2",
|
|
100
100
|
"@applitools/test-utils": "^1.5.17",
|
|
101
|
-
"@applitools/tunnel-client": "^1.1.
|
|
101
|
+
"@applitools/tunnel-client": "^1.1.2",
|
|
102
102
|
"@types/node": "^12.20.55",
|
|
103
103
|
"@types/selenium-webdriver": "^4.1.2",
|
|
104
104
|
"@types/yargs": "^17.0.22",
|
|
105
|
-
"chromedriver": "^114.0.
|
|
106
|
-
"nock": "^13.2
|
|
105
|
+
"chromedriver": "^114.0.3",
|
|
106
|
+
"nock": "^13.3.2",
|
|
107
107
|
"pkg": "^5.8.0",
|
|
108
108
|
"png-async": "^0.9.4",
|
|
109
109
|
"puppeteer": "^19.11.1",
|
|
@@ -58,7 +58,7 @@ export interface Eyes<TSpec extends SpecType> extends BaseCore.Eyes {
|
|
|
58
58
|
target?: Target<TSpec>;
|
|
59
59
|
settings?: CheckSettings<TSpec> & BaseCore.CloseSettings;
|
|
60
60
|
logger?: Logger;
|
|
61
|
-
}): Promise<
|
|
61
|
+
}): Promise<void>;
|
|
62
62
|
}
|
|
63
63
|
export interface ScreenshotSettings<TSpec extends SpecType> extends BaseCore.ImageSettings<Region | ElementReference<TSpec>> {
|
|
64
64
|
webview?: boolean | string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Target, DriverTarget, Eyes, Config, CheckSettings, CloseSettings
|
|
1
|
+
import type { Target, DriverTarget, Eyes, Config, CheckSettings, CloseSettings } from './types';
|
|
2
2
|
import { type Logger } from '@applitools/logger';
|
|
3
3
|
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
4
4
|
type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
|
|
@@ -14,5 +14,5 @@ export declare function makeCheckAndClose<TSpec extends SpecType, TDefaultType e
|
|
|
14
14
|
settings?: (CheckSettings<TSpec, TDefaultType> & CloseSettings<TDefaultType> & CheckSettings<TSpec, TType> & CloseSettings<TType>) | undefined;
|
|
15
15
|
config?: (Config<TSpec, TDefaultType> & Config<TSpec, TType>) | undefined;
|
|
16
16
|
logger?: Logger | undefined;
|
|
17
|
-
}) => Promise<
|
|
17
|
+
}) => Promise<void>;
|
|
18
18
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Target, DriverTarget, Eyes, CheckSettings, CloseSettings
|
|
1
|
+
import type { Target, DriverTarget, Eyes, CheckSettings, CloseSettings } from './types';
|
|
2
2
|
import type { CheckSettings as BaseCheckSettings } from '@applitools/core-base';
|
|
3
3
|
import { type Logger } from '@applitools/logger';
|
|
4
4
|
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
@@ -15,5 +15,5 @@ export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, target
|
|
|
15
15
|
retryTimeout?: number | undefined;
|
|
16
16
|
} & CloseSettings) | undefined;
|
|
17
17
|
logger?: Logger | undefined;
|
|
18
|
-
}) => Promise<
|
|
18
|
+
}) => Promise<void>;
|
|
19
19
|
export {};
|
package/types/classic/types.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export interface Eyes<TSpec extends SpecType> extends AutomationCore.Eyes<TSpec>
|
|
|
24
24
|
target?: AutomationCore.Target<TSpec>;
|
|
25
25
|
settings?: CheckSettings<TSpec> & AutomationCore.CloseSettings;
|
|
26
26
|
logger?: Logger;
|
|
27
|
-
}): Promise<
|
|
27
|
+
}): Promise<void>;
|
|
28
28
|
}
|
|
29
29
|
export type OpenSettings = AutomationCore.OpenSettings & {
|
|
30
30
|
keepPlatformNameAsIs?: boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Core, Account, EyesServerSettings } from './types';
|
|
2
|
+
import { type Logger } from '@applitools/logger';
|
|
3
|
+
type Options = {
|
|
4
|
+
core: Core<any>;
|
|
5
|
+
logger: Logger;
|
|
6
|
+
};
|
|
7
|
+
export declare function makeGetAccountInfo({ core, logger: mainLogger }: Options): ({ settings, logger, }: {
|
|
8
|
+
settings: EyesServerSettings;
|
|
9
|
+
logger?: Logger | undefined;
|
|
10
|
+
}) => Promise<Account>;
|
|
11
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DriverTarget, TypedCore, TypedEyes, OpenSettings } from './types';
|
|
2
2
|
import { type SpecType } from '@applitools/driver';
|
|
3
|
-
import { type
|
|
3
|
+
import { type RenderEnvironmentSettings } from '@applitools/ufg-client';
|
|
4
4
|
import { type Logger } from '@applitools/logger';
|
|
5
5
|
type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
|
|
6
6
|
type: TType;
|
|
@@ -13,7 +13,7 @@ type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
|
|
|
13
13
|
};
|
|
14
14
|
export declare function makeGetTypedEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'>({ type: defaultType, settings: defaultSettings, target, cores, logger: mainLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings, logger, }?: {
|
|
15
15
|
type?: TType | undefined;
|
|
16
|
-
settings?:
|
|
16
|
+
settings?: RenderEnvironmentSettings[] | undefined;
|
|
17
17
|
logger?: Logger | undefined;
|
|
18
18
|
}) => Promise<TypedEyes<TSpec, TType>>;
|
|
19
19
|
export {};
|
package/types/types.d.ts
CHANGED
|
@@ -80,7 +80,7 @@ export interface Eyes<TSpec extends SpecType, TDefaultType extends 'classic' | '
|
|
|
80
80
|
settings?: Partial<CheckSettings<TSpec, TDefaultType> & CloseSettings<TDefaultType> & CheckSettings<TSpec, TType> & CloseSettings<TType>>;
|
|
81
81
|
config?: Config<TSpec, TDefaultType> & Config<TSpec, TType>;
|
|
82
82
|
logger?: Logger;
|
|
83
|
-
}): Promise<
|
|
83
|
+
}): Promise<void>;
|
|
84
84
|
close(options?: {
|
|
85
85
|
settings?: Partial<CloseSettings<TDefaultType>>;
|
|
86
86
|
config?: Config<TSpec, TDefaultType>;
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
import type { Region } from '@applitools/utils';
|
|
2
|
-
import type { DriverTarget, Target, Eyes, CheckSettings,
|
|
2
|
+
import type { DriverTarget, Target, Eyes, CheckSettings, CloseSettings } from './types';
|
|
3
|
+
import type { Eyes as BaseEyes } from '@applitools/core-base';
|
|
4
|
+
import { type Renderer } from '@applitools/ufg-client';
|
|
3
5
|
import { type AbortSignal } from 'abort-controller';
|
|
4
6
|
import { type Logger } from '@applitools/logger';
|
|
5
7
|
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
6
8
|
type Options<TSpec extends SpecType> = {
|
|
7
9
|
eyes: Eyes<TSpec>;
|
|
10
|
+
storage: Map<string, Promise<{
|
|
11
|
+
renderer: Renderer;
|
|
12
|
+
eyes: BaseEyes;
|
|
13
|
+
}>[]>;
|
|
8
14
|
target?: DriverTarget<TSpec>;
|
|
9
15
|
spec?: SpecDriver<TSpec>;
|
|
10
16
|
signal?: AbortSignal;
|
|
11
17
|
logger: Logger;
|
|
12
18
|
};
|
|
13
|
-
export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, target: defaultTarget, spec, signal, logger: mainLogger, }: Options<TSpec>): ({ target, settings, logger, }
|
|
19
|
+
export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, storage, target: defaultTarget, spec, signal, logger: mainLogger, }: Options<TSpec>): ({ target, settings, logger, }?: {
|
|
14
20
|
target?: Target<TSpec> | undefined;
|
|
15
21
|
settings?: (import("@applitools/core-base").CheckSettings<Region | import("@applitools/driver").ElementReference<TSpec>> & import("./types").ScreenshotSettings<TSpec> & {
|
|
16
|
-
renderers?: (
|
|
17
|
-
properties?: import("@applitools/core-base
|
|
22
|
+
renderers?: (Renderer & {
|
|
23
|
+
properties?: import("@applitools/core-base").CustomProperty[] | undefined;
|
|
18
24
|
})[] | undefined;
|
|
19
25
|
hooks?: {
|
|
20
26
|
beforeCaptureScreenshot: string;
|
|
@@ -31,5 +37,5 @@ export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, target
|
|
|
31
37
|
}) | undefined;
|
|
32
38
|
} & CloseSettings) | undefined;
|
|
33
39
|
logger?: Logger | undefined;
|
|
34
|
-
}) => Promise<
|
|
40
|
+
}) => Promise<void>;
|
|
35
41
|
export {};
|
package/types/ufg/check.d.ts
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import type { DriverTarget, Target, Eyes, CheckSettings, CheckResult } from './types';
|
|
2
|
+
import type { Eyes as BaseEyes } from '@applitools/core-base';
|
|
3
|
+
import { type Renderer } from '@applitools/ufg-client';
|
|
2
4
|
import { type AbortSignal } from 'abort-controller';
|
|
3
5
|
import { type Logger } from '@applitools/logger';
|
|
4
6
|
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
5
7
|
type Options<TSpec extends SpecType> = {
|
|
6
8
|
eyes: Eyes<TSpec>;
|
|
9
|
+
storage: Map<string, Promise<{
|
|
10
|
+
renderer: Renderer;
|
|
11
|
+
eyes: BaseEyes;
|
|
12
|
+
}>[]>;
|
|
7
13
|
target?: DriverTarget<TSpec>;
|
|
8
14
|
spec?: SpecDriver<TSpec>;
|
|
9
15
|
signal?: AbortSignal;
|
|
10
16
|
logger: Logger;
|
|
11
17
|
};
|
|
12
|
-
export declare function makeCheck<TSpec extends SpecType>({ eyes, target: defaultTarget, spec, signal, logger: mainLogger, }: Options<TSpec>): ({ target, settings, logger, }
|
|
18
|
+
export declare function makeCheck<TSpec extends SpecType>({ eyes, storage, target: defaultTarget, spec, signal, logger: mainLogger, }: Options<TSpec>): ({ target, settings, logger, }?: {
|
|
13
19
|
settings?: CheckSettings<TSpec> | undefined;
|
|
14
20
|
target?: Target<TSpec> | undefined;
|
|
15
21
|
logger?: Logger | undefined;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type Logger } from '@applitools/logger';
|
|
2
|
-
import { type UFGClient, type
|
|
2
|
+
import { type UFGClient, type UFGClientSettings } from '@applitools/ufg-client';
|
|
3
3
|
type Options = {
|
|
4
4
|
client?: UFGClient;
|
|
5
|
-
logger: Logger;
|
|
6
5
|
fetchConcurrency?: number;
|
|
6
|
+
logger: Logger;
|
|
7
7
|
};
|
|
8
|
-
export declare function makeGetUFGClient({ client, fetchConcurrency, logger: mainLogger }: Options): (({
|
|
9
|
-
|
|
8
|
+
export declare function makeGetUFGClient({ client, fetchConcurrency, logger: mainLogger }: Options): (({ settings, logger }: {
|
|
9
|
+
settings: UFGClientSettings;
|
|
10
10
|
logger?: Logger | undefined;
|
|
11
11
|
}) => Promise<UFGClient>) & {
|
|
12
12
|
getCachedValues(): Promise<UFGClient>[];
|
package/types/ufg/types.d.ts
CHANGED
|
@@ -4,18 +4,14 @@ import type * as AutomationCore from '../automation/types';
|
|
|
4
4
|
import { type SpecType } from '@applitools/driver';
|
|
5
5
|
import { type Logger } from '@applitools/logger';
|
|
6
6
|
import { type Proxy } from '@applitools/req';
|
|
7
|
-
import { type UFGClient, type
|
|
7
|
+
import { type UFGClient, type UFGClientSettings, type RenderEnvironmentSettings, type Renderer, type DomSnapshot, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
|
|
8
8
|
export * from '../automation/types';
|
|
9
9
|
export type SnapshotTarget = MaybeArray<DomSnapshot> | MaybeArray<AndroidSnapshot> | MaybeArray<IOSSnapshot>;
|
|
10
10
|
export type Target<TSpec extends SpecType> = SnapshotTarget | AutomationCore.Target<TSpec>;
|
|
11
|
-
export type GetBaseEyesSettings = RendererSettings & {
|
|
12
|
-
properties?: BaseCore.CustomProperty[];
|
|
13
|
-
};
|
|
14
11
|
export interface Core<TSpec extends SpecType> extends AutomationCore.Core<TSpec> {
|
|
15
12
|
readonly type: 'ufg';
|
|
16
13
|
getUFGClient(options?: {
|
|
17
|
-
|
|
18
|
-
concurrency?: number;
|
|
14
|
+
settings: UFGClientSettings;
|
|
19
15
|
logger?: Logger;
|
|
20
16
|
}): Promise<UFGClient>;
|
|
21
17
|
openEyes(options: {
|
|
@@ -41,12 +37,15 @@ export interface Eyes<TSpec extends SpecType> extends AutomationCore.Eyes<TSpec>
|
|
|
41
37
|
target?: Target<TSpec>;
|
|
42
38
|
settings?: CheckSettings<TSpec> & AutomationCore.CloseSettings;
|
|
43
39
|
logger?: Logger;
|
|
44
|
-
}): Promise<
|
|
40
|
+
}): Promise<void>;
|
|
45
41
|
getResults(options?: {
|
|
46
42
|
settings?: AutomationCore.GetResultsSettings;
|
|
47
43
|
logger?: Logger;
|
|
48
44
|
}): Promise<TestResult[]>;
|
|
49
45
|
}
|
|
46
|
+
export type GetBaseEyesSettings = RenderEnvironmentSettings & {
|
|
47
|
+
properties?: BaseCore.CustomProperty[];
|
|
48
|
+
};
|
|
50
49
|
export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings<TSpec> & {
|
|
51
50
|
renderers?: (Renderer & {
|
|
52
51
|
properties?: BaseCore.CustomProperty[];
|
|
@@ -67,12 +66,7 @@ export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings
|
|
|
67
66
|
};
|
|
68
67
|
export type CheckResult = AutomationCore.CheckResult & {
|
|
69
68
|
readonly renderer: Renderer;
|
|
70
|
-
readonly promise: Promise<Omit<CheckResult, 'promise'> & {
|
|
71
|
-
eyes: BaseCore.Eyes;
|
|
72
|
-
}>;
|
|
73
69
|
};
|
|
74
70
|
export type TestResult = AutomationCore.TestResult & {
|
|
75
71
|
readonly renderer: Renderer;
|
|
76
|
-
} & {
|
|
77
|
-
eyes: BaseCore.Eyes;
|
|
78
72
|
};
|