@applitools/core 2.0.1 → 2.2.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/CHANGELOG.md +15 -0
- package/dist/cli/cli.js +89 -0
- package/dist/index.js +2 -0
- package/dist/make-manager.js +2 -2
- package/dist/ufg/check-and-close.js +2 -6
- package/dist/ufg/open-eyes.js +9 -1
- package/dist/ufg/utils/generate-safe-selectors.js +2 -4
- package/dist/universal/core-server-process.js +31 -0
- package/dist/universal/core-server.js +150 -0
- package/dist/universal/core.js +145 -0
- package/dist/universal/refer.js +67 -0
- package/dist/universal/spec-driver.js +166 -0
- package/dist/universal/types.js +2 -0
- package/dist/universal/ws-server.js +59 -0
- package/package.json +40 -17
- package/types/automation/extract-text.d.ts +0 -16
- package/types/automation/get-viewport-size.d.ts +0 -12
- package/types/automation/locate-text.d.ts +0 -15
- package/types/automation/locate.d.ts +0 -15
- package/types/automation/set-viewport-size.d.ts +0 -14
- package/types/automation/types.d.ts +0 -84
- package/types/automation/utils/take-screenshot.d.ts +0 -19
- package/types/automation/utils/to-base-check-settings.d.ts +0 -17
- package/types/automation/utils/wait-for-lazy-load.d.ts +0 -14
- package/types/check-and-close.d.ts +0 -18
- package/types/check.d.ts +0 -18
- package/types/classic/abort.d.ts +0 -16
- package/types/classic/check-and-close.d.ts +0 -19
- package/types/classic/check.d.ts +0 -15
- package/types/classic/close.d.ts +0 -16
- package/types/classic/core.d.ts +0 -13
- package/types/classic/get-base-eyes.d.ts +0 -17
- package/types/classic/open-eyes.d.ts +0 -16
- package/types/classic/types.d.ts +0 -34
- package/types/classic/utils/take-dom-capture.d.ts +0 -14
- package/types/close-batch.d.ts +0 -13
- package/types/close.d.ts +0 -13
- package/types/core.d.ts +0 -14
- package/types/delete-test.d.ts +0 -13
- package/types/errors/abort-error.d.ts +0 -4
- package/types/errors/internal-error.d.ts +0 -6
- package/types/errors/test-error.d.ts +0 -5
- package/types/extract-text.d.ts +0 -17
- package/types/get-eyes-results.d.ts +0 -12
- package/types/get-manager-results.d.ts +0 -14
- package/types/get-typed-eyes.d.ts +0 -22
- package/types/index.d.ts +0 -6
- package/types/locate-text.d.ts +0 -16
- package/types/locate.d.ts +0 -17
- package/types/make-ec-client.d.ts +0 -16
- package/types/make-manager.d.ts +0 -22
- package/types/open-eyes.d.ts +0 -23
- package/types/troubleshoot/check-network.d.ts +0 -21
- package/types/troubleshoot/eyes.d.ts +0 -11
- package/types/troubleshoot/ufg.d.ts +0 -10
- package/types/troubleshoot/utils.d.ts +0 -2
- package/types/types.d.ts +0 -130
- package/types/ufg/abort.d.ts +0 -16
- package/types/ufg/check-and-close.d.ts +0 -33
- package/types/ufg/check.d.ts +0 -19
- package/types/ufg/close.d.ts +0 -14
- package/types/ufg/core.d.ts +0 -16
- package/types/ufg/get-base-eyes.d.ts +0 -23
- package/types/ufg/get-results.d.ts +0 -11
- package/types/ufg/open-eyes.d.ts +0 -18
- package/types/ufg/types.d.ts +0 -69
- package/types/ufg/utils/extract-broker-url.d.ts +0 -6
- package/types/ufg/utils/generate-safe-selectors.d.ts +0 -16
- package/types/ufg/utils/take-dom-snapshot.d.ts +0 -49
- package/types/ufg/utils/take-dom-snapshots.d.ts +0 -24
- package/types/ufg/utils/take-snapshots.d.ts +0 -21
- package/types/ufg/utils/take-vhses.d.ts +0 -17
- package/types/ufg/utils/uniquify-renderers.d.ts +0 -2
- package/types/utils/extract-ci-provider.d.ts +0 -1
- package/types/utils/format-results.d.ts +0 -16
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.makeSpec = void 0;
|
|
27
|
+
const utils = __importStar(require("@applitools/utils"));
|
|
28
|
+
function makeSpec({ socket, spec, }) {
|
|
29
|
+
const commands = {
|
|
30
|
+
// #region UTILITY
|
|
31
|
+
isDriver(driver) {
|
|
32
|
+
return utils.types.has(driver, 'applitools-ref-id');
|
|
33
|
+
},
|
|
34
|
+
isContext(context) {
|
|
35
|
+
return utils.types.has(context, 'applitools-ref-id');
|
|
36
|
+
},
|
|
37
|
+
isElement(element) {
|
|
38
|
+
return utils.types.has(element, ['applitools-ref-id', 'type']) && element.type === 'element';
|
|
39
|
+
},
|
|
40
|
+
isSelector(selector) {
|
|
41
|
+
return ((utils.types.has(selector, ['applitools-ref-id', 'type']) && selector.type === 'selector') ||
|
|
42
|
+
utils.types.isString(selector) ||
|
|
43
|
+
(utils.types.isPlainObject(selector) &&
|
|
44
|
+
utils.types.has(selector, 'selector') &&
|
|
45
|
+
(utils.types.isString(selector.selector) || utils.types.has(selector, 'applitools-ref-id'))));
|
|
46
|
+
},
|
|
47
|
+
extractContext(driver) {
|
|
48
|
+
return driver.context;
|
|
49
|
+
},
|
|
50
|
+
extractSelector(element) {
|
|
51
|
+
return element.selector;
|
|
52
|
+
},
|
|
53
|
+
extractHostName(driver) {
|
|
54
|
+
var _a;
|
|
55
|
+
return (_a = driver.hostname) !== null && _a !== void 0 ? _a : null;
|
|
56
|
+
},
|
|
57
|
+
isStaleElementError(error) {
|
|
58
|
+
return error === null || error === void 0 ? void 0 : error.isStaleElementError;
|
|
59
|
+
},
|
|
60
|
+
async isEqualElements(context, element1, element2) {
|
|
61
|
+
return socket.request('Driver.isEqualElements', { context, element1, element2 });
|
|
62
|
+
},
|
|
63
|
+
// #endregion
|
|
64
|
+
// #region COMMANDS
|
|
65
|
+
async mainContext(context) {
|
|
66
|
+
return socket.request('Driver.mainContext', { context });
|
|
67
|
+
},
|
|
68
|
+
async parentContext(context) {
|
|
69
|
+
return socket.request('Driver.parentContext', { context });
|
|
70
|
+
},
|
|
71
|
+
async childContext(context, element) {
|
|
72
|
+
return socket.request('Driver.childContext', { context, element });
|
|
73
|
+
},
|
|
74
|
+
async executeScript(context, script, arg) {
|
|
75
|
+
return socket.request('Driver.executeScript', { context, script: script.toString(), arg });
|
|
76
|
+
},
|
|
77
|
+
async findElement(context, selector, parent) {
|
|
78
|
+
return socket.request('Driver.findElement', { context, selector, parent });
|
|
79
|
+
},
|
|
80
|
+
async findElements(context, selector, parent) {
|
|
81
|
+
return socket.request('Driver.findElements', { context, selector, parent });
|
|
82
|
+
},
|
|
83
|
+
async waitForSelector(context, selector, parent, options) {
|
|
84
|
+
return socket.request('Driver.waitForSelector', { context, selector, parent, options });
|
|
85
|
+
},
|
|
86
|
+
async getElementText(context, element) {
|
|
87
|
+
return socket.request('Driver.getElementText', { context, element });
|
|
88
|
+
},
|
|
89
|
+
async setElementText(context, element, text) {
|
|
90
|
+
return socket.request('Driver.setElementText', { context, element, text });
|
|
91
|
+
},
|
|
92
|
+
async getWindowSize(driver) {
|
|
93
|
+
return socket.request('Driver.getWindowSize', { driver });
|
|
94
|
+
},
|
|
95
|
+
async setWindowSize(driver, size) {
|
|
96
|
+
return socket.request('Driver.setWindowSize', { driver, size });
|
|
97
|
+
},
|
|
98
|
+
async getViewportSize(driver) {
|
|
99
|
+
return socket.request('Driver.getViewportSize', { driver });
|
|
100
|
+
},
|
|
101
|
+
async setViewportSize(driver, size) {
|
|
102
|
+
return socket.request('Driver.setViewportSize', { driver, size });
|
|
103
|
+
},
|
|
104
|
+
async getCookies(driver, context) {
|
|
105
|
+
return socket.request('Driver.getCookies', { driver, context });
|
|
106
|
+
},
|
|
107
|
+
async getCapabilities(driver) {
|
|
108
|
+
return socket.request('Driver.getCapabilities', { driver });
|
|
109
|
+
},
|
|
110
|
+
async getSessionMetadata(driver) {
|
|
111
|
+
return socket.request('Driver.getSessionMetadata', { driver });
|
|
112
|
+
},
|
|
113
|
+
async getDriverInfo(driver) {
|
|
114
|
+
return socket.request('Driver.getDriverInfo', { driver });
|
|
115
|
+
},
|
|
116
|
+
async getTitle(driver) {
|
|
117
|
+
return socket.request('Driver.getTitle', { driver });
|
|
118
|
+
},
|
|
119
|
+
async getUrl(driver) {
|
|
120
|
+
return socket.request('Driver.getUrl', { driver });
|
|
121
|
+
},
|
|
122
|
+
async takeScreenshot(driver) {
|
|
123
|
+
return socket.request('Driver.takeScreenshot', { driver });
|
|
124
|
+
},
|
|
125
|
+
async click(context, element) {
|
|
126
|
+
return socket.request('Driver.click', { context, element });
|
|
127
|
+
},
|
|
128
|
+
async visit(driver, url) {
|
|
129
|
+
return socket.request('Driver.visit', { driver, url });
|
|
130
|
+
},
|
|
131
|
+
// #endregion
|
|
132
|
+
// #region NATIVE COMMANDS
|
|
133
|
+
async getSystemBars(driver) {
|
|
134
|
+
return socket.request('Driver.getSystemBars', { driver });
|
|
135
|
+
},
|
|
136
|
+
async getOrientation(driver) {
|
|
137
|
+
return socket.request('Driver.getOrientation', { driver });
|
|
138
|
+
},
|
|
139
|
+
async setOrientation(driver, orientation) {
|
|
140
|
+
return socket.request('Driver.setOrientation', { driver, orientation });
|
|
141
|
+
},
|
|
142
|
+
async getElementRegion(driver, element) {
|
|
143
|
+
return socket.request('Driver.getElementRegion', { driver, element });
|
|
144
|
+
},
|
|
145
|
+
async getElementAttribute(driver, element, attr) {
|
|
146
|
+
return socket.request('Driver.getElementAttribute', { driver, element, attr });
|
|
147
|
+
},
|
|
148
|
+
async performAction(driver, steps) {
|
|
149
|
+
return socket.request('Driver.performAction', { driver, steps });
|
|
150
|
+
},
|
|
151
|
+
async getCurrentWorld(driver) {
|
|
152
|
+
return socket.request('Driver.getCurrentWorld', { driver });
|
|
153
|
+
},
|
|
154
|
+
async getWorlds(driver) {
|
|
155
|
+
return socket.request('Driver.getWorlds', { driver });
|
|
156
|
+
},
|
|
157
|
+
async switchWorld(driver, name) {
|
|
158
|
+
return socket.request('Driver.switchWorld', { driver, name });
|
|
159
|
+
},
|
|
160
|
+
// #endregion
|
|
161
|
+
};
|
|
162
|
+
return spec.reduce((spec, name) => {
|
|
163
|
+
return Object.assign(spec, { [name]: commands[name] });
|
|
164
|
+
}, {});
|
|
165
|
+
}
|
|
166
|
+
exports.makeSpec = makeSpec;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeServer = void 0;
|
|
4
|
+
const http_1 = require("http");
|
|
5
|
+
const https_1 = require("https");
|
|
6
|
+
const ws_1 = require("ws");
|
|
7
|
+
const { name, version } = require('../../package.json');
|
|
8
|
+
const TOKEN_HEADER = 'x-eyes-universal-token';
|
|
9
|
+
const TOKEN = `${name}@${version}`;
|
|
10
|
+
async function makeServer(options = {}) {
|
|
11
|
+
const { port = 21077, singleton = true, debug = false, portResolutionMode = 'next', cert, key } = options;
|
|
12
|
+
const secure = Boolean(cert && key);
|
|
13
|
+
const http = secure ? new https_1.Server({ cert, key }) : new http_1.Server();
|
|
14
|
+
http.on('request', (request, response) => {
|
|
15
|
+
if (request.url === '/handshake') {
|
|
16
|
+
const token = debug ? request.headers[TOKEN_HEADER] : TOKEN;
|
|
17
|
+
if (request.headers[TOKEN_HEADER] === token) {
|
|
18
|
+
response.writeHead(200, { [TOKEN_HEADER]: token });
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
response.writeHead(400);
|
|
22
|
+
}
|
|
23
|
+
response.end();
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
http.listen(port, 'localhost');
|
|
27
|
+
return new Promise((resolve, reject) => {
|
|
28
|
+
http.on('listening', () => {
|
|
29
|
+
const ws = new ws_1.Server({ server: http, path: '/eyes', maxPayload: 256 * 1024 * 1024 });
|
|
30
|
+
ws.on('close', () => http.close());
|
|
31
|
+
resolve({ server: ws, port: http.address().port });
|
|
32
|
+
});
|
|
33
|
+
http.on('error', async (err) => {
|
|
34
|
+
if (portResolutionMode !== 'lazy' && err.code === 'EADDRINUSE') {
|
|
35
|
+
if (singleton && (await isHandshakable({ port, secure }))) {
|
|
36
|
+
return resolve({ port });
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return resolve(await makeServer({ ...options, port: portResolutionMode === 'next' ? port + 1 : 0 }));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
reject(err);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
exports.makeServer = makeServer;
|
|
47
|
+
async function isHandshakable({ port, secure }) {
|
|
48
|
+
const request = secure ? https_1.request : http_1.request;
|
|
49
|
+
return new Promise(resolve => {
|
|
50
|
+
const handshake = request(`${secure ? 'https' : 'http'}://localhost:${port}/handshake`, {
|
|
51
|
+
headers: { [TOKEN_HEADER]: TOKEN },
|
|
52
|
+
});
|
|
53
|
+
handshake.on('response', ({ statusCode, headers }) => {
|
|
54
|
+
resolve(statusCode === 200 && headers[TOKEN_HEADER] === TOKEN);
|
|
55
|
+
});
|
|
56
|
+
handshake.on('error', () => resolve(false));
|
|
57
|
+
handshake.end();
|
|
58
|
+
});
|
|
59
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/core",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"homepage": "https://applitools.com",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"./package.json": "./package.json"
|
|
32
32
|
},
|
|
33
33
|
"bin": {
|
|
34
|
+
"eyes": "./dist/cli/cli.js",
|
|
34
35
|
"eyes-check-network": "./dist/troubleshoot/check-network.js"
|
|
35
36
|
},
|
|
36
37
|
"main": "./dist/index.js",
|
|
@@ -41,9 +42,17 @@
|
|
|
41
42
|
],
|
|
42
43
|
"scripts": {
|
|
43
44
|
"lint": "node ../../node_modules/.bin/eslint '**/*.ts'",
|
|
44
|
-
"build": "
|
|
45
|
-
"
|
|
45
|
+
"build": "yarn build:dist",
|
|
46
|
+
"build:dist": "node ../../node_modules/.bin/tsc --project ./tsconfig.build.json",
|
|
47
|
+
"build:x64": "yarn build:dist && yarn build:bin:x64",
|
|
48
|
+
"build:arm64": "yarn build:dist && yarn build:bin:arm64",
|
|
49
|
+
"build:bin:x64": "pkg . --target node14-linux-x64,node14-alpine-x64,node14-macos-x64,node14-win-x64",
|
|
50
|
+
"build:bin:arm64": "pkg . --target node14-linux-arm64 --output ./bin/core-linux-arm64",
|
|
51
|
+
"build:bin:zip": "zip -j ./bin/core.zip $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
|
|
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 --no-timeouts -r ts-node/register --parallel --jobs 15 --exit --exclude './test/bin/**' './test/**/*.spec.ts'",
|
|
46
54
|
"test:sanity": "yarn test:unit",
|
|
55
|
+
"test:bin": "mocha --no-timeouts -r ts-node/register --parallel --jobs 15 './test/bin/**/*.spec.ts'",
|
|
47
56
|
"test:e2e": "mocha --no-timeouts -r ts-node/register --parallel --jobs 15 './test/e2e/**/*.spec.ts'",
|
|
48
57
|
"test:it": "mocha --no-timeouts -r ts-node/register './test/it/**/*.spec.ts'",
|
|
49
58
|
"test:unit": "mocha --no-timeouts -r ts-node/register './test/unit/**/*.spec.ts'",
|
|
@@ -51,45 +60,59 @@
|
|
|
51
60
|
"docker:setup": "node ../../scripts/generate-docker-compose-config.js && docker-compose up -d",
|
|
52
61
|
"docker:teardown": "docker-compose down",
|
|
53
62
|
"deps": "bongo deps",
|
|
54
|
-
"preversion": "bongo preversion",
|
|
55
|
-
"version": "bongo version",
|
|
63
|
+
"preversion": "bongo preversion --verify-pending-changes --skip-deps",
|
|
64
|
+
"version": "bongo version --with-pending-changes",
|
|
56
65
|
"postversion": "bongo postversion --skip-release-notification"
|
|
57
66
|
},
|
|
67
|
+
"pkg": {
|
|
68
|
+
"scripts": "./dist/cli/cli.js",
|
|
69
|
+
"outputPath": "./bin",
|
|
70
|
+
"compress": "GZip",
|
|
71
|
+
"assets": [
|
|
72
|
+
"./node_modules/vm2/lib/setup-sandbox.js"
|
|
73
|
+
]
|
|
74
|
+
},
|
|
58
75
|
"dependencies": {
|
|
59
|
-
"@applitools/core-base": "1.1.
|
|
76
|
+
"@applitools/core-base": "1.1.36",
|
|
60
77
|
"@applitools/dom-capture": "11.2.1",
|
|
61
78
|
"@applitools/dom-snapshot": "4.7.3",
|
|
62
79
|
"@applitools/driver": "1.11.29",
|
|
80
|
+
"@applitools/ec-client": "1.2.8",
|
|
63
81
|
"@applitools/logger": "1.1.45",
|
|
64
|
-
"@applitools/nml-client": "1.3.
|
|
82
|
+
"@applitools/nml-client": "1.3.34",
|
|
65
83
|
"@applitools/req": "1.1.30",
|
|
66
|
-
"@applitools/screenshoter": "3.7.
|
|
84
|
+
"@applitools/screenshoter": "3.7.26",
|
|
67
85
|
"@applitools/snippets": "2.4.15",
|
|
68
|
-
"@applitools/
|
|
86
|
+
"@applitools/socket": "1.0.6",
|
|
87
|
+
"@applitools/spec-driver-webdriver": "1.0.7",
|
|
88
|
+
"@applitools/ufg-client": "1.1.25",
|
|
69
89
|
"@applitools/utils": "1.3.30",
|
|
70
90
|
"abort-controller": "3.0.0",
|
|
71
91
|
"chalk": "4.1.2",
|
|
72
92
|
"node-fetch": "2.6.7",
|
|
73
|
-
"throat": "6.0.1"
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
"
|
|
93
|
+
"throat": "6.0.1",
|
|
94
|
+
"webdriver": "7.30.0",
|
|
95
|
+
"ws": "8.12.0",
|
|
96
|
+
"yargs": "17.6.2"
|
|
77
97
|
},
|
|
78
98
|
"devDependencies": {
|
|
79
|
-
"@applitools/bongo": "^2.2.
|
|
99
|
+
"@applitools/bongo": "^2.2.5",
|
|
80
100
|
"@applitools/spec-driver-puppeteer": "^1.1.40",
|
|
81
101
|
"@applitools/spec-driver-selenium": "^1.5.27",
|
|
82
|
-
"@applitools/spec-driver-webdriverio": "^1.4.
|
|
83
|
-
"@applitools/test-server": "^1.1.
|
|
102
|
+
"@applitools/spec-driver-webdriverio": "^1.4.25",
|
|
103
|
+
"@applitools/test-server": "^1.1.25",
|
|
84
104
|
"@applitools/test-utils": "^1.5.12",
|
|
85
105
|
"@types/mocha": "^9.1.1",
|
|
86
106
|
"@types/node": "12",
|
|
87
107
|
"@types/selenium-webdriver": "^4.1.2",
|
|
108
|
+
"@types/ws": "^8.5.4",
|
|
109
|
+
"@types/yargs": "^17.0.22",
|
|
88
110
|
"chromedriver": "^106.0.0",
|
|
89
111
|
"mocha": "^10.0.0",
|
|
90
112
|
"nock": "^13.2.8",
|
|
113
|
+
"pkg": "^5.8.0",
|
|
91
114
|
"png-async": "^0.9.4",
|
|
92
|
-
"puppeteer": "^
|
|
115
|
+
"puppeteer": "^19.7.0",
|
|
93
116
|
"selenium-webdriver": "4.4",
|
|
94
117
|
"webdriverio": "^7.25.0"
|
|
95
118
|
},
|
|
@@ -1,16 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
import type { DriverTarget } from './types';
|
|
2
|
-
import { type Logger } from '@applitools/logger';
|
|
3
|
-
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
4
|
-
type Options<TSpec extends SpecType> = {
|
|
5
|
-
spec: SpecDriver<TSpec>;
|
|
6
|
-
logger: Logger;
|
|
7
|
-
};
|
|
8
|
-
export declare function makeGetViewportSize<TSpec extends SpecType>({ spec, logger: defaultLogger }: Options<TSpec>): ({ target, logger, }: {
|
|
9
|
-
target: DriverTarget<TSpec>;
|
|
10
|
-
logger?: Logger | undefined;
|
|
11
|
-
}) => Promise<import("@applitools/utils").Size>;
|
|
12
|
-
export {};
|
|
@@ -1,15 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
import type { DriverTarget, ImageTarget, LocateSettings, LocateResult } 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 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
|
-
logger?: Logger | undefined;
|
|
14
|
-
}) => Promise<LocateResult<TLocator>>;
|
|
15
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Size } from '@applitools/utils';
|
|
2
|
-
import type { DriverTarget } from './types';
|
|
3
|
-
import { type Logger } from '@applitools/logger';
|
|
4
|
-
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
5
|
-
type Options<TSpec extends SpecType> = {
|
|
6
|
-
spec: SpecDriver<TSpec>;
|
|
7
|
-
logger: Logger;
|
|
8
|
-
};
|
|
9
|
-
export declare function makeSetViewportSize<TSpec extends SpecType>({ spec, logger: defaultLogger }: Options<TSpec>): ({ target, size, logger, }: {
|
|
10
|
-
target: DriverTarget<TSpec>;
|
|
11
|
-
size: Size;
|
|
12
|
-
logger?: Logger | undefined;
|
|
13
|
-
}) => Promise<void>;
|
|
14
|
-
export {};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import type { MaybeArray, Size, Region } from '@applitools/utils';
|
|
2
|
-
import type * as BaseCore from '@applitools/core-base/types';
|
|
3
|
-
import { type SpecType, type Driver, type ElementReference, type ContextReference } from '@applitools/driver';
|
|
4
|
-
import { type Logger } from '@applitools/logger';
|
|
5
|
-
export * from '@applitools/core-base/types';
|
|
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'];
|
|
12
|
-
getViewportSize?(options: {
|
|
13
|
-
target: DriverTarget<TSpec>;
|
|
14
|
-
logger?: Logger;
|
|
15
|
-
}): Promise<Size>;
|
|
16
|
-
setViewportSize?(options: {
|
|
17
|
-
target: DriverTarget<TSpec>;
|
|
18
|
-
size: Size;
|
|
19
|
-
logger?: Logger;
|
|
20
|
-
}): Promise<void>;
|
|
21
|
-
openEyes(options: {
|
|
22
|
-
target?: DriverTarget<TSpec>;
|
|
23
|
-
settings: BaseCore.OpenSettings;
|
|
24
|
-
eyes?: BaseCore.Eyes[];
|
|
25
|
-
logger?: Logger;
|
|
26
|
-
}): Promise<TEyes>;
|
|
27
|
-
locate<TLocator extends string>(options: {
|
|
28
|
-
target: TTarget;
|
|
29
|
-
settings: LocateSettings<TLocator, TSpec>;
|
|
30
|
-
logger?: Logger;
|
|
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[]>;
|
|
42
|
-
}
|
|
43
|
-
export interface Eyes<TSpec extends SpecType, TTarget = Target<TSpec>> extends BaseCore.Eyes<TTarget> {
|
|
44
|
-
getBaseEyes(options?: {
|
|
45
|
-
logger?: Logger;
|
|
46
|
-
}): Promise<BaseCore.Eyes[]>;
|
|
47
|
-
check(options?: {
|
|
48
|
-
target?: TTarget;
|
|
49
|
-
settings?: CheckSettings<TSpec>;
|
|
50
|
-
logger?: Logger;
|
|
51
|
-
}): Promise<BaseCore.CheckResult[]>;
|
|
52
|
-
checkAndClose(options?: {
|
|
53
|
-
target?: TTarget;
|
|
54
|
-
settings?: CheckSettings<TSpec> & BaseCore.CloseSettings;
|
|
55
|
-
logger?: Logger;
|
|
56
|
-
}): Promise<BaseCore.TestResult[]>;
|
|
57
|
-
}
|
|
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
|
-
})[];
|
|
63
|
-
fully?: boolean;
|
|
64
|
-
scrollRootElement?: ElementReference<TSpec>;
|
|
65
|
-
stitchMode?: 'Scroll' | 'CSS';
|
|
66
|
-
hideScrollbars?: boolean;
|
|
67
|
-
hideCaret?: boolean;
|
|
68
|
-
overlap?: {
|
|
69
|
-
top?: number;
|
|
70
|
-
bottom?: number;
|
|
71
|
-
};
|
|
72
|
-
waitBeforeCapture?: number;
|
|
73
|
-
waitBetweenStitches?: number;
|
|
74
|
-
lazyLoad?: boolean | {
|
|
75
|
-
scrollLength?: number;
|
|
76
|
-
waitingTime?: number;
|
|
77
|
-
maxAmountToScroll?: number;
|
|
78
|
-
};
|
|
79
|
-
webview?: boolean | string;
|
|
80
|
-
}
|
|
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 +0,0 @@
|
|
|
1
|
-
import type { Region } from '@applitools/utils';
|
|
2
|
-
import type { ScreenshotSettings } from '../../classic/types';
|
|
3
|
-
import { type Logger } from '@applitools/logger';
|
|
4
|
-
import { type Driver, type Element, type ElementReference, type SpecType } from '@applitools/driver';
|
|
5
|
-
export type Screenshot<TSpec extends SpecType> = {
|
|
6
|
-
image: any;
|
|
7
|
-
region: Region;
|
|
8
|
-
element: Element<TSpec>;
|
|
9
|
-
scrollingElement: Element<TSpec>;
|
|
10
|
-
restoreState(): Promise<void>;
|
|
11
|
-
calculatedRegions: [];
|
|
12
|
-
};
|
|
13
|
-
export declare function takeScreenshot<TSpec extends SpecType>({ driver, settings, logger, }: {
|
|
14
|
-
driver: Driver<TSpec>;
|
|
15
|
-
settings: ScreenshotSettings<TSpec> & {
|
|
16
|
-
regionsToCalculate?: ElementReference<TSpec>[];
|
|
17
|
-
};
|
|
18
|
-
logger: Logger;
|
|
19
|
-
}): Promise<Screenshot<TSpec>>;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Region } from '@applitools/utils';
|
|
2
|
-
import type { CheckSettings } from '../types';
|
|
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
|
-
}): {
|
|
8
|
-
elementReferencesToCalculate: ElementReference<TSpec>[];
|
|
9
|
-
elementReferenceToTarget: ElementReference<TSpec> | undefined;
|
|
10
|
-
getBaseCheckSettings: ({ calculatedRegions, preserveTransformation, }: {
|
|
11
|
-
calculatedRegions: {
|
|
12
|
-
selector?: Selector;
|
|
13
|
-
regions: Region[];
|
|
14
|
-
}[];
|
|
15
|
-
preserveTransformation?: boolean | undefined;
|
|
16
|
-
}) => BaseCheckSettings;
|
|
17
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type Logger } from '@applitools/logger';
|
|
2
|
-
import { type SpecType, type Context } from '@applitools/driver';
|
|
3
|
-
export type LazyLoadSettings = {
|
|
4
|
-
scrollLength?: number;
|
|
5
|
-
waitingTime?: number;
|
|
6
|
-
maxAmountToScroll?: number;
|
|
7
|
-
executionTimeout?: number;
|
|
8
|
-
pollTimeout?: number;
|
|
9
|
-
};
|
|
10
|
-
export declare function waitForLazyLoad<TSpec extends SpecType>({ context, settings, logger, }: {
|
|
11
|
-
context: Context<TSpec>;
|
|
12
|
-
settings: LazyLoadSettings;
|
|
13
|
-
logger: Logger;
|
|
14
|
-
}): Promise<void>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Target, DriverTarget, Eyes, Config, CheckSettings, CloseSettings, TestResult } from './types';
|
|
2
|
-
import { type Logger } from '@applitools/logger';
|
|
3
|
-
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
4
|
-
type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
|
|
5
|
-
type?: TType;
|
|
6
|
-
eyes: Eyes<TSpec, TType>;
|
|
7
|
-
target?: DriverTarget<TSpec>;
|
|
8
|
-
spec?: SpecDriver<TSpec>;
|
|
9
|
-
logger: Logger;
|
|
10
|
-
};
|
|
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
|
-
type?: 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;
|
|
16
|
-
logger?: Logger | undefined;
|
|
17
|
-
}) => Promise<TestResult<TType>[]>;
|
|
18
|
-
export {};
|
package/types/check.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Target, DriverTarget, Eyes, Config, CheckSettings, CheckResult } from './types';
|
|
2
|
-
import { type Logger } from '@applitools/logger';
|
|
3
|
-
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
4
|
-
type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
|
|
5
|
-
type?: TType;
|
|
6
|
-
eyes: Eyes<TSpec, TType>;
|
|
7
|
-
target?: DriverTarget<TSpec>;
|
|
8
|
-
spec?: SpecDriver<TSpec>;
|
|
9
|
-
logger: Logger;
|
|
10
|
-
};
|
|
11
|
-
export declare function makeCheck<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
|
-
type?: TType | undefined;
|
|
13
|
-
target?: Target<TSpec, TType> | undefined;
|
|
14
|
-
settings?: CheckSettings<TSpec, TType> | undefined;
|
|
15
|
-
config?: Config<TSpec, TType> | undefined;
|
|
16
|
-
logger?: Logger | undefined;
|
|
17
|
-
}) => Promise<CheckResult<TType>[]>;
|
|
18
|
-
export {};
|
package/types/classic/abort.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { AbortSettings } from './types';
|
|
2
|
-
import type { Eyes } from './types';
|
|
3
|
-
import { type Logger } from '@applitools/logger';
|
|
4
|
-
import type { DriverTarget } from './types';
|
|
5
|
-
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
6
|
-
type Options<TSpec extends SpecType> = {
|
|
7
|
-
eyes: Eyes<TSpec>;
|
|
8
|
-
target?: DriverTarget<TSpec>;
|
|
9
|
-
spec?: SpecDriver<TSpec>;
|
|
10
|
-
logger: Logger;
|
|
11
|
-
};
|
|
12
|
-
export declare function makeAbort<TSpec extends SpecType>({ eyes, target, spec, logger: defaultLogger }: Options<TSpec>): ({ settings, logger, }?: {
|
|
13
|
-
settings?: AbortSettings | undefined;
|
|
14
|
-
logger?: Logger | undefined;
|
|
15
|
-
}) => Promise<void>;
|
|
16
|
-
export {};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Target, DriverTarget, Eyes, CheckSettings, CloseSettings, TestResult } from './types';
|
|
2
|
-
import type { CheckSettings as BaseCheckSettings } from '@applitools/core-base';
|
|
3
|
-
import { type Logger } from '@applitools/logger';
|
|
4
|
-
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
5
|
-
import * as utils from '@applitools/utils';
|
|
6
|
-
type Options<TSpec extends SpecType> = {
|
|
7
|
-
eyes: Eyes<TSpec>;
|
|
8
|
-
target?: DriverTarget<TSpec>;
|
|
9
|
-
spec?: SpecDriver<TSpec>;
|
|
10
|
-
logger: Logger;
|
|
11
|
-
};
|
|
12
|
-
export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TSpec>): ({ target, settings, logger, }?: {
|
|
13
|
-
target?: Target<TSpec> | undefined;
|
|
14
|
-
settings?: (BaseCheckSettings<utils.Region | import("@applitools/driver").ElementReference<TSpec>> & import("./types").ScreenshotSettings<TSpec> & {
|
|
15
|
-
retryTimeout?: number | undefined;
|
|
16
|
-
} & CloseSettings) | undefined;
|
|
17
|
-
logger?: Logger | undefined;
|
|
18
|
-
}) => Promise<TestResult[]>;
|
|
19
|
-
export {};
|
package/types/classic/check.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { Target, DriverTarget, Eyes, CheckSettings, CheckResult } from './types';
|
|
2
|
-
import { type Logger } from '@applitools/logger';
|
|
3
|
-
import { type SpecType, type SpecDriver } from '@applitools/driver';
|
|
4
|
-
type Options<TSpec extends SpecType> = {
|
|
5
|
-
eyes: Eyes<TSpec>;
|
|
6
|
-
target?: DriverTarget<TSpec>;
|
|
7
|
-
spec?: SpecDriver<TSpec>;
|
|
8
|
-
logger: Logger;
|
|
9
|
-
};
|
|
10
|
-
export declare function makeCheck<TSpec extends SpecType>({ eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TSpec>): ({ target, settings, logger, }?: {
|
|
11
|
-
target?: Target<TSpec> | undefined;
|
|
12
|
-
settings?: CheckSettings<TSpec> | undefined;
|
|
13
|
-
logger?: Logger | undefined;
|
|
14
|
-
}) => Promise<CheckResult[]>;
|
|
15
|
-
export {};
|