@applitools/core 2.5.2 → 2.5.3-legacy
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/abort.js +40 -0
- package/dist/automation/abort.js +47 -0
- package/dist/automation/close.js +52 -0
- package/dist/automation/extract-text.js +3 -2
- package/dist/automation/get-nml-client.js +36 -0
- package/dist/automation/get-results.js +21 -0
- package/dist/automation/get-viewport-size.js +3 -2
- package/dist/automation/locate-text.js +3 -2
- package/dist/automation/locate.js +3 -2
- package/dist/automation/set-viewport-size.js +3 -2
- package/dist/automation/types.js +0 -15
- package/dist/automation/utils/report-kobiton.js +21 -0
- package/dist/automation/utils/take-screenshot.js +4 -2
- package/dist/automation/utils/to-base-check-settings.js +69 -7
- package/dist/automation/utils/to-environment-key.js +31 -0
- package/dist/automation/utils/uniquify-environments.js +27 -0
- package/dist/automation/utils/wait-for-lazy-load.js +9 -8
- package/dist/autonomous/core.js +25 -0
- package/dist/autonomous/create-render-results.js +49 -0
- package/dist/autonomous/create-render-target.js +19 -0
- package/dist/autonomous/get-render-results.js +55 -0
- package/dist/autonomous/open-eyes.js +13 -0
- package/dist/autonomous/start-renders.js +67 -0
- package/dist/autonomous/take-snapshots.js +16 -0
- package/dist/autonomous/types.js +17 -0
- package/dist/check-and-close.js +32 -15
- package/dist/check.js +33 -30
- package/dist/classic/check-and-close.js +189 -46
- package/dist/classic/check.js +319 -60
- package/dist/classic/core.js +6 -5
- package/dist/classic/get-base-eyes.js +27 -7
- package/dist/classic/open-eyes.js +47 -57
- package/dist/classic/utils/extract-default-environments.js +73 -0
- package/dist/classic/utils/take-dom-capture.js +2 -1
- package/dist/classic/utils/take-screenshots.js +63 -0
- package/dist/cli/cli.js +99 -3
- package/dist/close-batch.js +8 -7
- package/dist/close.js +32 -4
- package/dist/core.js +43 -9
- package/dist/delete-test.js +9 -7
- package/dist/extract-text.js +9 -5
- package/dist/get-account-info.js +36 -0
- package/dist/get-ec-client.js +3 -2
- package/dist/get-eyes-results.js +29 -3
- package/dist/get-manager-results.js +52 -18
- package/dist/get-typed-eyes.js +5 -6
- package/dist/index.js +3 -3
- package/dist/lang.js +31 -0
- package/dist/locate-text.js +7 -5
- package/dist/locate.js +7 -5
- package/dist/make-manager.js +34 -11
- package/dist/offline/merge-configs.js +42 -0
- package/dist/offline/run-offline-snapshots.js +341 -0
- package/dist/open-eyes.js +192 -48
- package/dist/run-offline-snapshots.js +336 -0
- package/dist/troubleshoot/check-network.js +5 -1
- package/dist/troubleshoot/eyes.js +3 -3
- package/dist/troubleshoot/logs.js +76 -0
- package/dist/troubleshoot/ufg.js +23 -16
- package/dist/ufg/check-and-close.js +109 -174
- package/dist/ufg/check.js +111 -178
- package/dist/ufg/core.js +10 -8
- package/dist/ufg/create-render-target-from-snapshot.js +21 -0
- package/dist/ufg/get-base-eyes.js +40 -12
- package/dist/ufg/get-ufg-client.js +13 -4
- package/dist/ufg/open-eyes.js +33 -57
- package/dist/ufg/take-snapshots.js +92 -0
- package/dist/ufg/utils/extract-default-environment.js +22 -0
- package/dist/ufg/utils/generate-safe-selectors.js +9 -32
- package/dist/ufg/utils/take-dom-snapshot.js +61 -26
- package/dist/ufg/utils/take-dom-snapshots.js +99 -68
- package/dist/ufg/utils/to-generated-selectors.js +67 -0
- package/dist/ufg/utils/to-safe-check-settings.js +69 -0
- package/dist/universal/core-server.js +53 -22
- package/dist/universal/core.js +23 -6
- package/dist/universal/history.js +9 -0
- package/dist/universal/spec-driver.js +46 -50
- package/dist/{ufg/get-nml-client.js → utils/ensure-offline-folder.js} +14 -13
- package/dist/utils/extract-branching-timestamp.js +56 -0
- package/dist/utils/extract-current-commit.js +72 -0
- package/dist/utils/extract-git-info.js +168 -0
- package/dist/utils/extract-start-info.js +100 -0
- package/dist/utils/extract-test-environment.js +70 -0
- package/dist/utils/memory-usage-logging.js +46 -0
- package/dist/utils/populate-eyes-server-settings.js +41 -0
- package/dist/utils/validate-sdk-version.js +89 -0
- package/package.json +3 -3
- package/types/abort.d.ts +13 -0
- package/types/automation/abort.d.ts +16 -0
- package/types/automation/close.d.ts +14 -0
- package/types/automation/extract-text.d.ts +1 -1
- package/types/automation/get-nml-client.d.ts +16 -0
- package/types/automation/get-results.d.ts +11 -0
- package/types/automation/get-viewport-size.d.ts +1 -1
- package/types/automation/locate-text.d.ts +1 -1
- package/types/automation/locate.d.ts +1 -1
- package/types/automation/set-viewport-size.d.ts +1 -1
- package/types/automation/types.d.ts +107 -16
- package/types/automation/utils/report-kobiton.d.ts +12 -0
- package/types/automation/utils/take-screenshot.d.ts +5 -2
- package/types/automation/utils/to-base-check-settings.d.ts +13 -3
- package/types/automation/utils/to-environment-key.d.ts +2 -0
- package/types/automation/utils/uniquify-environments.d.ts +2 -0
- package/types/automation/utils/wait-for-lazy-load.d.ts +4 -8
- package/types/autonomous/core.d.ts +19 -0
- package/types/autonomous/create-render-results.d.ts +10 -0
- package/types/autonomous/create-render-target.d.ts +12 -0
- package/types/autonomous/get-render-results.d.ts +12 -0
- package/types/autonomous/open-eyes.d.ts +13 -0
- package/types/autonomous/start-renders.d.ts +12 -0
- package/types/autonomous/take-snapshots.d.ts +15 -0
- package/types/autonomous/types.d.ts +57 -0
- package/types/check-and-close.d.ts +3 -3
- package/types/check.d.ts +3 -3
- package/types/classic/check-and-close.d.ts +12 -5
- package/types/classic/check.d.ts +6 -3
- package/types/classic/core.d.ts +8 -2
- package/types/classic/get-base-eyes.d.ts +4 -8
- package/types/classic/open-eyes.d.ts +3 -4
- package/types/classic/types.d.ts +4 -5
- package/types/classic/utils/extract-default-environments.d.ts +9 -0
- package/types/classic/utils/take-dom-capture.d.ts +8 -0
- package/types/classic/utils/take-screenshots.d.ts +18 -0
- package/types/close-batch.d.ts +1 -1
- package/types/close.d.ts +3 -2
- package/types/core.d.ts +11 -2
- package/types/delete-test.d.ts +1 -1
- package/types/extract-text.d.ts +1 -1
- package/types/get-account-info.d.ts +11 -0
- package/types/get-ec-client.d.ts +1 -1
- package/types/get-eyes-results.d.ts +1 -1
- package/types/get-manager-results.d.ts +1 -1
- package/types/get-typed-eyes.d.ts +2 -4
- package/types/index.d.ts +2 -1
- package/types/lang.d.ts +32 -0
- package/types/locate-text.d.ts +1 -1
- package/types/locate.d.ts +1 -1
- package/types/make-manager.d.ts +11 -2
- package/types/offline/merge-configs.d.ts +1 -0
- package/types/offline/run-offline-snapshots.d.ts +11 -0
- package/types/open-eyes.d.ts +11 -2
- package/types/run-offline-snapshots.d.ts +6 -0
- package/types/troubleshoot/logs.d.ts +25 -0
- package/types/types.d.ts +19 -11
- package/types/ufg/check-and-close.d.ts +18 -10
- package/types/ufg/check.d.ts +5 -4
- package/types/ufg/core.d.ts +8 -5
- package/types/ufg/create-render-target-from-snapshot.d.ts +8 -0
- package/types/ufg/get-base-eyes.d.ts +4 -9
- package/types/ufg/get-ufg-client.d.ts +6 -3
- package/types/ufg/open-eyes.d.ts +3 -4
- package/types/ufg/take-snapshots.d.ts +17 -0
- package/types/ufg/types.d.ts +39 -39
- package/types/ufg/utils/extract-default-environment.d.ts +5 -0
- package/types/ufg/utils/generate-safe-selectors.d.ts +3 -12
- package/types/ufg/utils/take-dom-snapshot.d.ts +16 -21
- package/types/ufg/utils/take-dom-snapshots.d.ts +14 -10
- package/types/ufg/utils/to-generated-selectors.d.ts +34 -0
- package/types/ufg/utils/to-safe-check-settings.d.ts +22 -0
- package/types/universal/core-server.d.ts +6 -2
- package/types/universal/core.d.ts +6 -2
- package/types/universal/spec-driver.d.ts +6 -5
- package/types/universal/types.d.ts +59 -51
- package/types/utils/ensure-offline-folder.d.ts +1 -0
- package/types/utils/extract-branching-timestamp.d.ts +16 -0
- package/types/utils/extract-current-commit.d.ts +24 -0
- package/types/utils/extract-git-info.d.ts +59 -0
- package/types/utils/extract-start-info.d.ts +29 -0
- package/types/utils/extract-test-environment.d.ts +2 -0
- package/types/utils/memory-usage-logging.d.ts +7 -0
- package/types/utils/populate-eyes-server-settings.d.ts +2 -0
- package/types/utils/validate-sdk-version.d.ts +42 -0
- package/CHANGELOG.md +0 -222
- package/dist/classic/abort.js +0 -22
- package/dist/classic/close.js +0 -22
- package/dist/ufg/abort.js +0 -32
- package/dist/ufg/close.js +0 -37
- package/dist/ufg/get-results.js +0 -27
- package/dist/ufg/utils/take-vhses.js +0 -153
- package/dist/ufg/utils/uniquify-renderers.js +0 -27
- package/dist/utils/extract-ci-provider.js +0 -31
- package/types/classic/abort.d.ts +0 -16
- package/types/classic/close.d.ts +0 -16
- package/types/ufg/abort.d.ts +0 -21
- package/types/ufg/close.d.ts +0 -19
- package/types/ufg/get-nml-client.d.ts +0 -17
- package/types/ufg/get-results.d.ts +0 -16
- package/types/ufg/utils/take-vhses.d.ts +0 -17
- package/types/ufg/utils/uniquify-renderers.d.ts +0 -2
- package/types/utils/extract-ci-provider.d.ts +0 -1
|
@@ -28,239 +28,174 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.makeCheckAndClose = void 0;
|
|
30
30
|
const driver_1 = require("@applitools/driver");
|
|
31
|
-
const take_dom_snapshots_1 = require("./utils/take-dom-snapshots");
|
|
32
|
-
const take_vhses_1 = require("./utils/take-vhses");
|
|
33
|
-
const wait_for_lazy_load_1 = require("../automation/utils/wait-for-lazy-load");
|
|
34
31
|
const to_base_check_settings_1 = require("../automation/utils/to-base-check-settings");
|
|
35
|
-
const
|
|
36
|
-
const
|
|
32
|
+
const uniquify_environments_1 = require("../automation/utils/uniquify-environments");
|
|
33
|
+
const to_environment_key_1 = require("../automation/utils/to-environment-key");
|
|
37
34
|
const abort_error_1 = require("../errors/abort-error");
|
|
38
35
|
const utils = __importStar(require("@applitools/utils"));
|
|
36
|
+
const lang = __importStar(require("../lang"));
|
|
39
37
|
const chalk_1 = __importDefault(require("chalk"));
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
const take_snapshots_1 = require("./take-snapshots");
|
|
39
|
+
const create_render_target_from_snapshot_1 = require("./create-render-target-from-snapshot");
|
|
40
|
+
function makeCheckAndClose({ eyes, target: defaultTarget, environments: defaultEnvironments = [], spec, signal, logger: mainLogger, }) {
|
|
41
|
+
return async function checkAndClose({ target = defaultTarget, settings = {}, logger = mainLogger, } = {}) {
|
|
42
|
+
var _a;
|
|
43
|
+
logger = logger.extend(mainLogger);
|
|
43
44
|
logger.log('Command "checkAndClose" is called with settings', settings);
|
|
44
45
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
45
46
|
logger.warn('Command "checkAndClose" was called after test was already aborted');
|
|
46
47
|
throw new abort_error_1.AbortError('Command "checkAndClose" was called after test was already aborted');
|
|
47
48
|
}
|
|
48
|
-
const
|
|
49
|
-
settings,
|
|
50
|
-
});
|
|
51
|
-
const uniqueRenderers = (0, uniquify_renderers_1.uniquifyRenderers)((_a = settings.renderers) !== null && _a !== void 0 ? _a : []);
|
|
49
|
+
const uniqueEnvironments = (0, uniquify_environments_1.uniquifyEnvironments)((_a = settings.environments) !== null && _a !== void 0 ? _a : defaultEnvironments);
|
|
52
50
|
const ufgClient = await eyes.core.getUFGClient({
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
settings: {
|
|
52
|
+
...eyes.test.ufgServer,
|
|
53
|
+
eyesServerUrl: eyes.test.eyesServer.eyesServerUrl,
|
|
54
|
+
apiKey: eyes.test.eyesServer.apiKey,
|
|
55
|
+
},
|
|
55
56
|
logger,
|
|
56
57
|
});
|
|
57
58
|
let snapshots;
|
|
58
|
-
let
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (environment.isWeb) {
|
|
69
|
-
const viewportSize = await driver.getViewportSize();
|
|
70
|
-
uniqueRenderers.push({ name: 'chrome', ...viewportSize });
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
// TODO add default nmg renderers
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
let cleanupGeneratedSelectors;
|
|
77
|
-
if (environment.isWeb) {
|
|
78
|
-
userAgent = (_b = (await driver.getUserAgentLegacy())) !== null && _b !== void 0 ? _b : undefined;
|
|
79
|
-
const generated = await (0, generate_safe_selectors_1.generateSafeSelectors)({
|
|
80
|
-
context: driver.currentContext,
|
|
81
|
-
elementReferences: [
|
|
82
|
-
...(elementReferenceToTarget ? [elementReferenceToTarget] : []),
|
|
83
|
-
...(settings.scrollRootElement ? [settings.scrollRootElement] : []),
|
|
84
|
-
...elementReferencesToCalculate,
|
|
85
|
-
],
|
|
86
|
-
});
|
|
87
|
-
cleanupGeneratedSelectors = generated.cleanupGeneratedSelectors;
|
|
88
|
-
selectorsToCalculate = generated.selectors;
|
|
89
|
-
if (elementReferenceToTarget) {
|
|
90
|
-
if (!((_c = selectorsToCalculate[0]) === null || _c === void 0 ? void 0 : _c.safeSelector))
|
|
91
|
-
throw new Error('Target element not found');
|
|
92
|
-
regionToTarget = selectorsToCalculate[0].safeSelector;
|
|
93
|
-
selectorsToCalculate = selectorsToCalculate.slice(1);
|
|
94
|
-
}
|
|
95
|
-
if (settings.scrollRootElement) {
|
|
96
|
-
scrollRootSelector = (_d = selectorsToCalculate[0].safeSelector) !== null && _d !== void 0 ? _d : undefined;
|
|
97
|
-
selectorsToCalculate = selectorsToCalculate.slice(1);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
regionToTarget = (0, driver_1.isSelector)(elementReferenceToTarget)
|
|
102
|
-
? (_f = (_e = spec === null || spec === void 0 ? void 0 : spec.untransformSelector) === null || _e === void 0 ? void 0 : _e.call(spec, settings.scrollRootElement)) !== null && _f !== void 0 ? _f : undefined
|
|
103
|
-
: undefined;
|
|
104
|
-
scrollRootSelector = (0, driver_1.isSelector)(settings.scrollRootElement)
|
|
105
|
-
? (_h = (_g = spec === null || spec === void 0 ? void 0 : spec.untransformSelector) === null || _g === void 0 ? void 0 : _g.call(spec, settings.scrollRootElement)) !== null && _h !== void 0 ? _h : undefined
|
|
106
|
-
: undefined;
|
|
107
|
-
}
|
|
108
|
-
const currentContext = driver.currentContext;
|
|
109
|
-
const snapshotOptions = {
|
|
110
|
-
settings: {
|
|
111
|
-
...eyes.test.server,
|
|
112
|
-
waitBeforeCapture: settings.waitBeforeCapture,
|
|
113
|
-
disableBrowserFetching: settings.disableBrowserFetching,
|
|
114
|
-
layoutBreakpoints: settings.layoutBreakpoints,
|
|
115
|
-
renderers: uniqueRenderers,
|
|
116
|
-
skipResources: ufgClient.getCachedResourceUrls(),
|
|
117
|
-
},
|
|
118
|
-
hooks: {
|
|
119
|
-
async beforeSnapshots() {
|
|
120
|
-
if (settings.lazyLoad && environment.isWeb) {
|
|
121
|
-
await (0, wait_for_lazy_load_1.waitForLazyLoad)({
|
|
122
|
-
context: driver.currentContext,
|
|
123
|
-
settings: settings.lazyLoad !== true ? settings.lazyLoad : {},
|
|
124
|
-
logger,
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
},
|
|
129
|
-
provides: {
|
|
130
|
-
getChromeEmulationDevices: ufgClient.getChromeEmulationDevices,
|
|
131
|
-
getIOSDevices: ufgClient.getIOSDevices,
|
|
132
|
-
},
|
|
133
|
-
};
|
|
134
|
-
if (environment.isWeb) {
|
|
135
|
-
snapshots = await (0, take_dom_snapshots_1.takeDomSnapshots)({ driver, ...snapshotOptions, logger });
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.server, driver, logger });
|
|
139
|
-
if (nmlClient) {
|
|
140
|
-
snapshots = (await nmlClient.takeSnapshots({ ...snapshotOptions, logger }));
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
snapshots = await (0, take_vhses_1.takeVHSes)({ driver, ...snapshotOptions, logger });
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
await currentContext.focus();
|
|
147
|
-
snapshotUrl = await driver.getUrl();
|
|
148
|
-
snapshotTitle = await driver.getTitle();
|
|
149
|
-
await (cleanupGeneratedSelectors === null || cleanupGeneratedSelectors === void 0 ? void 0 : cleanupGeneratedSelectors());
|
|
59
|
+
let driver;
|
|
60
|
+
if (spec && (0, driver_1.isDriver)(target, spec)) {
|
|
61
|
+
const takeSnapshots = (0, take_snapshots_1.makeTakeSnapshots)({ core: eyes.core, spec, signal, logger });
|
|
62
|
+
driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
|
|
63
|
+
snapshots = await takeSnapshots({
|
|
64
|
+
driver,
|
|
65
|
+
account: eyes.test.account,
|
|
66
|
+
settings: { ...settings, environments: uniqueEnvironments },
|
|
67
|
+
logger,
|
|
68
|
+
});
|
|
150
69
|
}
|
|
151
70
|
else {
|
|
152
|
-
|
|
153
|
-
|
|
71
|
+
// TODO (amit)
|
|
72
|
+
snapshots = !utils.types.isArray(target) ? Array(uniqueEnvironments.length).fill(target) : target;
|
|
154
73
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const message = chalk_1.default.yellow(`The 'edge' option that is being used in your browsers' configuration will soon be deprecated. Please change it to either 'edgelegacy' for the legacy version or to 'edgechromium' for the new Chromium-based version. Please note, when using the built-in BrowserType enum, then the values are BrowserType.EDGE_LEGACY and BrowserType.EDGE_CHROMIUM, respectively.`);
|
|
163
|
-
logger.console.log(message);
|
|
74
|
+
const promises = snapshots.map(async (snapshot, i) => {
|
|
75
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
76
|
+
const environmentLogger = logger.extend({ tags: [`environment-${utils.general.shortid()}`] });
|
|
77
|
+
const { target } = snapshot;
|
|
78
|
+
const environment = uniqueEnvironments[i];
|
|
79
|
+
if (utils.types.has(environment, 'name') && environment.name === 'edge') {
|
|
80
|
+
environmentLogger.console.log(chalk_1.default.yellow(lang.edgeUfgEnvironmentDeprecatedWarning));
|
|
164
81
|
}
|
|
165
82
|
try {
|
|
166
83
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
167
|
-
|
|
84
|
+
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
168
85
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
169
86
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
renderer,
|
|
176
|
-
referer: snapshotUrl,
|
|
177
|
-
cookies,
|
|
178
|
-
proxy: eyes.test.server.proxy,
|
|
179
|
-
autProxy: settings.autProxy,
|
|
180
|
-
userAgent,
|
|
181
|
-
},
|
|
182
|
-
});
|
|
183
|
-
const [baseEyes] = await eyes.getBaseEyes({ settings: { renderer, type: snapshotType }, logger });
|
|
87
|
+
if (utils.types.has(environment, 'iosDeviceInfo') || utils.types.has(environment, 'androidDeviceInfo')) {
|
|
88
|
+
environment.type = utils.types.has(target, 'cdt') ? 'web' : 'native';
|
|
89
|
+
}
|
|
90
|
+
const renderTargetPromise = (0, create_render_target_from_snapshot_1.createRenderTargetFromSnapshot)({ ufgClient, snapshot, logger: environmentLogger });
|
|
91
|
+
const baseEyes = await eyes.getBaseEyes({ settings: { environment, driver }, logger });
|
|
184
92
|
try {
|
|
185
93
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
186
|
-
|
|
94
|
+
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
187
95
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
188
96
|
}
|
|
189
97
|
else if (!baseEyes.running) {
|
|
190
|
-
|
|
191
|
-
throw new abort_error_1.AbortError(`
|
|
98
|
+
environmentLogger.warn(`Render on environment with id "${(_a = baseEyes.test.environment) === null || _a === void 0 ? void 0 : _a.environmentId}" was aborted during one of the previous steps`);
|
|
99
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${(_b = baseEyes.test.environment) === null || _b === void 0 ? void 0 : _b.environmentId}" was aborted during one of the previous steps`);
|
|
192
100
|
}
|
|
193
101
|
const renderTarget = await renderTargetPromise;
|
|
194
102
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
195
|
-
|
|
103
|
+
environmentLogger.warn('Command "check" was aborted before rendering');
|
|
196
104
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
197
105
|
}
|
|
198
106
|
else if (!baseEyes.running) {
|
|
199
|
-
|
|
200
|
-
throw new abort_error_1.AbortError(`
|
|
107
|
+
environmentLogger.warn(`Render on environment with id "${(_c = baseEyes.test.environment) === null || _c === void 0 ? void 0 : _c.environmentId}" was aborted during one of the previous steps`);
|
|
108
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${(_d = baseEyes.test.environment) === null || _d === void 0 ? void 0 : _d.environmentId}" was aborted during one of the previous steps`);
|
|
201
109
|
}
|
|
110
|
+
const { elementReferences: selectors, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({
|
|
111
|
+
settings: snapshot.settings,
|
|
112
|
+
});
|
|
202
113
|
const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
|
|
203
114
|
target: renderTarget,
|
|
204
115
|
settings: {
|
|
205
|
-
...settings,
|
|
206
|
-
region:
|
|
207
|
-
scrollRootElement:
|
|
208
|
-
selectorsToCalculate:
|
|
209
|
-
includeFullPageSize: Boolean(settings.pageId),
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
rendererId: baseEyes.test.rendererId,
|
|
116
|
+
...snapshot.settings,
|
|
117
|
+
region: (_e = selectors.target) !== null && _e !== void 0 ? _e : snapshot.settings.region,
|
|
118
|
+
scrollRootElement: selectors.scrolling,
|
|
119
|
+
selectorsToCalculate: selectors.calculate,
|
|
120
|
+
includeFullPageSize: Boolean(snapshot.settings.pageId),
|
|
121
|
+
environment: { ...environment, environmentId: baseEyes.test.environment.environmentId },
|
|
122
|
+
uploadUrl: baseEyes.test.uploadUrl,
|
|
123
|
+
stitchingServiceUrl: baseEyes.test.stitchingServiceUrl,
|
|
214
124
|
},
|
|
215
125
|
signal,
|
|
126
|
+
logger: environmentLogger,
|
|
216
127
|
});
|
|
217
|
-
let offset = 0;
|
|
218
128
|
const baseSettings = getBaseCheckSettings({
|
|
219
|
-
calculatedRegions:
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
129
|
+
calculatedRegions: selectors.calculate.map((_, index) => {
|
|
130
|
+
var _a;
|
|
131
|
+
return ({
|
|
132
|
+
regions: (_a = selectorRegions === null || selectorRegions === void 0 ? void 0 : selectorRegions[index]) !== null && _a !== void 0 ? _a : [],
|
|
133
|
+
});
|
|
134
|
+
}),
|
|
223
135
|
});
|
|
224
136
|
baseSettings.renderId = renderId;
|
|
225
|
-
baseTarget.source =
|
|
226
|
-
baseTarget.name =
|
|
137
|
+
baseTarget.source = snapshot.url;
|
|
138
|
+
baseTarget.name = snapshot.title;
|
|
227
139
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
228
|
-
|
|
140
|
+
environmentLogger.warn('Command "check" was aborted after rendering');
|
|
229
141
|
throw new abort_error_1.AbortError('Command "check" was aborted after rendering');
|
|
230
142
|
}
|
|
231
143
|
else if (!baseEyes.running) {
|
|
232
|
-
|
|
233
|
-
throw new abort_error_1.AbortError(`
|
|
144
|
+
environmentLogger.warn(`Render on environment with id "${(_f = baseEyes.test.environment) === null || _f === void 0 ? void 0 : _f.environmentId}" was aborted during one of the previous steps`);
|
|
145
|
+
throw new abort_error_1.AbortError(`Render on environment with id "${(_g = baseEyes.test.environment) === null || _g === void 0 ? void 0 : _g.environmentId}" was aborted during one of the previous steps`);
|
|
146
|
+
}
|
|
147
|
+
if (settings.assumesMutability) {
|
|
148
|
+
void eyes.core.logEvent({
|
|
149
|
+
settings: {
|
|
150
|
+
level: 'Notice',
|
|
151
|
+
event: {
|
|
152
|
+
type: 'eyes.check',
|
|
153
|
+
message: 'Assuming mutability for check Target',
|
|
154
|
+
test: {
|
|
155
|
+
checkName: settings.name,
|
|
156
|
+
batchId: baseEyes.test.batchId,
|
|
157
|
+
sessionId: baseEyes.test.sessionId,
|
|
158
|
+
testName: baseEyes.test.testName,
|
|
159
|
+
testId: baseEyes.test.testId,
|
|
160
|
+
userTestId: baseEyes.test.userTestId,
|
|
161
|
+
appId: baseEyes.test.appId,
|
|
162
|
+
baselineId: baseEyes.test.baselineId,
|
|
163
|
+
environmentId: (_h = baseEyes.test.environment) === null || _h === void 0 ? void 0 : _h.environmentId,
|
|
164
|
+
},
|
|
165
|
+
isNew: baseEyes.test.isNew,
|
|
166
|
+
resultsUrl: baseEyes.test.resultsUrl,
|
|
167
|
+
},
|
|
168
|
+
...eyes.test.eyesServer,
|
|
169
|
+
},
|
|
170
|
+
});
|
|
234
171
|
}
|
|
235
|
-
|
|
172
|
+
await baseEyes.checkAndClose({
|
|
236
173
|
target: { ...baseTarget, isTransformed: true },
|
|
237
174
|
settings: baseSettings,
|
|
238
|
-
logger,
|
|
175
|
+
logger: environmentLogger,
|
|
239
176
|
});
|
|
240
|
-
return { ...result, eyes: baseEyes, renderer };
|
|
241
177
|
}
|
|
242
178
|
catch (error) {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
179
|
+
environmentLogger.error(`Render on environment with id "${(_j = baseEyes.test.environment) === null || _j === void 0 ? void 0 : _j.environmentId}" failed due to an error`, error);
|
|
180
|
+
if (baseEyes.running && !(signal === null || signal === void 0 ? void 0 : signal.aborted))
|
|
181
|
+
await baseEyes.abort({ logger: environmentLogger, settings: { reason: error } });
|
|
246
182
|
}
|
|
247
183
|
}
|
|
248
184
|
catch (error) {
|
|
249
|
-
error
|
|
185
|
+
environmentLogger.error(`Environment with id ${environment.environmentId} failed before rendering started due to an error`, error);
|
|
186
|
+
error.info = { ...error.info, userTestId: eyes.test.userTestId, environment };
|
|
250
187
|
throw error;
|
|
251
188
|
}
|
|
252
189
|
});
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
190
|
+
uniqueEnvironments.forEach((environment, index) => {
|
|
191
|
+
const key = (0, to_environment_key_1.toEnvironmentKey)(environment);
|
|
192
|
+
let item = eyes.storage.get(key);
|
|
193
|
+
if (!item) {
|
|
194
|
+
item = { eyes: utils.promises.makeControlledPromise(), jobs: [] };
|
|
195
|
+
eyes.storage.set(key, item);
|
|
258
196
|
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
throw error;
|
|
262
|
-
}
|
|
263
|
-
}));
|
|
197
|
+
item.jobs.push(promises[index]);
|
|
198
|
+
});
|
|
264
199
|
};
|
|
265
200
|
}
|
|
266
201
|
exports.makeCheckAndClose = makeCheckAndClose;
|