@applitools/core 1.4.7 → 2.0.0
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/{classic → automation}/extract-text.js +6 -9
- package/dist/automation/get-viewport-size.js +1 -1
- package/dist/{classic → automation}/locate-text.js +5 -8
- package/dist/automation/locate.js +1 -1
- package/dist/automation/set-viewport-size.js +1 -1
- package/dist/check.js +1 -4
- package/dist/classic/abort.js +3 -3
- package/dist/classic/close.js +2 -2
- package/dist/classic/core.js +4 -0
- package/dist/classic/open-eyes.js +1 -5
- package/dist/close.js +1 -25
- package/dist/core.js +4 -0
- package/dist/errors/abort-error.js +5 -1
- package/dist/extract-text.js +13 -17
- package/dist/get-eyes-results.js +18 -0
- package/dist/{close-manager.js → get-manager-results.js} +7 -9
- package/dist/get-typed-eyes.js +4 -2
- package/dist/index.js +3 -3
- package/dist/locate-text.js +33 -7
- package/dist/locate.js +1 -1
- package/dist/make-manager.js +5 -28
- package/dist/open-eyes.js +3 -5
- package/dist/types.js +0 -1
- package/dist/ufg/abort.js +11 -19
- package/dist/ufg/check-and-close.js +4 -4
- package/dist/ufg/check.js +11 -9
- package/dist/ufg/close.js +17 -18
- package/dist/ufg/core.js +4 -0
- package/dist/ufg/get-results.js +27 -0
- package/dist/ufg/open-eyes.js +13 -25
- package/package.json +8 -8
- package/types/automation/extract-text.d.ts +16 -0
- package/types/automation/get-viewport-size.d.ts +5 -5
- package/types/automation/locate-text.d.ts +15 -0
- package/types/automation/locate.d.ts +6 -6
- package/types/automation/set-viewport-size.d.ts +5 -5
- package/types/automation/types.d.ts +36 -40
- package/types/automation/utils/take-screenshot.d.ts +9 -9
- package/types/automation/utils/to-base-check-settings.d.ts +6 -13
- package/types/automation/utils/wait-for-lazy-load.d.ts +3 -3
- package/types/check-and-close.d.ts +9 -11
- 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/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.d.ts +7 -6
- package/types/core.d.ts +4 -4
- package/types/errors/abort-error.d.ts +3 -1
- package/types/extract-text.d.ts +10 -8
- package/types/get-eyes-results.d.ts +12 -0
- package/types/get-manager-results.d.ts +14 -0
- package/types/get-typed-eyes.d.ts +6 -5
- package/types/index.d.ts +3 -3
- package/types/locate-text.d.ts +10 -8
- 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 +62 -84
- package/types/ufg/abort.d.ts +8 -16
- package/types/ufg/check-and-close.d.ts +9 -9
- package/types/ufg/check.d.ts +9 -9
- package/types/ufg/close.d.ts +8 -17
- package/types/ufg/core.d.ts +4 -4
- package/types/ufg/get-results.d.ts +11 -0
- package/types/ufg/open-eyes.d.ts +6 -6
- package/types/ufg/types.d.ts +13 -17
- 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/types/classic/extract-text.d.ts +0 -16
- package/types/classic/locate-text.d.ts +0 -15
- package/types/close-manager.d.ts +0 -18
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
|
|
42
|
+
logger.log('Command "check" is called with settings', settings);
|
|
43
43
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
44
|
-
logger
|
|
44
|
+
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
|
|
135
|
+
logger.console.log(message);
|
|
136
136
|
}
|
|
137
137
|
try {
|
|
138
138
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
139
|
-
logger
|
|
139
|
+
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 (baseEyes.
|
|
161
|
+
else if (!baseEyes.running) {
|
|
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 (baseEyes.
|
|
170
|
+
else if (!baseEyes.running) {
|
|
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 (baseEyes.
|
|
201
|
+
else if (!baseEyes.running) {
|
|
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,14 +207,16 @@ function makeCheck({ eyes, client, target: defaultTarget, spec, signal, logger:
|
|
|
207
207
|
settings: baseSettings,
|
|
208
208
|
logger,
|
|
209
209
|
});
|
|
210
|
-
if (baseEyes.
|
|
210
|
+
if (!baseEyes.running) {
|
|
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
|
-
|
|
217
|
+
if (baseEyes.running && !(signal === null || signal === void 0 ? void 0 : signal.aborted)) {
|
|
218
|
+
await baseEyes.abort({ settings: { testMetadata: await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata()) } });
|
|
219
|
+
}
|
|
218
220
|
error.info = { eyes: baseEyes };
|
|
219
221
|
throw error;
|
|
220
222
|
}
|
package/dist/ufg/close.js
CHANGED
|
@@ -2,29 +2,28 @@
|
|
|
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 ({ settings, logger = defaultLogger, } = {}) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
promises.push(promise);
|
|
12
|
-
return tests.set(key, promises);
|
|
13
|
-
}, new Map());
|
|
14
|
-
return Promise.all(Array.from(tests.values(), async (promises) => {
|
|
5
|
+
function makeClose({ storage, target, spec, logger: defaultLogger }) {
|
|
6
|
+
return async function close({ settings, logger = defaultLogger, } = {}) {
|
|
7
|
+
logger.log('Command "close" is called with settings', settings);
|
|
8
|
+
const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
|
|
9
|
+
const testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
|
|
10
|
+
storage.forEach(async (promises) => {
|
|
15
11
|
var _a, _b;
|
|
16
12
|
try {
|
|
17
|
-
const [{ eyes
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
const [{ eyes }] = await Promise.all(promises);
|
|
14
|
+
try {
|
|
15
|
+
await eyes.close({ settings: { ...settings, testMetadata }, logger });
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
logger.warn('Command "close" received an error during performing, trying to perform abort instead', error);
|
|
19
|
+
await eyes.abort({ settings: { ...settings, testMetadata }, logger });
|
|
20
|
+
}
|
|
22
21
|
}
|
|
23
22
|
catch (error) {
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
logger.warn('Command "close" received an error during waiting for eyes instances in background', error);
|
|
24
|
+
await ((_b = (_a = error.info) === null || _a === void 0 ? void 0 : _a.eyes) === null || _b === void 0 ? void 0 : _b.abort({ settings: { ...settings, testMetadata }, logger }));
|
|
26
25
|
}
|
|
27
|
-
})
|
|
26
|
+
});
|
|
28
27
|
};
|
|
29
28
|
}
|
|
30
29
|
exports.makeClose = makeClose;
|
package/dist/ufg/core.js
CHANGED
|
@@ -32,6 +32,8 @@ 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");
|
|
35
37
|
const open_eyes_1 = require("./open-eyes");
|
|
36
38
|
const utils = __importStar(require("@applitools/utils"));
|
|
37
39
|
const throat_1 = __importDefault(require("throat"));
|
|
@@ -74,6 +76,8 @@ function makeCore({ concurrency, spec, client, core, agentId = 'core-ufg', cwd =
|
|
|
74
76
|
getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
|
|
75
77
|
setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
|
|
76
78
|
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 }),
|
|
77
81
|
openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, client, core, logger }),
|
|
78
82
|
});
|
|
79
83
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeGetResults = void 0;
|
|
4
|
+
const abort_error_1 = require("../errors/abort-error");
|
|
5
|
+
function makeGetResults({ storage, logger: defaultLogger }) {
|
|
6
|
+
return async function getResults({ settings, logger = defaultLogger, } = {}) {
|
|
7
|
+
logger.log('Command "getResults" is called with settings', settings);
|
|
8
|
+
return Promise.all(Array.from(storage.values(), async (promises) => {
|
|
9
|
+
var _a;
|
|
10
|
+
try {
|
|
11
|
+
const [{ eyes, renderer }] = await Promise.all(promises);
|
|
12
|
+
const [result] = await eyes.getResults({ settings, logger });
|
|
13
|
+
return { ...result, renderer };
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
if (error instanceof abort_error_1.AbortError && ((_a = error.info) === null || _a === void 0 ? void 0 : _a.eyes)) {
|
|
17
|
+
logger.warn('Command "getResults" received an abort error during performing', settings);
|
|
18
|
+
const [result] = await error.info.eyes.getResults({ settings, logger });
|
|
19
|
+
return { ...result, renderer: error.info.renderer };
|
|
20
|
+
}
|
|
21
|
+
logger.fatal('Command "getResults" received an error during performing', settings);
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.makeGetResults = makeGetResults;
|
package/dist/ufg/open-eyes.js
CHANGED
|
@@ -31,9 +31,10 @@ 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");
|
|
34
35
|
const abort_controller_1 = require("abort-controller");
|
|
35
36
|
const utils = __importStar(require("@applitools/utils"));
|
|
36
|
-
function makeOpenEyes({ core, client, spec, logger: defaultLogger
|
|
37
|
+
function makeOpenEyes({ core, client, spec, logger: defaultLogger }) {
|
|
37
38
|
return async function openEyes({ target, settings, eyes, logger = defaultLogger, }) {
|
|
38
39
|
var _a, _b;
|
|
39
40
|
logger.log(`Command "openEyes" is called with ${target ? 'default driver and' : ''}`, ...(settings ? ['settings', settings] : []), eyes ? 'predefined eyes' : '');
|
|
@@ -59,9 +60,8 @@ function makeOpenEyes({ core, client, spec, logger: defaultLogger, }) {
|
|
|
59
60
|
const getBaseEyes = (0, get_base_eyes_1.makeGetBaseEyes)({ settings, eyes, core, client, logger });
|
|
60
61
|
return utils.general.extend({}, eyes => {
|
|
61
62
|
var _a;
|
|
62
|
-
const storage =
|
|
63
|
-
let
|
|
64
|
-
let aborted = false;
|
|
63
|
+
const storage = new Map();
|
|
64
|
+
let running = true;
|
|
65
65
|
return {
|
|
66
66
|
type: 'ufg',
|
|
67
67
|
test: {
|
|
@@ -72,22 +72,17 @@ function makeOpenEyes({ core, client, spec, logger: defaultLogger, }) {
|
|
|
72
72
|
account,
|
|
73
73
|
},
|
|
74
74
|
get running() {
|
|
75
|
-
return
|
|
76
|
-
},
|
|
77
|
-
get closed() {
|
|
78
|
-
return closed;
|
|
79
|
-
},
|
|
80
|
-
get aborted() {
|
|
81
|
-
return aborted;
|
|
75
|
+
return running;
|
|
82
76
|
},
|
|
83
77
|
getBaseEyes,
|
|
84
78
|
// check with indexing and storage
|
|
85
79
|
check: utils.general.wrap((0, check_1.makeCheck)({ eyes, client: client, target: driver, spec, signal: controller.signal, logger }), async (check, options = {}) => {
|
|
86
80
|
const results = await check(options);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
81
|
+
results.forEach(result => {
|
|
82
|
+
var _a;
|
|
83
|
+
const key = JSON.stringify(result.renderer);
|
|
84
|
+
storage.set(key, [...((_a = storage.get(key)) !== null && _a !== void 0 ? _a : []), result.promise]);
|
|
85
|
+
});
|
|
91
86
|
return results;
|
|
92
87
|
}),
|
|
93
88
|
checkAndClose: (0, check_and_close_1.makeCheckAndClose)({
|
|
@@ -98,22 +93,15 @@ function makeOpenEyes({ core, client, spec, logger: defaultLogger, }) {
|
|
|
98
93
|
signal: controller.signal,
|
|
99
94
|
logger,
|
|
100
95
|
}),
|
|
101
|
-
locateText: null,
|
|
102
|
-
extractText: null,
|
|
103
|
-
// close only once
|
|
104
96
|
close: utils.general.wrap((0, close_1.makeClose)({ storage, target: driver, logger }), async (close, options) => {
|
|
105
|
-
|
|
106
|
-
return [];
|
|
107
|
-
closed = true;
|
|
97
|
+
running = false;
|
|
108
98
|
return close(options);
|
|
109
99
|
}),
|
|
110
|
-
// abort only once
|
|
111
100
|
abort: utils.general.wrap((0, abort_1.makeAbort)({ storage, target: driver, spec, controller, logger }), async (abort, options) => {
|
|
112
|
-
|
|
113
|
-
return [];
|
|
114
|
-
aborted = true;
|
|
101
|
+
running = false;
|
|
115
102
|
return abort(options);
|
|
116
103
|
}),
|
|
104
|
+
getResults: (0, get_results_1.makeGetResults)({ storage, logger }),
|
|
117
105
|
};
|
|
118
106
|
});
|
|
119
107
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"homepage": "https://applitools.com",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -56,14 +56,14 @@
|
|
|
56
56
|
"postversion": "bongo postversion --skip-release-notification"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@applitools/core-base": "1.1.
|
|
59
|
+
"@applitools/core-base": "1.1.34",
|
|
60
60
|
"@applitools/dom-capture": "11.2.1",
|
|
61
61
|
"@applitools/dom-snapshot": "4.7.3",
|
|
62
|
-
"@applitools/driver": "1.11.
|
|
62
|
+
"@applitools/driver": "1.11.29",
|
|
63
63
|
"@applitools/logger": "1.1.45",
|
|
64
|
-
"@applitools/nml-client": "1.3.
|
|
64
|
+
"@applitools/nml-client": "1.3.32",
|
|
65
65
|
"@applitools/req": "1.1.30",
|
|
66
|
-
"@applitools/screenshoter": "3.7.
|
|
66
|
+
"@applitools/screenshoter": "3.7.25",
|
|
67
67
|
"@applitools/snippets": "2.4.15",
|
|
68
68
|
"@applitools/ufg-client": "1.1.24",
|
|
69
69
|
"@applitools/utils": "1.3.30",
|
|
@@ -77,9 +77,9 @@
|
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@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.
|
|
80
|
+
"@applitools/spec-driver-puppeteer": "^1.1.40",
|
|
81
|
+
"@applitools/spec-driver-selenium": "^1.5.27",
|
|
82
|
+
"@applitools/spec-driver-webdriverio": "^1.4.24",
|
|
83
83
|
"@applitools/test-server": "^1.1.24",
|
|
84
84
|
"@applitools/test-utils": "^1.5.12",
|
|
85
85
|
"@types/mocha": "^9.1.1",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { MaybeArray } from '@applitools/utils';
|
|
2
|
+
import type { DriverTarget, ImageTarget, ExtractTextSettings } from '../classic/types';
|
|
3
|
+
import type { Core as BaseCore } from '@applitools/core-base';
|
|
4
|
+
import { type Logger } from '@applitools/logger';
|
|
5
|
+
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
6
|
+
type Options<TSpec extends SpecType> = {
|
|
7
|
+
core: BaseCore;
|
|
8
|
+
spec?: SpecDriver<TSpec>;
|
|
9
|
+
logger: Logger;
|
|
10
|
+
};
|
|
11
|
+
export declare function makeExtractText<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): ({ target, settings, logger, }: {
|
|
12
|
+
target: DriverTarget<TSpec> | ImageTarget;
|
|
13
|
+
settings: MaybeArray<ExtractTextSettings<TSpec>>;
|
|
14
|
+
logger?: Logger | undefined;
|
|
15
|
+
}) => Promise<string[]>;
|
|
16
|
+
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { DriverTarget } from './types';
|
|
2
2
|
import { type Logger } from '@applitools/logger';
|
|
3
|
-
import { type SpecDriver } from '@applitools/driver';
|
|
4
|
-
type Options<
|
|
5
|
-
spec: SpecDriver<
|
|
3
|
+
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
4
|
+
type Options<TSpec extends SpecType> = {
|
|
5
|
+
spec: SpecDriver<TSpec>;
|
|
6
6
|
logger: Logger;
|
|
7
7
|
};
|
|
8
|
-
export declare function makeGetViewportSize<
|
|
9
|
-
target: DriverTarget<
|
|
8
|
+
export declare function makeGetViewportSize<TSpec extends SpecType>({ spec, logger: defaultLogger }: Options<TSpec>): ({ target, logger, }: {
|
|
9
|
+
target: DriverTarget<TSpec>;
|
|
10
10
|
logger?: Logger | undefined;
|
|
11
11
|
}) => Promise<import("@applitools/utils").Size>;
|
|
12
12
|
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DriverTarget, ImageTarget, LocateTextSettings, LocateTextResult } from './types';
|
|
2
|
+
import type { Core as BaseCore } from '@applitools/core-base';
|
|
3
|
+
import { type Logger } from '@applitools/logger';
|
|
4
|
+
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
5
|
+
type Options<TSpec extends SpecType> = {
|
|
6
|
+
core: BaseCore;
|
|
7
|
+
spec?: SpecDriver<TSpec>;
|
|
8
|
+
logger: Logger;
|
|
9
|
+
};
|
|
10
|
+
export declare function makeLocateText<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): <TPattern extends string>({ target, settings, logger, }: {
|
|
11
|
+
target: DriverTarget<TSpec> | ImageTarget;
|
|
12
|
+
settings: LocateTextSettings<TPattern, TSpec>;
|
|
13
|
+
logger?: Logger | undefined;
|
|
14
|
+
}) => Promise<LocateTextResult<TPattern>>;
|
|
15
|
+
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 SpecDriver } from '@applitools/driver';
|
|
5
|
-
type Options<
|
|
4
|
+
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
5
|
+
type Options<TSpec extends SpecType> = {
|
|
6
6
|
core: BaseCore;
|
|
7
|
-
spec?: SpecDriver<
|
|
7
|
+
spec?: SpecDriver<TSpec>;
|
|
8
8
|
logger: Logger;
|
|
9
9
|
};
|
|
10
|
-
export declare function makeLocate<
|
|
11
|
-
target: DriverTarget<
|
|
12
|
-
settings: LocateSettings<TLocator,
|
|
10
|
+
export declare function makeLocate<TSpec extends SpecType>({ spec, core, logger: defaultLogger }: Options<TSpec>): <TLocator extends string>({ settings, target, logger, }: {
|
|
11
|
+
target: DriverTarget<TSpec> | ImageTarget;
|
|
12
|
+
settings: LocateSettings<TLocator, TSpec>;
|
|
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 SpecDriver } from '@applitools/driver';
|
|
5
|
-
type Options<
|
|
6
|
-
spec: SpecDriver<
|
|
4
|
+
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
5
|
+
type Options<TSpec extends SpecType> = {
|
|
6
|
+
spec: SpecDriver<TSpec>;
|
|
7
7
|
logger: Logger;
|
|
8
8
|
};
|
|
9
|
-
export declare function makeSetViewportSize<
|
|
10
|
-
target: DriverTarget<
|
|
9
|
+
export declare function makeSetViewportSize<TSpec extends SpecType>({ spec, logger: defaultLogger }: Options<TSpec>): ({ target, size, logger, }: {
|
|
10
|
+
target: DriverTarget<TSpec>;
|
|
11
11
|
size: Size;
|
|
12
12
|
logger?: Logger | undefined;
|
|
13
13
|
}) => Promise<void>;
|
|
@@ -1,72 +1,68 @@
|
|
|
1
1
|
import type { MaybeArray, Size, Region } from '@applitools/utils';
|
|
2
2
|
import type * as BaseCore from '@applitools/core-base/types';
|
|
3
|
-
import { type Driver, type
|
|
3
|
+
import { type SpecType, type Driver, type ElementReference, type ContextReference } 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
|
-
|
|
6
|
+
export type DriverTarget<TSpec extends SpecType> = TSpec['driver'] | Driver<TSpec>;
|
|
7
|
+
export type Target<TSpec extends SpecType> = DriverTarget<TSpec> | BaseCore.Target;
|
|
8
|
+
export interface Core<TSpec extends SpecType, TTarget = Target<TSpec>, TEyes extends Eyes<TSpec, TTarget> = Eyes<TSpec, TTarget>> extends BaseCore.Core<TTarget, TEyes> {
|
|
9
|
+
isDriver?(driver: any): driver is TSpec['driver'];
|
|
10
|
+
isElement?(element: any): element is TSpec['element'];
|
|
11
|
+
isSelector?(selector: any): selector is TSpec['selector'];
|
|
11
12
|
getViewportSize?(options: {
|
|
12
|
-
target: DriverTarget<
|
|
13
|
+
target: DriverTarget<TSpec>;
|
|
13
14
|
logger?: Logger;
|
|
14
15
|
}): Promise<Size>;
|
|
15
16
|
setViewportSize?(options: {
|
|
16
|
-
target: DriverTarget<
|
|
17
|
+
target: DriverTarget<TSpec>;
|
|
17
18
|
size: Size;
|
|
18
19
|
logger?: Logger;
|
|
19
20
|
}): Promise<void>;
|
|
20
21
|
openEyes(options: {
|
|
21
|
-
target?: DriverTarget<
|
|
22
|
+
target?: DriverTarget<TSpec>;
|
|
22
23
|
settings: BaseCore.OpenSettings;
|
|
23
24
|
eyes?: BaseCore.Eyes[];
|
|
24
25
|
logger?: Logger;
|
|
25
26
|
}): Promise<TEyes>;
|
|
26
27
|
locate<TLocator extends string>(options: {
|
|
27
|
-
target:
|
|
28
|
-
settings: LocateSettings<TLocator,
|
|
28
|
+
target: TTarget;
|
|
29
|
+
settings: LocateSettings<TLocator, TSpec>;
|
|
29
30
|
logger?: Logger;
|
|
30
31
|
}): 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[]>;
|
|
31
42
|
}
|
|
32
|
-
export interface Eyes<
|
|
43
|
+
export interface Eyes<TSpec extends SpecType, TTarget = Target<TSpec>> extends BaseCore.Eyes<TTarget> {
|
|
33
44
|
getBaseEyes(options?: {
|
|
34
45
|
logger?: Logger;
|
|
35
46
|
}): Promise<BaseCore.Eyes[]>;
|
|
36
47
|
check(options?: {
|
|
37
48
|
target?: TTarget;
|
|
38
|
-
settings?: CheckSettings<
|
|
49
|
+
settings?: CheckSettings<TSpec>;
|
|
39
50
|
logger?: Logger;
|
|
40
51
|
}): Promise<BaseCore.CheckResult[]>;
|
|
41
52
|
checkAndClose(options?: {
|
|
42
53
|
target?: TTarget;
|
|
43
|
-
settings?: CheckSettings<
|
|
54
|
+
settings?: CheckSettings<TSpec> & BaseCore.CloseSettings;
|
|
44
55
|
logger?: Logger;
|
|
45
56
|
}): 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[]>;
|
|
56
57
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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>)[];
|
|
58
|
+
export interface ScreenshotSettings<TSpec extends SpecType> extends BaseCore.ImageSettings<Region | ElementReference<TSpec>> {
|
|
59
|
+
frames?: (ContextReference<TSpec> | {
|
|
60
|
+
frame: ContextReference<TSpec>;
|
|
61
|
+
scrollRootElement?: ElementReference<TSpec>;
|
|
62
|
+
})[];
|
|
67
63
|
fully?: boolean;
|
|
68
|
-
scrollRootElement?: ElementReference<
|
|
69
|
-
stitchMode?:
|
|
64
|
+
scrollRootElement?: ElementReference<TSpec>;
|
|
65
|
+
stitchMode?: 'Scroll' | 'CSS';
|
|
70
66
|
hideScrollbars?: boolean;
|
|
71
67
|
hideCaret?: boolean;
|
|
72
68
|
overlap?: {
|
|
@@ -82,7 +78,7 @@ export interface ScreenshotSettings<TElement, TSelector> extends BaseCore.ImageS
|
|
|
82
78
|
};
|
|
83
79
|
webview?: boolean | string;
|
|
84
80
|
}
|
|
85
|
-
export type LocateSettings<TLocator extends string,
|
|
86
|
-
export type
|
|
87
|
-
export type
|
|
88
|
-
export type
|
|
81
|
+
export type LocateSettings<TLocator extends string, TSpec extends SpecType> = BaseCore.LocateSettings<TLocator, Region | ElementReference<TSpec>> & ScreenshotSettings<TSpec>;
|
|
82
|
+
export type LocateTextSettings<TPattern extends string, TSpec extends SpecType> = BaseCore.LocateTextSettings<TPattern, Region | ElementReference<TSpec>> & ScreenshotSettings<TSpec>;
|
|
83
|
+
export type ExtractTextSettings<TSpec extends SpecType> = BaseCore.ExtractTextSettings<Region | ElementReference<TSpec>> & ScreenshotSettings<TSpec>;
|
|
84
|
+
export type CheckSettings<TSpec extends SpecType> = BaseCore.CheckSettings<Region | ElementReference<TSpec>> & ScreenshotSettings<TSpec>;
|
|
@@ -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 } from '@applitools/driver';
|
|
5
|
-
export type Screenshot<
|
|
4
|
+
import { type Driver, type Element, type ElementReference, type SpecType } from '@applitools/driver';
|
|
5
|
+
export type Screenshot<TSpec extends SpecType> = {
|
|
6
6
|
image: any;
|
|
7
7
|
region: Region;
|
|
8
|
-
element: Element<
|
|
9
|
-
scrollingElement: Element<
|
|
8
|
+
element: Element<TSpec>;
|
|
9
|
+
scrollingElement: Element<TSpec>;
|
|
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<TSpec extends SpecType>({ driver, settings, logger, }: {
|
|
14
|
+
driver: Driver<TSpec>;
|
|
15
|
+
settings: ScreenshotSettings<TSpec> & {
|
|
16
|
+
regionsToCalculate?: ElementReference<TSpec>[];
|
|
17
17
|
};
|
|
18
18
|
logger: Logger;
|
|
19
|
-
}): Promise<Screenshot<
|
|
19
|
+
}): Promise<Screenshot<TSpec>>;
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
import type { Region } from '@applitools/utils';
|
|
2
|
-
import type { CheckSettings as BaseCheckSettings } from '@applitools/core-base';
|
|
3
2
|
import type { CheckSettings } from '../types';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import type { CheckSettings as BaseCheckSettings } from '@applitools/core-base';
|
|
4
|
+
import { type SpecType, type ElementReference, type Selector } from '@applitools/driver';
|
|
5
|
+
export declare function toBaseCheckSettings<TSpec extends SpecType>({ settings }: {
|
|
6
|
+
settings: CheckSettings<TSpec>;
|
|
7
7
|
}): {
|
|
8
|
-
elementReferencesToCalculate:
|
|
9
|
-
elementReferenceToTarget:
|
|
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;
|
|
8
|
+
elementReferencesToCalculate: ElementReference<TSpec>[];
|
|
9
|
+
elementReferenceToTarget: ElementReference<TSpec> | undefined;
|
|
17
10
|
getBaseCheckSettings: ({ calculatedRegions, preserveTransformation, }: {
|
|
18
11
|
calculatedRegions: {
|
|
19
12
|
selector?: Selector;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Logger } from '@applitools/logger';
|
|
2
|
-
import { type Context } from '@applitools/driver';
|
|
2
|
+
import { type SpecType, 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<TSpec extends SpecType>({ context, settings, logger, }: {
|
|
11
|
+
context: Context<TSpec>;
|
|
12
12
|
settings: LazyLoadSettings;
|
|
13
13
|
logger: Logger;
|
|
14
14
|
}): Promise<void>;
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import type { Target, DriverTarget, Eyes, Config, CheckSettings, CloseSettings, TestResult } from './types';
|
|
2
2
|
import { type Logger } from '@applitools/logger';
|
|
3
|
-
import { type SpecDriver } from '@applitools/driver';
|
|
4
|
-
type Options<
|
|
3
|
+
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
4
|
+
type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
|
|
5
5
|
type?: TType;
|
|
6
|
-
eyes: Eyes<
|
|
7
|
-
target?: DriverTarget<
|
|
8
|
-
spec?: SpecDriver<
|
|
6
|
+
eyes: Eyes<TSpec, TType>;
|
|
7
|
+
target?: DriverTarget<TSpec>;
|
|
8
|
+
spec?: SpecDriver<TSpec>;
|
|
9
9
|
logger: Logger;
|
|
10
10
|
};
|
|
11
|
-
export declare function makeCheckAndClose<
|
|
11
|
+
export declare function makeCheckAndClose<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'>({ type: defaultType, eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, target, settings, config, logger, }?: {
|
|
12
12
|
type?: TType | undefined;
|
|
13
|
-
target?: Target<
|
|
14
|
-
settings?: (CheckSettings<
|
|
15
|
-
|
|
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;
|
|
13
|
+
target?: Target<TSpec, TType> | undefined;
|
|
14
|
+
settings?: (CheckSettings<TSpec, TDefaultType> & CloseSettings<TDefaultType> & CheckSettings<TSpec, TType> & CloseSettings<TType>) | undefined;
|
|
15
|
+
config?: (Config<TSpec, TDefaultType> & Config<TSpec, TType>) | undefined;
|
|
18
16
|
logger?: Logger | undefined;
|
|
19
17
|
}) => Promise<TestResult<TType>[]>;
|
|
20
18
|
export {};
|