@applitools/core 1.4.8 → 1.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/automation/get-viewport-size.js +1 -1
- package/dist/automation/locate.js +1 -1
- package/dist/automation/set-viewport-size.js +1 -1
- package/dist/check.js +4 -1
- package/dist/classic/abort.js +5 -14
- package/dist/classic/close.js +4 -13
- package/dist/classic/core.js +0 -4
- package/dist/{automation → classic}/extract-text.js +9 -6
- package/dist/{automation → classic}/locate-text.js +8 -5
- package/dist/classic/open-eyes.js +5 -1
- package/dist/{get-manager-results.js → close-manager.js} +9 -7
- package/dist/close.js +25 -1
- package/dist/core.js +0 -4
- package/dist/errors/abort-error.js +1 -5
- package/dist/extract-text.js +17 -13
- package/dist/get-typed-eyes.js +2 -4
- package/dist/index.js +3 -3
- package/dist/locate-text.js +7 -33
- package/dist/locate.js +1 -1
- package/dist/make-manager.js +28 -5
- package/dist/open-eyes.js +5 -3
- package/dist/types.js +1 -0
- package/dist/ufg/abort.js +19 -19
- package/dist/ufg/check-and-close.js +9 -5
- package/dist/ufg/check.js +9 -11
- package/dist/ufg/close.js +18 -25
- package/dist/ufg/core.js +0 -4
- package/dist/ufg/open-eyes.js +26 -22
- package/package.json +9 -11
- package/types/automation/get-viewport-size.d.ts +5 -5
- package/types/automation/locate.d.ts +6 -6
- package/types/automation/set-viewport-size.d.ts +5 -5
- package/types/automation/types.d.ts +40 -36
- package/types/automation/utils/take-screenshot.d.ts +9 -9
- package/types/automation/utils/to-base-check-settings.d.ts +13 -6
- package/types/automation/utils/wait-for-lazy-load.d.ts +3 -3
- package/types/check-and-close.d.ts +11 -9
- package/types/check.d.ts +9 -9
- package/types/classic/abort.d.ts +8 -8
- package/types/classic/check-and-close.d.ts +9 -9
- package/types/classic/check.d.ts +9 -9
- package/types/classic/close.d.ts +8 -8
- package/types/classic/core.d.ts +4 -4
- package/types/classic/extract-text.d.ts +16 -0
- package/types/classic/locate-text.d.ts +15 -0
- package/types/classic/open-eyes.d.ts +6 -6
- package/types/classic/types.d.ts +7 -7
- package/types/classic/utils/take-dom-capture.d.ts +3 -3
- package/types/close-manager.d.ts +18 -0
- package/types/close.d.ts +6 -7
- package/types/core.d.ts +4 -4
- package/types/errors/abort-error.d.ts +1 -3
- package/types/extract-text.d.ts +8 -10
- package/types/get-typed-eyes.d.ts +5 -6
- package/types/index.d.ts +3 -3
- package/types/locate-text.d.ts +8 -10
- package/types/locate.d.ts +8 -8
- package/types/make-manager.d.ts +5 -5
- package/types/open-eyes.d.ts +9 -9
- package/types/types.d.ts +84 -62
- package/types/ufg/abort.d.ts +15 -12
- package/types/ufg/check-and-close.d.ts +9 -9
- package/types/ufg/check.d.ts +9 -9
- package/types/ufg/close.d.ts +16 -12
- package/types/ufg/core.d.ts +4 -4
- package/types/ufg/open-eyes.d.ts +6 -6
- package/types/ufg/types.d.ts +17 -15
- package/types/ufg/utils/extract-broker-url.d.ts +3 -3
- package/types/ufg/utils/generate-safe-selectors.d.ts +8 -8
- package/types/ufg/utils/take-dom-snapshot.d.ts +3 -3
- package/types/ufg/utils/take-dom-snapshots.d.ts +3 -3
- package/types/ufg/utils/take-snapshots.d.ts +3 -3
- package/types/ufg/utils/take-vhses.d.ts +3 -3
- package/dist/get-eyes-results.js +0 -18
- package/dist/ufg/get-results.js +0 -27
- package/types/automation/extract-text.d.ts +0 -16
- package/types/automation/locate-text.d.ts +0 -15
- package/types/get-eyes-results.d.ts +0 -12
- package/types/get-manager-results.d.ts +0 -14
- package/types/ufg/get-results.d.ts +0 -16
|
@@ -157,7 +157,7 @@ function makeCheckAndClose({ spec, eyes, client, signal, target: defaultTarget,
|
|
|
157
157
|
logger.warn('Command "check" was aborted before rendering');
|
|
158
158
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
159
159
|
}
|
|
160
|
-
else if (
|
|
160
|
+
else if (baseEyes.aborted) {
|
|
161
161
|
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
162
162
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
163
163
|
}
|
|
@@ -166,7 +166,7 @@ function makeCheckAndClose({ spec, eyes, client, signal, target: defaultTarget,
|
|
|
166
166
|
logger.warn('Command "check" was aborted before rendering');
|
|
167
167
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
168
168
|
}
|
|
169
|
-
else if (
|
|
169
|
+
else if (baseEyes.aborted) {
|
|
170
170
|
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
171
171
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
172
172
|
}
|
|
@@ -197,7 +197,7 @@ function makeCheckAndClose({ spec, eyes, client, signal, target: defaultTarget,
|
|
|
197
197
|
logger.warn('Command "check" was aborted after rendering');
|
|
198
198
|
throw new abort_error_1.AbortError('Command "check" was aborted after rendering');
|
|
199
199
|
}
|
|
200
|
-
else if (
|
|
200
|
+
else if (baseEyes.aborted) {
|
|
201
201
|
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
202
202
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
203
203
|
}
|
|
@@ -206,7 +206,11 @@ function makeCheckAndClose({ spec, eyes, client, signal, target: defaultTarget,
|
|
|
206
206
|
settings: baseSettings,
|
|
207
207
|
logger,
|
|
208
208
|
});
|
|
209
|
-
|
|
209
|
+
if (baseEyes.aborted) {
|
|
210
|
+
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
211
|
+
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
212
|
+
}
|
|
213
|
+
return { ...result, eyes, renderer };
|
|
210
214
|
}
|
|
211
215
|
catch (error) {
|
|
212
216
|
await baseEyes.abort();
|
|
@@ -223,7 +227,7 @@ function makeCheckAndClose({ spec, eyes, client, signal, target: defaultTarget,
|
|
|
223
227
|
var _a, _b;
|
|
224
228
|
try {
|
|
225
229
|
const result = await promise;
|
|
226
|
-
return { ...result, userTestId: eyes.test.userTestId };
|
|
230
|
+
return { ...result, userTestId: eyes.test.userTestId, asExpected: true };
|
|
227
231
|
}
|
|
228
232
|
catch (error) {
|
|
229
233
|
await ((_b = (_a = error.info) === null || _a === void 0 ? void 0 : _a.eyes) === null || _b === void 0 ? void 0 : _b.abort({ logger }));
|
package/dist/ufg/check.js
CHANGED
|
@@ -39,9 +39,9 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
39
39
|
function makeCheck({ eyes, client, target: defaultTarget, spec, signal, logger: defaultLogger, }) {
|
|
40
40
|
return async function check({ target = defaultTarget, settings = {}, logger = defaultLogger, }) {
|
|
41
41
|
var _a, _b, _c, _d, _e;
|
|
42
|
-
logger.log('Command "check" is called with settings', settings);
|
|
42
|
+
logger === null || logger === void 0 ? void 0 : logger.log('Command "check" is called with settings', settings);
|
|
43
43
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
44
|
-
logger.warn('Command "check" was called after test was already aborted');
|
|
44
|
+
logger === null || logger === void 0 ? void 0 : logger.warn('Command "check" was called after test was already aborted');
|
|
45
45
|
throw new abort_error_1.AbortError('Command "check" was called after test was already aborted');
|
|
46
46
|
}
|
|
47
47
|
const { elementReferencesToCalculate, elementReferenceToTarget, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({
|
|
@@ -132,11 +132,11 @@ function makeCheck({ eyes, client, target: defaultTarget, spec, signal, logger:
|
|
|
132
132
|
const promises = uniqueRenderers.map(async (renderer, index) => {
|
|
133
133
|
if (utils.types.has(renderer, 'name') && renderer.name === 'edge') {
|
|
134
134
|
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.`);
|
|
135
|
-
logger.console.log(message);
|
|
135
|
+
logger === null || logger === void 0 ? void 0 : logger.console.log(message);
|
|
136
136
|
}
|
|
137
137
|
try {
|
|
138
138
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
139
|
-
logger.warn('Command "check" was aborted before rendering');
|
|
139
|
+
logger === null || logger === void 0 ? void 0 : logger.warn('Command "check" was aborted before rendering');
|
|
140
140
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
141
141
|
}
|
|
142
142
|
const { cookies, ...snapshot } = snapshots[index];
|
|
@@ -158,7 +158,7 @@ function makeCheck({ eyes, client, target: defaultTarget, spec, signal, logger:
|
|
|
158
158
|
logger.warn('Command "check" was aborted before rendering');
|
|
159
159
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
160
160
|
}
|
|
161
|
-
else if (
|
|
161
|
+
else if (baseEyes.aborted) {
|
|
162
162
|
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
163
163
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
164
164
|
}
|
|
@@ -167,7 +167,7 @@ function makeCheck({ eyes, client, target: defaultTarget, spec, signal, logger:
|
|
|
167
167
|
logger.warn('Command "check" was aborted before rendering');
|
|
168
168
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
169
169
|
}
|
|
170
|
-
else if (
|
|
170
|
+
else if (baseEyes.aborted) {
|
|
171
171
|
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
172
172
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
173
173
|
}
|
|
@@ -198,7 +198,7 @@ function makeCheck({ eyes, client, target: defaultTarget, spec, signal, logger:
|
|
|
198
198
|
logger.warn('Command "check" was aborted after rendering');
|
|
199
199
|
throw new abort_error_1.AbortError('Command "check" was aborted after rendering');
|
|
200
200
|
}
|
|
201
|
-
else if (
|
|
201
|
+
else if (baseEyes.aborted) {
|
|
202
202
|
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
203
203
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
204
204
|
}
|
|
@@ -207,16 +207,14 @@ function makeCheck({ eyes, client, target: defaultTarget, spec, signal, logger:
|
|
|
207
207
|
settings: baseSettings,
|
|
208
208
|
logger,
|
|
209
209
|
});
|
|
210
|
-
if (
|
|
210
|
+
if (baseEyes.aborted) {
|
|
211
211
|
logger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
212
212
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
213
213
|
}
|
|
214
214
|
return { ...result, eyes: baseEyes, renderer };
|
|
215
215
|
}
|
|
216
216
|
catch (error) {
|
|
217
|
-
|
|
218
|
-
await baseEyes.abort({ settings: { testMetadata: await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata()) } });
|
|
219
|
-
}
|
|
217
|
+
await baseEyes.abort({ settings: { testMetadata: await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata()) } });
|
|
220
218
|
error.info = { eyes: baseEyes };
|
|
221
219
|
throw error;
|
|
222
220
|
}
|
package/dist/ufg/close.js
CHANGED
|
@@ -2,36 +2,29 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeClose = void 0;
|
|
4
4
|
const driver_1 = require("@applitools/driver");
|
|
5
|
-
function makeClose({ storage, target, spec, logger: defaultLogger }) {
|
|
6
|
-
return async function
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
logger.warn('Command "close" received an error during extracting driver metadata', error);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
storage.forEach(async (promises) => {
|
|
5
|
+
function makeClose({ storage, target, spec, logger: defaultLogger, }) {
|
|
6
|
+
return async function ({ settings, logger = defaultLogger, } = {}) {
|
|
7
|
+
const tests = storage.reduce((tests, { renderer, promise }) => {
|
|
8
|
+
var _a;
|
|
9
|
+
const key = JSON.stringify(renderer);
|
|
10
|
+
const promises = (_a = tests.get(key)) !== null && _a !== void 0 ? _a : [];
|
|
11
|
+
promises.push(promise);
|
|
12
|
+
return tests.set(key, promises);
|
|
13
|
+
}, new Map());
|
|
14
|
+
return Promise.all(Array.from(tests.values(), async (promises) => {
|
|
19
15
|
var _a, _b;
|
|
20
16
|
try {
|
|
21
|
-
const [{ eyes }] = await Promise.all(promises);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
logger.warn('Command "close" received an error during performing, trying to perform abort instead', error);
|
|
27
|
-
await eyes.abort({ settings, logger });
|
|
28
|
-
}
|
|
17
|
+
const [{ eyes, renderer }] = await Promise.all(promises);
|
|
18
|
+
const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
|
|
19
|
+
const testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
|
|
20
|
+
const [result] = await eyes.close({ settings: { ...settings, testMetadata }, logger });
|
|
21
|
+
return { ...result, renderer };
|
|
29
22
|
}
|
|
30
23
|
catch (error) {
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
await ((_b = (_a = error.info) === null || _a === void 0 ? void 0 : _a.eyes) === null || _b === void 0 ? void 0 : _b.abort({ logger }));
|
|
25
|
+
throw error;
|
|
33
26
|
}
|
|
34
|
-
});
|
|
27
|
+
}));
|
|
35
28
|
};
|
|
36
29
|
}
|
|
37
30
|
exports.makeClose = makeClose;
|
package/dist/ufg/core.js
CHANGED
|
@@ -32,8 +32,6 @@ const core_base_1 = require("@applitools/core-base");
|
|
|
32
32
|
const get_viewport_size_1 = require("../automation/get-viewport-size");
|
|
33
33
|
const set_viewport_size_1 = require("../automation/set-viewport-size");
|
|
34
34
|
const locate_1 = require("../automation/locate");
|
|
35
|
-
const locate_text_1 = require("../automation/locate-text");
|
|
36
|
-
const extract_text_1 = require("../automation/extract-text");
|
|
37
35
|
const open_eyes_1 = require("./open-eyes");
|
|
38
36
|
const utils = __importStar(require("@applitools/utils"));
|
|
39
37
|
const throat_1 = __importDefault(require("throat"));
|
|
@@ -76,8 +74,6 @@ function makeCore({ concurrency, spec, client, core, agentId = 'core-ufg', cwd =
|
|
|
76
74
|
getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
|
|
77
75
|
setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
|
|
78
76
|
locate: (0, locate_1.makeLocate)({ spec, core, logger }),
|
|
79
|
-
locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
|
|
80
|
-
extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
|
|
81
77
|
openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, client, core, logger }),
|
|
82
78
|
});
|
|
83
79
|
}
|
package/dist/ufg/open-eyes.js
CHANGED
|
@@ -31,10 +31,9 @@ const check_1 = require("./check");
|
|
|
31
31
|
const check_and_close_1 = require("./check-and-close");
|
|
32
32
|
const close_1 = require("./close");
|
|
33
33
|
const abort_1 = require("./abort");
|
|
34
|
-
const get_results_1 = require("./get-results");
|
|
35
34
|
const abort_controller_1 = require("abort-controller");
|
|
36
35
|
const utils = __importStar(require("@applitools/utils"));
|
|
37
|
-
function makeOpenEyes({ core, client, spec, logger: defaultLogger }) {
|
|
36
|
+
function makeOpenEyes({ core, client, spec, logger: defaultLogger, }) {
|
|
38
37
|
return async function openEyes({ target, settings, eyes, logger = defaultLogger, }) {
|
|
39
38
|
var _a, _b;
|
|
40
39
|
logger.log(`Command "openEyes" is called with ${target ? 'default driver and' : ''}`, ...(settings ? ['settings', settings] : []), eyes ? 'predefined eyes' : '');
|
|
@@ -60,8 +59,9 @@ function makeOpenEyes({ core, client, spec, logger: defaultLogger }) {
|
|
|
60
59
|
const getBaseEyes = (0, get_base_eyes_1.makeGetBaseEyes)({ settings, eyes, core, client, logger });
|
|
61
60
|
return utils.general.extend({}, eyes => {
|
|
62
61
|
var _a;
|
|
63
|
-
const storage =
|
|
64
|
-
let
|
|
62
|
+
const storage = [];
|
|
63
|
+
let closed = false;
|
|
64
|
+
let aborted = false;
|
|
65
65
|
return {
|
|
66
66
|
type: 'ufg',
|
|
67
67
|
test: {
|
|
@@ -72,44 +72,48 @@ function makeOpenEyes({ core, client, spec, logger: defaultLogger }) {
|
|
|
72
72
|
account,
|
|
73
73
|
},
|
|
74
74
|
get running() {
|
|
75
|
-
return
|
|
75
|
+
return !closed && !aborted;
|
|
76
|
+
},
|
|
77
|
+
get closed() {
|
|
78
|
+
return closed;
|
|
79
|
+
},
|
|
80
|
+
get aborted() {
|
|
81
|
+
return aborted;
|
|
76
82
|
},
|
|
77
83
|
getBaseEyes,
|
|
78
84
|
// check with indexing and storage
|
|
79
85
|
check: utils.general.wrap((0, check_1.makeCheck)({ eyes, client: client, target: driver, spec, signal: controller.signal, logger }), async (check, options = {}) => {
|
|
80
86
|
const results = await check(options);
|
|
81
|
-
results.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
});
|
|
87
|
+
storage.push(...results.map(result => ({
|
|
88
|
+
promise: result.promise,
|
|
89
|
+
renderer: result.renderer,
|
|
90
|
+
})));
|
|
86
91
|
return results;
|
|
87
92
|
}),
|
|
88
|
-
checkAndClose:
|
|
93
|
+
checkAndClose: (0, check_and_close_1.makeCheckAndClose)({
|
|
89
94
|
eyes,
|
|
90
95
|
client: client,
|
|
91
96
|
target: driver,
|
|
92
97
|
spec,
|
|
93
98
|
signal: controller.signal,
|
|
94
99
|
logger,
|
|
95
|
-
}), async (checkAndClose, options = {}) => {
|
|
96
|
-
const results = await checkAndClose(options);
|
|
97
|
-
results.forEach(result => {
|
|
98
|
-
var _a;
|
|
99
|
-
const key = JSON.stringify(result.renderer);
|
|
100
|
-
storage.set(key, [...((_a = storage.get(key)) !== null && _a !== void 0 ? _a : []), { eyes: result.eyes, renderer: result.renderer }]);
|
|
101
|
-
});
|
|
102
|
-
return results;
|
|
103
100
|
}),
|
|
101
|
+
locateText: null,
|
|
102
|
+
extractText: null,
|
|
103
|
+
// close only once
|
|
104
104
|
close: utils.general.wrap((0, close_1.makeClose)({ storage, target: driver, logger }), async (close, options) => {
|
|
105
|
-
|
|
105
|
+
if (closed || aborted)
|
|
106
|
+
return [];
|
|
107
|
+
closed = true;
|
|
106
108
|
return close(options);
|
|
107
109
|
}),
|
|
110
|
+
// abort only once
|
|
108
111
|
abort: utils.general.wrap((0, abort_1.makeAbort)({ storage, target: driver, spec, controller, logger }), async (abort, options) => {
|
|
109
|
-
|
|
112
|
+
if (aborted || closed)
|
|
113
|
+
return [];
|
|
114
|
+
aborted = true;
|
|
110
115
|
return abort(options);
|
|
111
116
|
}),
|
|
112
|
-
getResults: (0, get_results_1.makeGetResults)({ storage, logger }),
|
|
113
117
|
};
|
|
114
118
|
});
|
|
115
119
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/core",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.10",
|
|
4
4
|
"homepage": "https://applitools.com",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -51,19 +51,17 @@
|
|
|
51
51
|
"docker:setup": "node ../../scripts/generate-docker-compose-config.js && docker-compose up -d",
|
|
52
52
|
"docker:teardown": "docker-compose down",
|
|
53
53
|
"deps": "bongo deps",
|
|
54
|
-
"
|
|
55
|
-
"version": "bongo version",
|
|
56
|
-
"postversion": "bongo postversion --skip-release-notification"
|
|
54
|
+
"version": "bongo version"
|
|
57
55
|
},
|
|
58
56
|
"dependencies": {
|
|
59
|
-
"@applitools/core-base": "1.1.
|
|
57
|
+
"@applitools/core-base": "1.1.33",
|
|
60
58
|
"@applitools/dom-capture": "11.2.1",
|
|
61
59
|
"@applitools/dom-snapshot": "4.7.3",
|
|
62
|
-
"@applitools/driver": "1.11.
|
|
60
|
+
"@applitools/driver": "1.11.28",
|
|
63
61
|
"@applitools/logger": "1.1.45",
|
|
64
|
-
"@applitools/nml-client": "1.3.
|
|
62
|
+
"@applitools/nml-client": "1.3.31",
|
|
65
63
|
"@applitools/req": "1.1.30",
|
|
66
|
-
"@applitools/screenshoter": "3.7.
|
|
64
|
+
"@applitools/screenshoter": "3.7.24",
|
|
67
65
|
"@applitools/snippets": "2.4.15",
|
|
68
66
|
"@applitools/ufg-client": "1.1.24",
|
|
69
67
|
"@applitools/utils": "1.3.30",
|
|
@@ -77,9 +75,9 @@
|
|
|
77
75
|
},
|
|
78
76
|
"devDependencies": {
|
|
79
77
|
"@applitools/bongo": "^2.2.2",
|
|
80
|
-
"@applitools/spec-driver-puppeteer": "^1.1.
|
|
81
|
-
"@applitools/spec-driver-selenium": "^1.5.
|
|
82
|
-
"@applitools/spec-driver-webdriverio": "^1.4.
|
|
78
|
+
"@applitools/spec-driver-puppeteer": "^1.1.39",
|
|
79
|
+
"@applitools/spec-driver-selenium": "^1.5.26",
|
|
80
|
+
"@applitools/spec-driver-webdriverio": "^1.4.23",
|
|
83
81
|
"@applitools/test-server": "^1.1.24",
|
|
84
82
|
"@applitools/test-utils": "^1.5.12",
|
|
85
83
|
"@types/mocha": "^9.1.1",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { DriverTarget } from './types';
|
|
2
2
|
import { type Logger } from '@applitools/logger';
|
|
3
|
-
import { type
|
|
4
|
-
type Options<
|
|
5
|
-
spec: SpecDriver<
|
|
3
|
+
import { type SpecDriver } from '@applitools/driver';
|
|
4
|
+
type Options<TDriver, TContext, TElement, TSelector> = {
|
|
5
|
+
spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
6
6
|
logger: Logger;
|
|
7
7
|
};
|
|
8
|
-
export declare function makeGetViewportSize<
|
|
9
|
-
target: DriverTarget<
|
|
8
|
+
export declare function makeGetViewportSize<TDriver, TContext, TElement, TSelector>({ spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, logger, }: {
|
|
9
|
+
target: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
10
10
|
logger?: Logger | undefined;
|
|
11
11
|
}) => Promise<import("@applitools/utils").Size>;
|
|
12
12
|
export {};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { DriverTarget, ImageTarget, LocateSettings, LocateResult } from './types';
|
|
2
2
|
import type { Core as BaseCore } from '@applitools/core-base';
|
|
3
3
|
import { type Logger } from '@applitools/logger';
|
|
4
|
-
import { type
|
|
5
|
-
type Options<
|
|
4
|
+
import { type SpecDriver } from '@applitools/driver';
|
|
5
|
+
type Options<TDriver, TContext, TElement, TSelector> = {
|
|
6
6
|
core: BaseCore;
|
|
7
|
-
spec?: SpecDriver<
|
|
7
|
+
spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
8
8
|
logger: Logger;
|
|
9
9
|
};
|
|
10
|
-
export declare function makeLocate<
|
|
11
|
-
target: DriverTarget<
|
|
12
|
-
settings: LocateSettings<TLocator,
|
|
10
|
+
export declare function makeLocate<TDriver, TContext, TElement, TSelector>({ spec, core, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): <TLocator extends string>({ settings, target, logger, }: {
|
|
11
|
+
target: DriverTarget<TDriver, TContext, TElement, TSelector> | ImageTarget;
|
|
12
|
+
settings: LocateSettings<TLocator, TElement, TSelector>;
|
|
13
13
|
logger?: Logger | undefined;
|
|
14
14
|
}) => Promise<LocateResult<TLocator>>;
|
|
15
15
|
export {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Size } from '@applitools/utils';
|
|
2
2
|
import type { DriverTarget } from './types';
|
|
3
3
|
import { type Logger } from '@applitools/logger';
|
|
4
|
-
import { type
|
|
5
|
-
type Options<
|
|
6
|
-
spec: SpecDriver<
|
|
4
|
+
import { type SpecDriver } from '@applitools/driver';
|
|
5
|
+
type Options<TDriver, TContext, TElement, TSelector> = {
|
|
6
|
+
spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
7
7
|
logger: Logger;
|
|
8
8
|
};
|
|
9
|
-
export declare function makeSetViewportSize<
|
|
10
|
-
target: DriverTarget<
|
|
9
|
+
export declare function makeSetViewportSize<TDriver, TContext, TElement, TSelector>({ spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, size, logger, }: {
|
|
10
|
+
target: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
11
11
|
size: Size;
|
|
12
12
|
logger?: Logger | undefined;
|
|
13
13
|
}) => Promise<void>;
|
|
@@ -1,68 +1,72 @@
|
|
|
1
1
|
import type { MaybeArray, Size, Region } from '@applitools/utils';
|
|
2
2
|
import type * as BaseCore from '@applitools/core-base/types';
|
|
3
|
-
import { type
|
|
3
|
+
import { type Driver, type Selector } from '@applitools/driver';
|
|
4
4
|
import { type Logger } from '@applitools/logger';
|
|
5
5
|
export * from '@applitools/core-base/types';
|
|
6
|
-
export type DriverTarget<
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
isSelector?(selector: any): selector is TSpec['selector'];
|
|
6
|
+
export type DriverTarget<TDriver, TContext, TElement, TSelector> = TDriver | Driver<TDriver, TContext, TElement, TSelector>;
|
|
7
|
+
export interface Core<TDriver, TContext, TElement, TSelector, TEyes = Eyes<TDriver, TContext, TElement, TSelector>> extends BaseCore.Core<TEyes> {
|
|
8
|
+
isDriver?(driver: any): driver is TDriver;
|
|
9
|
+
isElement?(element: any): element is TElement;
|
|
10
|
+
isSelector?(selector: any): selector is TSelector;
|
|
12
11
|
getViewportSize?(options: {
|
|
13
|
-
target: DriverTarget<
|
|
12
|
+
target: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
14
13
|
logger?: Logger;
|
|
15
14
|
}): Promise<Size>;
|
|
16
15
|
setViewportSize?(options: {
|
|
17
|
-
target: DriverTarget<
|
|
16
|
+
target: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
18
17
|
size: Size;
|
|
19
18
|
logger?: Logger;
|
|
20
19
|
}): Promise<void>;
|
|
21
20
|
openEyes(options: {
|
|
22
|
-
target?: DriverTarget<
|
|
21
|
+
target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
23
22
|
settings: BaseCore.OpenSettings;
|
|
24
23
|
eyes?: BaseCore.Eyes[];
|
|
25
24
|
logger?: Logger;
|
|
26
25
|
}): Promise<TEyes>;
|
|
27
26
|
locate<TLocator extends string>(options: {
|
|
28
|
-
target:
|
|
29
|
-
settings: LocateSettings<TLocator,
|
|
27
|
+
target: DriverTarget<TDriver, TContext, TElement, TSelector> | BaseCore.ImageTarget;
|
|
28
|
+
settings: LocateSettings<TLocator, TElement, TSelector>;
|
|
30
29
|
logger?: Logger;
|
|
31
30
|
}): Promise<BaseCore.LocateResult<TLocator>>;
|
|
32
|
-
locateText<TPattern extends string>(options: {
|
|
33
|
-
target: TTarget;
|
|
34
|
-
settings: LocateTextSettings<TPattern, TSpec>;
|
|
35
|
-
logger?: Logger;
|
|
36
|
-
}): Promise<BaseCore.LocateTextResult<TPattern>>;
|
|
37
|
-
extractText(options: {
|
|
38
|
-
target: TTarget;
|
|
39
|
-
settings: MaybeArray<ExtractTextSettings<TSpec>>;
|
|
40
|
-
logger?: Logger;
|
|
41
|
-
}): Promise<string[]>;
|
|
42
31
|
}
|
|
43
|
-
export interface Eyes<
|
|
32
|
+
export interface Eyes<TDriver, TContext, TElement, TSelector, TTarget = DriverTarget<TDriver, TContext, TElement, TSelector>> extends BaseCore.Eyes<TTarget> {
|
|
44
33
|
getBaseEyes(options?: {
|
|
45
34
|
logger?: Logger;
|
|
46
35
|
}): Promise<BaseCore.Eyes[]>;
|
|
47
36
|
check(options?: {
|
|
48
37
|
target?: TTarget;
|
|
49
|
-
settings?: CheckSettings<
|
|
38
|
+
settings?: CheckSettings<TElement, TSelector>;
|
|
50
39
|
logger?: Logger;
|
|
51
40
|
}): Promise<BaseCore.CheckResult[]>;
|
|
52
41
|
checkAndClose(options?: {
|
|
53
42
|
target?: TTarget;
|
|
54
|
-
settings?: CheckSettings<
|
|
43
|
+
settings?: CheckSettings<TElement, TSelector> & BaseCore.CloseSettings;
|
|
55
44
|
logger?: Logger;
|
|
56
45
|
}): Promise<BaseCore.TestResult[]>;
|
|
46
|
+
locateText<TPattern extends string>(options: {
|
|
47
|
+
target?: TTarget;
|
|
48
|
+
settings: LocateTextSettings<TPattern, TElement, TSelector>;
|
|
49
|
+
logger?: Logger;
|
|
50
|
+
}): Promise<BaseCore.LocateTextResult<TPattern>>;
|
|
51
|
+
extractText(options: {
|
|
52
|
+
target?: TTarget;
|
|
53
|
+
settings: MaybeArray<ExtractTextSettings<TElement, TSelector>>;
|
|
54
|
+
logger?: Logger;
|
|
55
|
+
}): Promise<string[]>;
|
|
57
56
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
type RegionReference<TElement, TSelector> = Region | ElementReference<TElement, TSelector>;
|
|
58
|
+
type ElementReference<TElement, TSelector> = TElement | Selector<TSelector>;
|
|
59
|
+
type FrameReference<TElement, TSelector> = ElementReference<TElement, TSelector> | string | number;
|
|
60
|
+
type ContextReference<TElement, TSelector> = {
|
|
61
|
+
frame: FrameReference<TElement, TSelector>;
|
|
62
|
+
scrollRootElement?: ElementReference<TElement, TSelector>;
|
|
63
|
+
};
|
|
64
|
+
type StitchMode = 'Scroll' | 'CSS';
|
|
65
|
+
export interface ScreenshotSettings<TElement, TSelector> extends BaseCore.ImageSettings<RegionReference<TElement, TSelector>> {
|
|
66
|
+
frames?: (ContextReference<TElement, TSelector> | FrameReference<TElement, TSelector>)[];
|
|
63
67
|
fully?: boolean;
|
|
64
|
-
scrollRootElement?: ElementReference<
|
|
65
|
-
stitchMode?:
|
|
68
|
+
scrollRootElement?: ElementReference<TElement, TSelector>;
|
|
69
|
+
stitchMode?: StitchMode;
|
|
66
70
|
hideScrollbars?: boolean;
|
|
67
71
|
hideCaret?: boolean;
|
|
68
72
|
overlap?: {
|
|
@@ -78,7 +82,7 @@ export interface ScreenshotSettings<TSpec extends SpecType> extends BaseCore.Ima
|
|
|
78
82
|
};
|
|
79
83
|
webview?: boolean | string;
|
|
80
84
|
}
|
|
81
|
-
export type LocateSettings<TLocator extends string,
|
|
82
|
-
export type
|
|
83
|
-
export type
|
|
84
|
-
export type
|
|
85
|
+
export type LocateSettings<TLocator extends string, TElement, TSelector> = BaseCore.LocateSettings<TLocator, RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
|
|
86
|
+
export type CheckSettings<TElement, TSelector> = BaseCore.CheckSettings<RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
|
|
87
|
+
export type LocateTextSettings<TPattern extends string, TElement, TSelector> = BaseCore.LocateTextSettings<TPattern, RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
|
|
88
|
+
export type ExtractTextSettings<TElement, TSelector> = BaseCore.ExtractTextSettings<RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { Region } from '@applitools/utils';
|
|
2
2
|
import type { ScreenshotSettings } from '../../classic/types';
|
|
3
3
|
import { type Logger } from '@applitools/logger';
|
|
4
|
-
import { type Driver, type Element, type ElementReference
|
|
5
|
-
export type Screenshot<
|
|
4
|
+
import { type Driver, type Element, type ElementReference } from '@applitools/driver';
|
|
5
|
+
export type Screenshot<TElement, TSelector> = {
|
|
6
6
|
image: any;
|
|
7
7
|
region: Region;
|
|
8
|
-
element: Element<
|
|
9
|
-
scrollingElement: Element<
|
|
8
|
+
element: Element<unknown, unknown, TElement, TSelector>;
|
|
9
|
+
scrollingElement: Element<unknown, unknown, TElement, TSelector>;
|
|
10
10
|
restoreState(): Promise<void>;
|
|
11
11
|
calculatedRegions: [];
|
|
12
12
|
};
|
|
13
|
-
export declare function takeScreenshot<
|
|
14
|
-
driver: Driver<
|
|
15
|
-
settings: ScreenshotSettings<
|
|
16
|
-
regionsToCalculate?: ElementReference<
|
|
13
|
+
export declare function takeScreenshot<TDriver, TContext, TElement, TSelector>({ driver, settings, logger, }: {
|
|
14
|
+
driver: Driver<TDriver, TContext, TElement, TSelector>;
|
|
15
|
+
settings: ScreenshotSettings<TElement, TSelector> & {
|
|
16
|
+
regionsToCalculate?: ElementReference<TElement, TSelector>[];
|
|
17
17
|
};
|
|
18
18
|
logger: Logger;
|
|
19
|
-
}): Promise<Screenshot<
|
|
19
|
+
}): Promise<Screenshot<TElement, TSelector>>;
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import type { Region } from '@applitools/utils';
|
|
2
|
-
import type { CheckSettings } from '../types';
|
|
3
2
|
import type { CheckSettings as BaseCheckSettings } from '@applitools/core-base';
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import type { CheckSettings } from '../types';
|
|
4
|
+
import { type Selector } from '@applitools/driver';
|
|
5
|
+
export declare function toBaseCheckSettings<TElement, TSelector>({ settings }: {
|
|
6
|
+
settings: CheckSettings<TElement, TSelector>;
|
|
7
7
|
}): {
|
|
8
|
-
elementReferencesToCalculate:
|
|
9
|
-
elementReferenceToTarget:
|
|
8
|
+
elementReferencesToCalculate: (TElement | Selector<TSelector>)[];
|
|
9
|
+
elementReferenceToTarget: string | TElement | TSelector | {
|
|
10
|
+
selector: string | TSelector;
|
|
11
|
+
type?: string | undefined;
|
|
12
|
+
child?: Selector<TSelector> | undefined;
|
|
13
|
+
shadow?: Selector<TSelector> | undefined;
|
|
14
|
+
frame?: Selector<TSelector> | undefined;
|
|
15
|
+
fallback?: Selector<TSelector> | undefined;
|
|
16
|
+
} | undefined;
|
|
10
17
|
getBaseCheckSettings: ({ calculatedRegions, preserveTransformation, }: {
|
|
11
18
|
calculatedRegions: {
|
|
12
19
|
selector?: Selector;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Logger } from '@applitools/logger';
|
|
2
|
-
import { type
|
|
2
|
+
import { type Context } from '@applitools/driver';
|
|
3
3
|
export type LazyLoadSettings = {
|
|
4
4
|
scrollLength?: number;
|
|
5
5
|
waitingTime?: number;
|
|
@@ -7,8 +7,8 @@ export type LazyLoadSettings = {
|
|
|
7
7
|
executionTimeout?: number;
|
|
8
8
|
pollTimeout?: number;
|
|
9
9
|
};
|
|
10
|
-
export declare function waitForLazyLoad<
|
|
11
|
-
context:
|
|
10
|
+
export declare function waitForLazyLoad<TContext extends Context<unknown, unknown, unknown, unknown>>({ context, settings, logger, }: {
|
|
11
|
+
context: TContext;
|
|
12
12
|
settings: LazyLoadSettings;
|
|
13
13
|
logger: Logger;
|
|
14
14
|
}): Promise<void>;
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import type { Target, DriverTarget, Eyes, Config, CheckSettings, CloseSettings, TestResult } from './types';
|
|
2
2
|
import { type Logger } from '@applitools/logger';
|
|
3
|
-
import { type
|
|
4
|
-
type Options<
|
|
3
|
+
import { type SpecDriver } from '@applitools/driver';
|
|
4
|
+
type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = {
|
|
5
5
|
type?: TType;
|
|
6
|
-
eyes: Eyes<
|
|
7
|
-
target?: DriverTarget<
|
|
8
|
-
spec?: SpecDriver<
|
|
6
|
+
eyes: Eyes<TDriver, TContext, TElement, TSelector, TType>;
|
|
7
|
+
target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
8
|
+
spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
9
9
|
logger: Logger;
|
|
10
10
|
};
|
|
11
|
-
export declare function makeCheckAndClose<
|
|
11
|
+
export declare function makeCheckAndClose<TDriver, TContext, TElement, TSelector, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, target, settings, config, logger, }?: {
|
|
12
12
|
type?: TType | undefined;
|
|
13
|
-
target?: Target<
|
|
14
|
-
settings?: (CheckSettings<
|
|
15
|
-
|
|
13
|
+
target?: Target<TDriver, TContext, TElement, TSelector, TType> | undefined;
|
|
14
|
+
settings?: (CheckSettings<TElement, TSelector, TDefaultType> & (TDefaultType extends "ufg" ? import("@applitools/core-base").CloseSettings : import("@applitools/core-base").CloseSettings) & {
|
|
15
|
+
throwErr?: boolean | undefined;
|
|
16
|
+
} & CheckSettings<TElement, TSelector, TType> & (TType extends "ufg" ? import("@applitools/core-base").CloseSettings : import("@applitools/core-base").CloseSettings)) | undefined;
|
|
17
|
+
config?: (Config<TElement, TSelector, TDefaultType> & Config<TElement, TSelector, TType>) | undefined;
|
|
16
18
|
logger?: Logger | undefined;
|
|
17
19
|
}) => Promise<TestResult<TType>[]>;
|
|
18
20
|
export {};
|