@applitools/core 2.3.14 → 2.3.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/automation/extract-text.js +2 -2
- package/dist/automation/locate-text.js +2 -2
- package/dist/automation/locate.js +6 -2
- package/dist/check-and-close.js +5 -6
- package/dist/check.js +10 -9
- package/dist/classic/core.js +14 -14
- package/dist/classic/get-base-eyes.js +5 -5
- package/dist/classic/open-eyes.js +7 -7
- package/dist/close-batch.js +1 -1
- package/dist/core.js +19 -19
- package/dist/delete-test.js +1 -1
- package/dist/extract-text.js +1 -1
- package/dist/{make-ec-client.js → get-ec-client.js} +7 -7
- package/dist/get-typed-eyes.js +5 -5
- package/dist/locate-text.js +1 -1
- package/dist/locate.js +1 -1
- package/dist/make-manager.js +3 -3
- package/dist/open-eyes.js +4 -9
- package/dist/ufg/check-and-close.js +9 -5
- package/dist/ufg/check.js +7 -3
- package/dist/ufg/core.js +46 -41
- package/dist/ufg/get-base-eyes.js +9 -6
- package/dist/ufg/get-nml-client.js +5 -5
- package/dist/ufg/get-ufg-client.js +6 -6
- package/dist/ufg/open-eyes.js +7 -15
- package/dist/universal/core-server.js +2 -1
- package/dist/universal/core.js +23 -18
- package/package.json +29 -30
- package/types/automation/extract-text.d.ts +3 -4
- package/types/automation/locate-text.d.ts +3 -4
- package/types/automation/locate.d.ts +3 -4
- package/types/automation/types.d.ts +11 -12
- package/types/classic/core.d.ts +2 -2
- package/types/classic/get-base-eyes.d.ts +9 -8
- package/types/classic/open-eyes.d.ts +5 -5
- package/types/classic/types.d.ts +7 -6
- package/types/close-batch.d.ts +2 -3
- package/types/core.d.ts +2 -2
- package/types/delete-test.d.ts +2 -3
- package/types/extract-text.d.ts +2 -3
- package/types/{make-ec-client.d.ts → get-ec-client.d.ts} +1 -3
- package/types/get-manager-results.d.ts +2 -3
- package/types/get-typed-eyes.d.ts +3 -6
- package/types/locate-text.d.ts +2 -3
- package/types/locate.d.ts +2 -3
- package/types/make-manager.d.ts +4 -3
- package/types/open-eyes.d.ts +3 -4
- package/types/types.d.ts +10 -9
- package/types/ufg/abort.d.ts +2 -2
- package/types/ufg/close.d.ts +2 -2
- package/types/ufg/core.d.ts +2 -2
- package/types/ufg/get-base-eyes.d.ts +10 -14
- package/types/ufg/get-nml-client.d.ts +2 -2
- package/types/ufg/get-results.d.ts +2 -2
- package/types/ufg/get-ufg-client.d.ts +3 -3
- package/types/ufg/open-eyes.d.ts +5 -11
- package/types/ufg/types.d.ts +18 -17
- package/types/universal/core.d.ts +6 -4
package/dist/ufg/core.js
CHANGED
|
@@ -34,51 +34,56 @@ const set_viewport_size_1 = require("../automation/set-viewport-size");
|
|
|
34
34
|
const locate_1 = require("../automation/locate");
|
|
35
35
|
const locate_text_1 = require("../automation/locate-text");
|
|
36
36
|
const extract_text_1 = require("../automation/extract-text");
|
|
37
|
+
const get_ufg_client_1 = require("./get-ufg-client");
|
|
38
|
+
const get_nml_client_1 = require("./get-nml-client");
|
|
37
39
|
const open_eyes_1 = require("./open-eyes");
|
|
38
40
|
const utils = __importStar(require("@applitools/utils"));
|
|
39
41
|
const throat_1 = __importDefault(require("throat"));
|
|
40
|
-
function makeCore({ concurrency, spec, clients,
|
|
42
|
+
function makeCore({ concurrency, spec, clients, base, agentId = 'core-ufg', cwd = process.cwd(), logger: defaultLogger, }) {
|
|
41
43
|
var _a;
|
|
42
|
-
logger = (_a =
|
|
43
|
-
logger.log(`Core ufg is initialized ${
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
44
|
+
const logger = (_a = defaultLogger === null || defaultLogger === void 0 ? void 0 : defaultLogger.extend({ label: 'core-ufg' })) !== null && _a !== void 0 ? _a : (0, logger_1.makeLogger)({ label: 'core-ufg' });
|
|
45
|
+
logger.log(`Core ufg is initialized ${base ? 'with' : 'without'} custom base core`);
|
|
46
|
+
base !== null && base !== void 0 ? base : (base = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
|
|
47
|
+
return utils.general.extend(base, core => {
|
|
48
|
+
const throttle = (0, throat_1.default)(concurrency);
|
|
49
|
+
return {
|
|
50
|
+
type: 'ufg',
|
|
51
|
+
base: utils.general.extend(base, {
|
|
52
|
+
// open eyes with concurrency
|
|
53
|
+
openEyes: utils.general.wrap(base.openEyes, (openEyes, options) => {
|
|
54
|
+
return new Promise((resolve, rejects) => {
|
|
55
|
+
throttle(() => {
|
|
56
|
+
return new Promise(async (done) => {
|
|
57
|
+
try {
|
|
58
|
+
const eyes = await openEyes(options);
|
|
59
|
+
resolve(utils.general.extend(eyes, {
|
|
60
|
+
// release concurrency slot when closed
|
|
61
|
+
close: utils.general.wrap(eyes.close, (close, options) => close(options).finally(done)),
|
|
62
|
+
// release concurrency slot when aborted
|
|
63
|
+
abort: utils.general.wrap(eyes.abort, (abort, options) => abort(options).finally(done)),
|
|
64
|
+
// release concurrency slot when checkAndClose is done
|
|
65
|
+
checkAndClose: utils.general.wrap(eyes.checkAndClose, (checkAndClose, options) => checkAndClose(options).finally(done)),
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
rejects(error);
|
|
70
|
+
// release concurrency slot when error thrown
|
|
71
|
+
done();
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}),
|
|
77
|
+
}),
|
|
78
|
+
getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
|
|
79
|
+
setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
|
|
80
|
+
locate: (0, locate_1.makeLocate)({ spec, core, logger }),
|
|
81
|
+
locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
|
|
82
|
+
extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
|
|
83
|
+
getUFGClient: (0, get_ufg_client_1.makeGetUFGClient)({ client: clients === null || clients === void 0 ? void 0 : clients.ufg, logger }),
|
|
84
|
+
getNMLClient: (0, get_nml_client_1.makeGetNMLClient)({ client: clients === null || clients === void 0 ? void 0 : clients.nml, logger }),
|
|
85
|
+
openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, logger }),
|
|
86
|
+
};
|
|
82
87
|
});
|
|
83
88
|
}
|
|
84
89
|
exports.makeCore = makeCore;
|
|
@@ -25,23 +25,26 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.makeGetBaseEyes = void 0;
|
|
27
27
|
const utils = __importStar(require("@applitools/utils"));
|
|
28
|
-
function makeGetBaseEyes({
|
|
28
|
+
function makeGetBaseEyes({ settings: defaultSettings, eyes, base, logger: defaultLogger, }) {
|
|
29
29
|
const getBaseEyesWithCache = utils.general.cachify(getBaseEyes, ([options]) => options === null || options === void 0 ? void 0 : options.settings);
|
|
30
|
-
if (
|
|
31
|
-
|
|
30
|
+
if (base) {
|
|
31
|
+
base.forEach(baseEyes => getBaseEyesWithCache.setCachedValue(baseEyes.test.rendererInfo, Promise.resolve([baseEyes])));
|
|
32
32
|
}
|
|
33
33
|
return getBaseEyesWithCache;
|
|
34
34
|
async function getBaseEyes({ settings, logger = defaultLogger, } = {}) {
|
|
35
35
|
logger.log(`Command "getBaseEyes" is called with settings`, settings);
|
|
36
36
|
if (!settings)
|
|
37
37
|
throw new Error('');
|
|
38
|
-
const ufgClient = await eyes.getUFGClient({
|
|
38
|
+
const ufgClient = await eyes.core.getUFGClient({
|
|
39
|
+
config: { ...eyes.test.account, ...eyes.test.account.ufg, proxy: eyes.test.server.proxy },
|
|
40
|
+
logger,
|
|
41
|
+
});
|
|
39
42
|
const environment = await ufgClient.bookRenderer({ settings });
|
|
40
|
-
const
|
|
43
|
+
const baseEyes = await eyes.core.base.openEyes({
|
|
41
44
|
settings: { ...defaultSettings, environment: { ...defaultSettings.environment, ...environment } },
|
|
42
45
|
logger,
|
|
43
46
|
});
|
|
44
|
-
return [
|
|
47
|
+
return [baseEyes];
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
50
|
exports.makeGetBaseEyes = makeGetBaseEyes;
|
|
@@ -26,12 +26,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.makeGetNMLClient = void 0;
|
|
27
27
|
const nml_client_1 = require("@applitools/nml-client");
|
|
28
28
|
const utils = __importStar(require("@applitools/utils"));
|
|
29
|
-
function makeGetNMLClient({
|
|
30
|
-
const
|
|
29
|
+
function makeGetNMLClient({ client, logger: defaultLogger }) {
|
|
30
|
+
const getNMLClientWithCache = utils.general.cachify(getNMLClient, ([options]) => client ? 'default' : [options.driver.sessionId, options.config]);
|
|
31
31
|
if (client)
|
|
32
|
-
|
|
33
|
-
return
|
|
34
|
-
async function getNMLClient({ driver, logger = defaultLogger }) {
|
|
32
|
+
getNMLClientWithCache.setCachedValue('default', Promise.resolve(client));
|
|
33
|
+
return getNMLClientWithCache;
|
|
34
|
+
async function getNMLClient({ driver, config, logger = defaultLogger, }) {
|
|
35
35
|
const brokerUrl = await driver.extractBrokerUrl();
|
|
36
36
|
if (!brokerUrl)
|
|
37
37
|
return null;
|
|
@@ -26,13 +26,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.makeGetUFGClient = void 0;
|
|
27
27
|
const ufg_client_1 = require("@applitools/ufg-client");
|
|
28
28
|
const utils = __importStar(require("@applitools/utils"));
|
|
29
|
-
function makeGetUFGClient({
|
|
30
|
-
const
|
|
29
|
+
function makeGetUFGClient({ client, logger: defaultLogger }) {
|
|
30
|
+
const getUFGClientWithCache = utils.general.cachify(getUFGClient, ([options]) => client ? 'default' : [options.config]);
|
|
31
31
|
if (client)
|
|
32
|
-
|
|
33
|
-
return
|
|
34
|
-
async function getUFGClient({ logger = defaultLogger }
|
|
35
|
-
return (0, ufg_client_1.makeUFGClient)({ config, concurrency, logger });
|
|
32
|
+
getUFGClientWithCache.setCachedValue('default', Promise.resolve(client));
|
|
33
|
+
return getUFGClientWithCache;
|
|
34
|
+
async function getUFGClient({ config, concurrency, logger = defaultLogger, }) {
|
|
35
|
+
return (0, ufg_client_1.makeUFGClient)({ config, concurrency: concurrency || 5, logger });
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
exports.makeGetUFGClient = makeGetUFGClient;
|
package/dist/ufg/open-eyes.js
CHANGED
|
@@ -25,8 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.makeOpenEyes = void 0;
|
|
27
27
|
const driver_1 = require("@applitools/driver");
|
|
28
|
-
const get_ufg_client_1 = require("./get-ufg-client");
|
|
29
|
-
const get_nml_client_1 = require("./get-nml-client");
|
|
30
28
|
const get_base_eyes_1 = require("./get-base-eyes");
|
|
31
29
|
const check_1 = require("./check");
|
|
32
30
|
const check_and_close_1 = require("./check-and-close");
|
|
@@ -35,12 +33,12 @@ const abort_1 = require("./abort");
|
|
|
35
33
|
const get_results_1 = require("./get-results");
|
|
36
34
|
const abort_controller_1 = require("abort-controller");
|
|
37
35
|
const utils = __importStar(require("@applitools/utils"));
|
|
38
|
-
function makeOpenEyes({ core,
|
|
39
|
-
return async function openEyes({ target, settings,
|
|
36
|
+
function makeOpenEyes({ core, spec, logger: defaultLogger }) {
|
|
37
|
+
return async function openEyes({ target, settings, base, logger = defaultLogger, }) {
|
|
40
38
|
var _a;
|
|
41
|
-
logger.log(`Command "openEyes" is called with ${target ? 'default driver and' : ''}`, ...(settings ? ['settings', settings] : []),
|
|
39
|
+
logger.log(`Command "openEyes" is called with ${target ? 'default driver and' : ''}`, ...(settings ? ['settings', settings] : []), base ? 'predefined eyes' : '');
|
|
42
40
|
const driver = target && (await (0, driver_1.makeDriver)({ spec, driver: target, logger }));
|
|
43
|
-
if (driver && !
|
|
41
|
+
if (driver && !base) {
|
|
44
42
|
const currentContext = driver.currentContext;
|
|
45
43
|
(_a = settings.environment) !== null && _a !== void 0 ? _a : (settings.environment = {});
|
|
46
44
|
if (driver.isEC) {
|
|
@@ -54,11 +52,12 @@ function makeOpenEyes({ core, clients, spec, logger: defaultLogger }) {
|
|
|
54
52
|
const controller = new abort_controller_1.AbortController();
|
|
55
53
|
const account = await core.getAccountInfo({ settings, logger });
|
|
56
54
|
return utils.general.extend({}, eyes => {
|
|
57
|
-
var _a
|
|
55
|
+
var _a;
|
|
58
56
|
const storage = new Map();
|
|
59
57
|
let running = true;
|
|
60
58
|
return {
|
|
61
59
|
type: 'ufg',
|
|
60
|
+
core,
|
|
62
61
|
test: {
|
|
63
62
|
userTestId: settings.userTestId,
|
|
64
63
|
batchId: (_a = settings.batch) === null || _a === void 0 ? void 0 : _a.id,
|
|
@@ -69,14 +68,7 @@ function makeOpenEyes({ core, clients, spec, logger: defaultLogger }) {
|
|
|
69
68
|
get running() {
|
|
70
69
|
return running;
|
|
71
70
|
},
|
|
72
|
-
|
|
73
|
-
config: { ...account.ufg, ...account, proxy: settings.proxy },
|
|
74
|
-
concurrency: (_b = settings.renderConcurrency) !== null && _b !== void 0 ? _b : 5,
|
|
75
|
-
client: clients === null || clients === void 0 ? void 0 : clients.ufg,
|
|
76
|
-
logger,
|
|
77
|
-
}),
|
|
78
|
-
getNMLClient: (0, get_nml_client_1.makeGetNMLClient)({ config: settings, client: clients === null || clients === void 0 ? void 0 : clients.nml, logger }),
|
|
79
|
-
getBaseEyes: (0, get_base_eyes_1.makeGetBaseEyes)({ eyes, settings, core, logger }),
|
|
71
|
+
getBaseEyes: (0, get_base_eyes_1.makeGetBaseEyes)({ settings, eyes, base, logger }),
|
|
80
72
|
// check with indexing and storage
|
|
81
73
|
check: utils.general.wrap((0, check_1.makeCheck)({ eyes, target: driver, spec, signal: controller.signal, logger }), async (check, options = {}) => {
|
|
82
74
|
const results = await check(options);
|
|
@@ -125,9 +125,10 @@ printStdout = false, ...handlerOptions } = {}) {
|
|
|
125
125
|
const core = await corePromise;
|
|
126
126
|
return core.extractText(options);
|
|
127
127
|
});
|
|
128
|
+
// TODO rename to getECClient
|
|
128
129
|
socket.command('Core.makeECClient', async (options) => {
|
|
129
130
|
const core = await corePromise;
|
|
130
|
-
const client = await core.
|
|
131
|
+
const client = await core.getECClient(options);
|
|
131
132
|
return { url: client.url };
|
|
132
133
|
});
|
|
133
134
|
socket.command('Core.makeManager', async (options) => {
|
package/dist/universal/core.js
CHANGED
|
@@ -31,7 +31,8 @@ const utils = __importStar(require("@applitools/utils"));
|
|
|
31
31
|
//TODO add refer and sanitizing support, solve types issues
|
|
32
32
|
function makeCore(options) {
|
|
33
33
|
const socketPromise = makeClientSocket(options);
|
|
34
|
-
|
|
34
|
+
const core = {
|
|
35
|
+
base: null,
|
|
35
36
|
async getAccountInfo(options) {
|
|
36
37
|
const socket = await socketPromise;
|
|
37
38
|
return socket.request('Core.getAccountInfo', options);
|
|
@@ -58,15 +59,15 @@ function makeCore(options) {
|
|
|
58
59
|
},
|
|
59
60
|
async openEyes(options) {
|
|
60
61
|
const socket = await socketPromise;
|
|
61
|
-
const
|
|
62
|
-
return makeEyes({ socket,
|
|
62
|
+
const eyesRef = await socket.request('Core.openEyes', options);
|
|
63
|
+
return makeEyes({ socket, core, eyesRef });
|
|
63
64
|
},
|
|
64
65
|
async makeManager(options) {
|
|
65
66
|
const socket = await socketPromise;
|
|
66
|
-
const
|
|
67
|
-
return makeManager({ socket,
|
|
67
|
+
const managerRef = await socket.request('Core.makeManager', options);
|
|
68
|
+
return makeManager({ socket, core, managerRef });
|
|
68
69
|
},
|
|
69
|
-
async
|
|
70
|
+
async getECClient(options) {
|
|
70
71
|
const socket = await socketPromise;
|
|
71
72
|
return socket.request('Core.makeECClient', options);
|
|
72
73
|
},
|
|
@@ -83,24 +84,27 @@ function makeCore(options) {
|
|
|
83
84
|
return socket.request('Core.logEvent', options);
|
|
84
85
|
},
|
|
85
86
|
};
|
|
87
|
+
return core;
|
|
86
88
|
}
|
|
87
89
|
exports.makeCore = makeCore;
|
|
88
|
-
function makeManager({ socket,
|
|
89
|
-
|
|
90
|
+
function makeManager({ socket, core, managerRef, }) {
|
|
91
|
+
const manager = {
|
|
90
92
|
async openEyes(options) {
|
|
91
|
-
const
|
|
92
|
-
return makeEyes({ socket,
|
|
93
|
+
const eyesRef = await socket.request('EyesManager.openEyes', { ...options, manager: managerRef });
|
|
94
|
+
return makeEyes({ socket, core, eyesRef });
|
|
93
95
|
},
|
|
94
96
|
async getResults(options) {
|
|
95
|
-
return socket.request('EyesManager.getResults', { ...options, manager });
|
|
97
|
+
return socket.request('EyesManager.getResults', { ...options, manager: managerRef });
|
|
96
98
|
},
|
|
97
99
|
};
|
|
100
|
+
return manager;
|
|
98
101
|
}
|
|
99
102
|
exports.makeManager = makeManager;
|
|
100
|
-
function makeEyes({ socket,
|
|
101
|
-
|
|
103
|
+
function makeEyes({ socket, core, eyesRef, }) {
|
|
104
|
+
const eyes = {
|
|
102
105
|
test: null,
|
|
103
106
|
running: null,
|
|
107
|
+
core,
|
|
104
108
|
getBaseEyes() {
|
|
105
109
|
return null;
|
|
106
110
|
},
|
|
@@ -108,21 +112,22 @@ function makeEyes({ socket, eyes, }) {
|
|
|
108
112
|
return null;
|
|
109
113
|
},
|
|
110
114
|
async check(options) {
|
|
111
|
-
return socket.request('Eyes.check', { ...options, eyes });
|
|
115
|
+
return socket.request('Eyes.check', { ...options, eyes: eyesRef });
|
|
112
116
|
},
|
|
113
117
|
async checkAndClose(options) {
|
|
114
|
-
return socket.request('Eyes.checkAndClose', { ...options, eyes });
|
|
118
|
+
return socket.request('Eyes.checkAndClose', { ...options, eyes: eyesRef });
|
|
115
119
|
},
|
|
116
120
|
async close(options) {
|
|
117
|
-
return socket.request('Eyes.close', { ...options, eyes });
|
|
121
|
+
return socket.request('Eyes.close', { ...options, eyes: eyesRef });
|
|
118
122
|
},
|
|
119
123
|
async abort(options) {
|
|
120
|
-
return socket.request('Eyes.abort', { ...options, eyes });
|
|
124
|
+
return socket.request('Eyes.abort', { ...options, eyes: eyesRef });
|
|
121
125
|
},
|
|
122
126
|
async getResults(options) {
|
|
123
|
-
return socket.request('Eyes.getResults', { ...options, eyes });
|
|
127
|
+
return socket.request('Eyes.getResults', { ...options, eyes: eyesRef });
|
|
124
128
|
},
|
|
125
129
|
};
|
|
130
|
+
return eyes;
|
|
126
131
|
}
|
|
127
132
|
exports.makeEyes = makeEyes;
|
|
128
133
|
async function makeClientSocket({ agentId, spec, }) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/core",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.15",
|
|
4
4
|
"homepage": "https://applitools.com",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -50,19 +50,21 @@
|
|
|
50
50
|
"build:bin:arm64": "pkg . --target node14-linux-arm64 --output ./bin/core-linux-arm64",
|
|
51
51
|
"build:bin:zip": "zip -j ./bin/core.zip $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
|
|
52
52
|
"build:bin:tgz": "tar -czf ./bin/core.tar.gz $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
|
|
53
|
-
"test": "mocha --
|
|
53
|
+
"test": "node ../../node_modules/.bin/mocha './test/**/*.spec.ts' --exclude './test/bin/**' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
|
|
54
|
+
"test:bin": "MOCHA_GROUP=bin node ../../node_modules/mocha/bin/mocha './test/bin/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15}",
|
|
55
|
+
"test:e2e": "MOCHA_GROUP=e2e node ../../node_modules/mocha/bin/mocha './test/e2e/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
|
|
56
|
+
"test:it": "MOCHA_GROUP=it node ../../node_modules/.bin/mocha './test/it/**/*.spec.ts'",
|
|
57
|
+
"test:unit": "MOCHA_GROUP=unit node ../../node_modules/.bin/mocha './test/unit/**/*.spec.ts'",
|
|
54
58
|
"test:sanity": "yarn test:unit",
|
|
55
|
-
"
|
|
56
|
-
"test:e2e": "mocha --no-timeouts -r ts-node/register --parallel --jobs 15 './test/e2e/**/*.spec.ts'",
|
|
57
|
-
"test:it": "mocha --no-timeouts -r ts-node/register './test/it/**/*.spec.ts'",
|
|
58
|
-
"test:unit": "mocha --no-timeouts -r ts-node/register './test/unit/**/*.spec.ts'",
|
|
59
|
+
"report": "bongo report --name 'core'",
|
|
59
60
|
"setup": "yarn docker:setup",
|
|
60
61
|
"docker:setup": "node ../../scripts/generate-docker-compose-config.js && docker-compose up -d",
|
|
61
62
|
"docker:teardown": "docker-compose down",
|
|
62
63
|
"deps": "bongo deps",
|
|
63
64
|
"preversion": "bongo preversion --verify-pending-changes --skip-deps",
|
|
64
65
|
"version": "bongo version --with-pending-changes",
|
|
65
|
-
"postversion": "bongo postversion"
|
|
66
|
+
"postversion": "bongo postversion",
|
|
67
|
+
"postpublish": "bongo send-release-notification --name 'core'"
|
|
66
68
|
},
|
|
67
69
|
"pkg": {
|
|
68
70
|
"scripts": "./dist/cli/cli.js",
|
|
@@ -73,20 +75,20 @@
|
|
|
73
75
|
]
|
|
74
76
|
},
|
|
75
77
|
"dependencies": {
|
|
76
|
-
"@applitools/core-base": "1.1.
|
|
78
|
+
"@applitools/core-base": "1.1.41",
|
|
77
79
|
"@applitools/dom-capture": "11.2.1",
|
|
78
80
|
"@applitools/dom-snapshot": "4.7.5",
|
|
79
|
-
"@applitools/driver": "1.11.
|
|
80
|
-
"@applitools/ec-client": "1.2.
|
|
81
|
-
"@applitools/logger": "1.1.
|
|
82
|
-
"@applitools/nml-client": "1.3.
|
|
83
|
-
"@applitools/req": "1.1.
|
|
84
|
-
"@applitools/screenshoter": "3.7.
|
|
85
|
-
"@applitools/snippets": "2.4.
|
|
86
|
-
"@applitools/socket": "1.0.
|
|
87
|
-
"@applitools/spec-driver-webdriver": "1.0.
|
|
88
|
-
"@applitools/ufg-client": "1.2.
|
|
89
|
-
"@applitools/utils": "1.3.
|
|
81
|
+
"@applitools/driver": "1.11.36",
|
|
82
|
+
"@applitools/ec-client": "1.2.15",
|
|
83
|
+
"@applitools/logger": "1.1.47",
|
|
84
|
+
"@applitools/nml-client": "1.3.39",
|
|
85
|
+
"@applitools/req": "1.1.31",
|
|
86
|
+
"@applitools/screenshoter": "3.7.30",
|
|
87
|
+
"@applitools/snippets": "2.4.16",
|
|
88
|
+
"@applitools/socket": "1.0.9",
|
|
89
|
+
"@applitools/spec-driver-webdriver": "1.0.16",
|
|
90
|
+
"@applitools/ufg-client": "1.2.2",
|
|
91
|
+
"@applitools/utils": "1.3.31",
|
|
90
92
|
"@types/ws": "8.5.4",
|
|
91
93
|
"abort-controller": "3.0.0",
|
|
92
94
|
"chalk": "4.1.2",
|
|
@@ -97,20 +99,17 @@
|
|
|
97
99
|
"yargs": "17.6.2"
|
|
98
100
|
},
|
|
99
101
|
"devDependencies": {
|
|
100
|
-
"@applitools/bongo": "^
|
|
101
|
-
"@applitools/sdk-coverage-tests": "^
|
|
102
|
-
"@applitools/spec-driver-puppeteer": "^1.1.
|
|
103
|
-
"@applitools/spec-driver-selenium": "^1.5.
|
|
104
|
-
"@applitools/spec-driver-webdriverio": "^1.4.
|
|
105
|
-
"@applitools/test-server": "^1.1.
|
|
106
|
-
"@applitools/test-utils": "^1.5.
|
|
107
|
-
"@types/
|
|
108
|
-
"@types/node": "12",
|
|
102
|
+
"@applitools/bongo": "^3.0.1",
|
|
103
|
+
"@applitools/sdk-coverage-tests": "^3.0.0",
|
|
104
|
+
"@applitools/spec-driver-puppeteer": "^1.1.48",
|
|
105
|
+
"@applitools/spec-driver-selenium": "^1.5.33",
|
|
106
|
+
"@applitools/spec-driver-webdriverio": "^1.4.31",
|
|
107
|
+
"@applitools/test-server": "^1.1.27",
|
|
108
|
+
"@applitools/test-utils": "^1.5.13",
|
|
109
|
+
"@types/node": "^12.20.55",
|
|
109
110
|
"@types/selenium-webdriver": "^4.1.2",
|
|
110
111
|
"@types/yargs": "^17.0.22",
|
|
111
112
|
"chromedriver": "^106.0.0",
|
|
112
|
-
"mocha": "^10.0.0",
|
|
113
|
-
"mocha-multi": "^1.1.7",
|
|
114
113
|
"nock": "^13.2.8",
|
|
115
114
|
"pkg": "^5.8.0",
|
|
116
115
|
"png-async": "^0.9.4",
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import type { MaybeArray } from '@applitools/utils';
|
|
2
|
-
import type {
|
|
3
|
-
import type { Core as BaseCore } from '@applitools/core-base';
|
|
2
|
+
import type { Target, Core, ExtractTextSettings } from '../classic/types';
|
|
4
3
|
import { type Logger } from '@applitools/logger';
|
|
5
4
|
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
6
5
|
type Options<TSpec extends SpecType> = {
|
|
7
|
-
core:
|
|
6
|
+
core: Core<TSpec>;
|
|
8
7
|
spec?: SpecDriver<TSpec>;
|
|
9
8
|
logger: Logger;
|
|
10
9
|
};
|
|
11
10
|
export declare function makeExtractText<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): ({ target, settings, logger, }: {
|
|
12
|
-
target:
|
|
11
|
+
target: Target<TSpec>;
|
|
13
12
|
settings: MaybeArray<ExtractTextSettings<TSpec>>;
|
|
14
13
|
logger?: Logger | undefined;
|
|
15
14
|
}) => Promise<string[]>;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Core as BaseCore } from '@applitools/core-base';
|
|
1
|
+
import type { Target, Core, LocateTextSettings, LocateTextResult } from './types';
|
|
3
2
|
import { type Logger } from '@applitools/logger';
|
|
4
3
|
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
5
4
|
type Options<TSpec extends SpecType> = {
|
|
6
|
-
core:
|
|
5
|
+
core: Core<TSpec>;
|
|
7
6
|
spec?: SpecDriver<TSpec>;
|
|
8
7
|
logger: Logger;
|
|
9
8
|
};
|
|
10
9
|
export declare function makeLocateText<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): <TPattern extends string>({ target, settings, logger, }: {
|
|
11
|
-
target:
|
|
10
|
+
target: Target<TSpec>;
|
|
12
11
|
settings: LocateTextSettings<TPattern, TSpec>;
|
|
13
12
|
logger?: Logger | undefined;
|
|
14
13
|
}) => Promise<LocateTextResult<TPattern>>;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Core as BaseCore } from '@applitools/core-base';
|
|
1
|
+
import type { Target, Core, LocateSettings, LocateResult } from './types';
|
|
3
2
|
import { type Logger } from '@applitools/logger';
|
|
4
3
|
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
5
4
|
type Options<TSpec extends SpecType> = {
|
|
6
|
-
core:
|
|
5
|
+
core: Core<TSpec>;
|
|
7
6
|
spec?: SpecDriver<TSpec>;
|
|
8
7
|
logger: Logger;
|
|
9
8
|
};
|
|
10
9
|
export declare function makeLocate<TSpec extends SpecType>({ spec, core, logger: defaultLogger }: Options<TSpec>): <TLocator extends string>({ settings, target, logger, }: {
|
|
11
|
-
target:
|
|
10
|
+
target: Target<TSpec>;
|
|
12
11
|
settings: LocateSettings<TLocator, TSpec>;
|
|
13
12
|
logger?: Logger | undefined;
|
|
14
13
|
}) => Promise<LocateResult<TLocator>>;
|
|
@@ -5,10 +5,8 @@ import { type Logger } from '@applitools/logger';
|
|
|
5
5
|
export * from '@applitools/core-base/types';
|
|
6
6
|
export type DriverTarget<TSpec extends SpecType> = TSpec['driver'] | Driver<TSpec>;
|
|
7
7
|
export type Target<TSpec extends SpecType> = DriverTarget<TSpec> | BaseCore.Target;
|
|
8
|
-
export interface Core<TSpec extends SpecType
|
|
9
|
-
|
|
10
|
-
isElement?(element: any): element is TSpec['element'];
|
|
11
|
-
isSelector?(selector: any): selector is TSpec['selector'];
|
|
8
|
+
export interface Core<TSpec extends SpecType> extends BaseCore.Core {
|
|
9
|
+
readonly base: BaseCore.Core;
|
|
12
10
|
getViewportSize?(options: {
|
|
13
11
|
target: DriverTarget<TSpec>;
|
|
14
12
|
logger?: Logger;
|
|
@@ -21,36 +19,37 @@ export interface Core<TSpec extends SpecType, TTarget = Target<TSpec>, TEyes ext
|
|
|
21
19
|
openEyes(options: {
|
|
22
20
|
target?: DriverTarget<TSpec>;
|
|
23
21
|
settings: BaseCore.OpenSettings;
|
|
24
|
-
|
|
22
|
+
base?: BaseCore.Eyes[];
|
|
25
23
|
logger?: Logger;
|
|
26
|
-
}): Promise<
|
|
24
|
+
}): Promise<Eyes<TSpec>>;
|
|
27
25
|
locate<TLocator extends string>(options: {
|
|
28
|
-
target:
|
|
26
|
+
target: Target<TSpec>;
|
|
29
27
|
settings: LocateSettings<TLocator, TSpec>;
|
|
30
28
|
logger?: Logger;
|
|
31
29
|
}): Promise<BaseCore.LocateResult<TLocator>>;
|
|
32
30
|
locateText<TPattern extends string>(options: {
|
|
33
|
-
target:
|
|
31
|
+
target: Target<TSpec>;
|
|
34
32
|
settings: LocateTextSettings<TPattern, TSpec>;
|
|
35
33
|
logger?: Logger;
|
|
36
34
|
}): Promise<BaseCore.LocateTextResult<TPattern>>;
|
|
37
35
|
extractText(options: {
|
|
38
|
-
target:
|
|
36
|
+
target: Target<TSpec>;
|
|
39
37
|
settings: MaybeArray<ExtractTextSettings<TSpec>>;
|
|
40
38
|
logger?: Logger;
|
|
41
39
|
}): Promise<string[]>;
|
|
42
40
|
}
|
|
43
|
-
export interface Eyes<TSpec extends SpecType
|
|
41
|
+
export interface Eyes<TSpec extends SpecType> extends BaseCore.Eyes {
|
|
42
|
+
readonly core: Core<TSpec>;
|
|
44
43
|
getBaseEyes(options?: {
|
|
45
44
|
logger?: Logger;
|
|
46
45
|
}): Promise<BaseCore.Eyes[]>;
|
|
47
46
|
check(options?: {
|
|
48
|
-
target?:
|
|
47
|
+
target?: Target<TSpec>;
|
|
49
48
|
settings?: CheckSettings<TSpec>;
|
|
50
49
|
logger?: Logger;
|
|
51
50
|
}): Promise<BaseCore.CheckResult[]>;
|
|
52
51
|
checkAndClose(options?: {
|
|
53
|
-
target?:
|
|
52
|
+
target?: Target<TSpec>;
|
|
54
53
|
settings?: CheckSettings<TSpec> & BaseCore.CloseSettings;
|
|
55
54
|
logger?: Logger;
|
|
56
55
|
}): Promise<BaseCore.TestResult[]>;
|
package/types/classic/core.d.ts
CHANGED
|
@@ -4,10 +4,10 @@ import { type Logger } from '@applitools/logger';
|
|
|
4
4
|
import { type Core as BaseCore } from '@applitools/core-base';
|
|
5
5
|
type Options<TSpec extends SpecType> = {
|
|
6
6
|
spec?: SpecDriver<TSpec>;
|
|
7
|
-
|
|
7
|
+
base?: BaseCore;
|
|
8
8
|
agentId?: string;
|
|
9
9
|
cwd?: string;
|
|
10
10
|
logger?: Logger;
|
|
11
11
|
};
|
|
12
|
-
export declare function makeCore<TSpec extends SpecType>({ spec,
|
|
12
|
+
export declare function makeCore<TSpec extends SpecType>({ spec, base, agentId, cwd, logger: defaultLogger, }: Options<TSpec>): Core<TSpec>;
|
|
13
13
|
export {};
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import type { OpenSettings } from './types';
|
|
2
|
-
import type {
|
|
1
|
+
import type { Eyes, OpenSettings } from './types';
|
|
2
|
+
import type { Eyes as BaseEyes } from '@applitools/core-base';
|
|
3
|
+
import { type SpecType } from '@applitools/driver';
|
|
3
4
|
import { type Logger } from '@applitools/logger';
|
|
4
|
-
type Options = {
|
|
5
|
+
type Options<TSpec extends SpecType> = {
|
|
5
6
|
settings: OpenSettings;
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
eyes: Eyes<TSpec>;
|
|
8
|
+
base?: BaseEyes[];
|
|
8
9
|
logger: Logger;
|
|
9
10
|
};
|
|
10
|
-
export declare function makeGetBaseEyes({ settings,
|
|
11
|
+
export declare function makeGetBaseEyes<TSpec extends SpecType>({ settings, eyes, base, logger: defaultLogger }: Options<TSpec>): (({ logger }?: {
|
|
11
12
|
logger?: Logger | undefined;
|
|
12
13
|
}) => Promise<BaseEyes[]>) & {
|
|
13
|
-
getCachedValues(): Promise<BaseEyes
|
|
14
|
-
setCachedValue(key: any, value: Promise<BaseEyes
|
|
14
|
+
getCachedValues(): Promise<BaseEyes[]>[];
|
|
15
|
+
setCachedValue(key: any, value: Promise<BaseEyes[]>): void;
|
|
15
16
|
clearCache(): void;
|
|
16
17
|
};
|
|
17
18
|
export {};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import type { DriverTarget, Eyes, OpenSettings } from './types';
|
|
2
|
-
import type {
|
|
1
|
+
import type { Core, DriverTarget, Eyes, OpenSettings } from './types';
|
|
2
|
+
import type { Eyes as BaseEyes } from '@applitools/core-base';
|
|
3
3
|
import { type Logger } from '@applitools/logger';
|
|
4
4
|
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
5
5
|
type Options<TSpec extends SpecType> = {
|
|
6
|
-
core:
|
|
6
|
+
core: Core<TSpec>;
|
|
7
7
|
spec?: SpecDriver<TSpec>;
|
|
8
8
|
logger: Logger;
|
|
9
9
|
};
|
|
10
|
-
export declare function makeOpenEyes<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): ({ target, settings,
|
|
10
|
+
export declare function makeOpenEyes<TSpec extends SpecType>({ core, spec, logger: defaultLogger }: Options<TSpec>): ({ target, settings, base, logger, }: {
|
|
11
11
|
target?: DriverTarget<TSpec> | undefined;
|
|
12
12
|
settings: OpenSettings;
|
|
13
|
-
|
|
13
|
+
base?: BaseEyes[] | undefined;
|
|
14
14
|
logger?: Logger | undefined;
|
|
15
15
|
}) => Promise<Eyes<TSpec>>;
|
|
16
16
|
export {};
|