@applitools/core 4.40.0 → 4.42.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 +178 -0
- package/dist/ufg/open-eyes.js +4 -0
- package/dist/ufg/utils/register-default-scripts.js +29 -0
- package/dist/universal/spec-driver.js +3 -0
- package/dist/utils/capture-canvas-image-always.js +82 -0
- package/package.json +23 -23
- package/types/automation/types.d.ts +4 -0
- package/types/ufg/utils/register-default-scripts.d.ts +7 -0
- package/types/universal/types.d.ts +4 -0
- package/types/utils/capture-canvas-image-always.d.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,183 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.42.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.41.0...js/core@4.42.0) (2025-07-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* enable EC healthchecks | AD-10040 ([#3017](https://github.com/Applitools-Dev/sdk/issues/3017)) ([c01c300](https://github.com/Applitools-Dev/sdk/commit/c01c300259427ddae53147a64d30b152960503d9))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Performance Improvements
|
|
12
|
+
|
|
13
|
+
* yarn dedup packages ([#3061](https://github.com/Applitools-Dev/sdk/issues/3061)) ([2fd8951](https://github.com/Applitools-Dev/sdk/commit/2fd8951d6ce9c18a5dbdb648adaa2c454eae9b4e))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Dependencies
|
|
17
|
+
|
|
18
|
+
* @applitools/dom-snapshot bumped to 4.12.1
|
|
19
|
+
#### Performance Improvements
|
|
20
|
+
|
|
21
|
+
* yarn dedup packages ([#3061](https://github.com/Applitools-Dev/sdk/issues/3061)) ([2fd8951](https://github.com/Applitools-Dev/sdk/commit/2fd8951d6ce9c18a5dbdb648adaa2c454eae9b4e))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
* @applitools/req bumped to 1.7.15
|
|
26
|
+
#### Performance Improvements
|
|
27
|
+
|
|
28
|
+
* yarn dedup packages ([#3061](https://github.com/Applitools-Dev/sdk/issues/3061)) ([2fd8951](https://github.com/Applitools-Dev/sdk/commit/2fd8951d6ce9c18a5dbdb648adaa2c454eae9b4e))
|
|
29
|
+
* @applitools/driver bumped to 1.22.1
|
|
30
|
+
#### Performance Improvements
|
|
31
|
+
|
|
32
|
+
* yarn dedup packages ([#3061](https://github.com/Applitools-Dev/sdk/issues/3061)) ([2fd8951](https://github.com/Applitools-Dev/sdk/commit/2fd8951d6ce9c18a5dbdb648adaa2c454eae9b4e))
|
|
33
|
+
* @applitools/spec-driver-selenium bumped to 1.6.1
|
|
34
|
+
|
|
35
|
+
* @applitools/screenshoter bumped to 3.11.7
|
|
36
|
+
#### Performance Improvements
|
|
37
|
+
|
|
38
|
+
* yarn dedup packages ([#3061](https://github.com/Applitools-Dev/sdk/issues/3061)) ([2fd8951](https://github.com/Applitools-Dev/sdk/commit/2fd8951d6ce9c18a5dbdb648adaa2c454eae9b4e))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
* @applitools/nml-client bumped to 1.9.7
|
|
43
|
+
#### Performance Improvements
|
|
44
|
+
|
|
45
|
+
* yarn dedup packages ([#3061](https://github.com/Applitools-Dev/sdk/issues/3061)) ([2fd8951](https://github.com/Applitools-Dev/sdk/commit/2fd8951d6ce9c18a5dbdb648adaa2c454eae9b4e))
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
* @applitools/ufg-client bumped to 1.16.14
|
|
50
|
+
#### Performance Improvements
|
|
51
|
+
|
|
52
|
+
* yarn dedup packages ([#3061](https://github.com/Applitools-Dev/sdk/issues/3061)) ([2fd8951](https://github.com/Applitools-Dev/sdk/commit/2fd8951d6ce9c18a5dbdb648adaa2c454eae9b4e))
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
* @applitools/spec-driver-webdriver bumped to 1.3.1
|
|
57
|
+
|
|
58
|
+
* @applitools/tunnel-client bumped to 1.9.0
|
|
59
|
+
#### Features
|
|
60
|
+
|
|
61
|
+
* enable EC healthchecks | AD-10040 ([#3017](https://github.com/Applitools-Dev/sdk/issues/3017)) ([c01c300](https://github.com/Applitools-Dev/sdk/commit/c01c300259427ddae53147a64d30b152960503d9))
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
* @applitools/spec-driver-puppeteer bumped to 1.5.1
|
|
66
|
+
|
|
67
|
+
* @applitools/core-base bumped to 1.25.6
|
|
68
|
+
#### Performance Improvements
|
|
69
|
+
|
|
70
|
+
* yarn dedup packages ([#3061](https://github.com/Applitools-Dev/sdk/issues/3061)) ([2fd8951](https://github.com/Applitools-Dev/sdk/commit/2fd8951d6ce9c18a5dbdb648adaa2c454eae9b4e))
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
* @applitools/ec-client bumped to 1.11.0
|
|
75
|
+
#### Features
|
|
76
|
+
|
|
77
|
+
* enable EC healthchecks | AD-10040 ([#3017](https://github.com/Applitools-Dev/sdk/issues/3017)) ([c01c300](https://github.com/Applitools-Dev/sdk/commit/c01c300259427ddae53147a64d30b152960503d9))
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
#### Performance Improvements
|
|
81
|
+
|
|
82
|
+
* yarn dedup packages ([#3061](https://github.com/Applitools-Dev/sdk/issues/3061)) ([2fd8951](https://github.com/Applitools-Dev/sdk/commit/2fd8951d6ce9c18a5dbdb648adaa2c454eae9b4e))
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
## [4.41.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.40.0...js/core@4.41.0) (2025-07-07)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
### Features
|
|
91
|
+
|
|
92
|
+
* canvas webgl without preserveDrawingBuffer=1 | FLD-3144 ([#3040](https://github.com/Applitools-Dev/sdk/issues/3040)) ([f82d8f1](https://github.com/Applitools-Dev/sdk/commit/f82d8f148f913098752ec7bef8635a46b453d6fa))
|
|
93
|
+
* support https_proxy and http_proxy env variables | FLD-2702 ([#3046](https://github.com/Applitools-Dev/sdk/issues/3046)) ([0633809](https://github.com/Applitools-Dev/sdk/commit/06338099f44bfb149a5829f62c2f9b19e2392850))
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
### Bug Fixes
|
|
97
|
+
|
|
98
|
+
* add retries for ConnectEnomem errors | FLD-3015 ([#3052](https://github.com/Applitools-Dev/sdk/issues/3052)) ([92caa45](https://github.com/Applitools-Dev/sdk/commit/92caa452b4a6d6f86c903548b40f8207a0ed11d0))
|
|
99
|
+
* determine storybook 9 version | AD-10406 ([#3054](https://github.com/Applitools-Dev/sdk/issues/3054)) ([23486bf](https://github.com/Applitools-Dev/sdk/commit/23486bf1c9dc905d243239214e0e838d54c0b3c2))
|
|
100
|
+
* support for programmatically added nested css rules | FLD-3212 ([#3049](https://github.com/Applitools-Dev/sdk/issues/3049)) ([5abb0f7](https://github.com/Applitools-Dev/sdk/commit/5abb0f7904c4d9e4b716291abecad54554b9ca01))
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
### Dependencies
|
|
104
|
+
|
|
105
|
+
* @applitools/utils bumped to 1.9.0
|
|
106
|
+
#### Features
|
|
107
|
+
|
|
108
|
+
* support https_proxy and http_proxy env variables | FLD-2702 ([#3046](https://github.com/Applitools-Dev/sdk/issues/3046)) ([0633809](https://github.com/Applitools-Dev/sdk/commit/06338099f44bfb149a5829f62c2f9b19e2392850))
|
|
109
|
+
* @applitools/dom-snapshot bumped to 4.12.0
|
|
110
|
+
#### Features
|
|
111
|
+
|
|
112
|
+
* canvas webgl without preserveDrawingBuffer=1 | FLD-3144 ([#3040](https://github.com/Applitools-Dev/sdk/issues/3040)) ([f82d8f1](https://github.com/Applitools-Dev/sdk/commit/f82d8f148f913098752ec7bef8635a46b453d6fa))
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
#### Bug Fixes
|
|
116
|
+
|
|
117
|
+
* support for programmatically added nested css rules | FLD-3212 ([#3049](https://github.com/Applitools-Dev/sdk/issues/3049)) ([5abb0f7](https://github.com/Applitools-Dev/sdk/commit/5abb0f7904c4d9e4b716291abecad54554b9ca01))
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
* @applitools/driver bumped to 1.22.0
|
|
122
|
+
#### Features
|
|
123
|
+
|
|
124
|
+
* canvas webgl without preserveDrawingBuffer=1 | FLD-3144 ([#3040](https://github.com/Applitools-Dev/sdk/issues/3040)) ([f82d8f1](https://github.com/Applitools-Dev/sdk/commit/f82d8f148f913098752ec7bef8635a46b453d6fa))
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
* @applitools/spec-driver-webdriver bumped to 1.3.0
|
|
129
|
+
#### Features
|
|
130
|
+
|
|
131
|
+
* canvas webgl without preserveDrawingBuffer=1 | FLD-3144 ([#3040](https://github.com/Applitools-Dev/sdk/issues/3040)) ([f82d8f1](https://github.com/Applitools-Dev/sdk/commit/f82d8f148f913098752ec7bef8635a46b453d6fa))
|
|
132
|
+
* support https_proxy and http_proxy env variables | FLD-2702 ([#3046](https://github.com/Applitools-Dev/sdk/issues/3046)) ([0633809](https://github.com/Applitools-Dev/sdk/commit/06338099f44bfb149a5829f62c2f9b19e2392850))
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
* @applitools/spec-driver-selenium bumped to 1.6.0
|
|
137
|
+
#### Features
|
|
138
|
+
|
|
139
|
+
* canvas webgl without preserveDrawingBuffer=1 | FLD-3144 ([#3040](https://github.com/Applitools-Dev/sdk/issues/3040)) ([f82d8f1](https://github.com/Applitools-Dev/sdk/commit/f82d8f148f913098752ec7bef8635a46b453d6fa))
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
* @applitools/spec-driver-puppeteer bumped to 1.5.0
|
|
144
|
+
#### Features
|
|
145
|
+
|
|
146
|
+
* canvas webgl without preserveDrawingBuffer=1 | FLD-3144 ([#3040](https://github.com/Applitools-Dev/sdk/issues/3040)) ([f82d8f1](https://github.com/Applitools-Dev/sdk/commit/f82d8f148f913098752ec7bef8635a46b453d6fa))
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
* @applitools/nml-client bumped to 1.9.6
|
|
151
|
+
#### Bug Fixes
|
|
152
|
+
|
|
153
|
+
* add retries for ConnectEnomem errors | FLD-3015 ([#3052](https://github.com/Applitools-Dev/sdk/issues/3052)) ([92caa45](https://github.com/Applitools-Dev/sdk/commit/92caa452b4a6d6f86c903548b40f8207a0ed11d0))
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
* @applitools/logger bumped to 2.1.5
|
|
158
|
+
|
|
159
|
+
* @applitools/socket bumped to 1.2.6
|
|
160
|
+
|
|
161
|
+
* @applitools/req bumped to 1.7.14
|
|
162
|
+
|
|
163
|
+
* @applitools/image bumped to 1.1.21
|
|
164
|
+
|
|
165
|
+
* @applitools/screenshoter bumped to 3.11.6
|
|
166
|
+
|
|
167
|
+
* @applitools/tunnel-client bumped to 1.8.1
|
|
168
|
+
|
|
169
|
+
* @applitools/ufg-client bumped to 1.16.13
|
|
170
|
+
|
|
171
|
+
* @applitools/core-base bumped to 1.25.5
|
|
172
|
+
#### Bug Fixes
|
|
173
|
+
|
|
174
|
+
* add retries for ConnectEnomem errors | FLD-3015 ([#3052](https://github.com/Applitools-Dev/sdk/issues/3052)) ([92caa45](https://github.com/Applitools-Dev/sdk/commit/92caa452b4a6d6f86c903548b40f8207a0ed11d0))
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
* @applitools/ec-client bumped to 1.10.16
|
|
179
|
+
|
|
180
|
+
|
|
3
181
|
## [4.40.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.39.3...js/core@4.40.0) (2025-06-15)
|
|
4
182
|
|
|
5
183
|
|
package/dist/ufg/open-eyes.js
CHANGED
|
@@ -35,6 +35,7 @@ const extract_default_environment_1 = require("./utils/extract-default-environme
|
|
|
35
35
|
const verify_environment_info_1 = require("./utils/verify-environment-info");
|
|
36
36
|
const abort_controller_1 = require("abort-controller");
|
|
37
37
|
const utils = __importStar(require("@applitools/utils"));
|
|
38
|
+
const register_default_scripts_1 = require("./utils/register-default-scripts");
|
|
38
39
|
function makeOpenEyes({ core, spec, logger: mainLogger }) {
|
|
39
40
|
return async function openEyes({ target, settings, storage = new Map(), logger = mainLogger, }) {
|
|
40
41
|
var _a, _b, _c, _d;
|
|
@@ -52,6 +53,9 @@ function makeOpenEyes({ core, spec, logger: mainLogger }) {
|
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
const environments = await (0, extract_default_environment_1.extractDefaultEnvironments)({ driver });
|
|
56
|
+
if (utils.general.getEnvValue('REGISTER_SCRIPTS_ON_NEW_DOCUMENT', 'boolean') === true) {
|
|
57
|
+
await (0, register_default_scripts_1.registerDefaultScripts)({ driver, logger });
|
|
58
|
+
}
|
|
55
59
|
const controller = new abort_controller_1.AbortController();
|
|
56
60
|
const { signal } = controller;
|
|
57
61
|
const account = await core.getAccountInfo({ settings, logger });
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerDefaultScripts = void 0;
|
|
4
|
+
const capture_canvas_image_always_1 = require("../../utils/capture-canvas-image-always");
|
|
5
|
+
const utils_1 = require("@applitools/utils");
|
|
6
|
+
function wrapFunctionAsIIFE(fn) {
|
|
7
|
+
return `(()=>{ ${fn.toString()} return ${fn.name}.call()})()`;
|
|
8
|
+
}
|
|
9
|
+
async function registerDefaultScripts({ driver, logger, }) {
|
|
10
|
+
if (!driver)
|
|
11
|
+
return [];
|
|
12
|
+
try {
|
|
13
|
+
const captureImagesScript = wrapFunctionAsIIFE(capture_canvas_image_always_1.captureImagesFunc);
|
|
14
|
+
const scripts = [];
|
|
15
|
+
if (utils_1.general.getEnvValue('CAPTURE_CANVAS_WITH_WEBGL', 'boolean') === true) {
|
|
16
|
+
scripts.push({ name: 'captureImagesScript', code: captureImagesScript });
|
|
17
|
+
}
|
|
18
|
+
await scripts.forEach(async (script) => {
|
|
19
|
+
logger.info('running user script', script.name);
|
|
20
|
+
await driver.addScriptToEvaluateOnNewDocument(script.code);
|
|
21
|
+
});
|
|
22
|
+
return scripts;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
logger.error(error);
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.registerDefaultScripts = registerDefaultScripts;
|
|
@@ -157,6 +157,9 @@ function makeSpec({ socket, spec, }) {
|
|
|
157
157
|
async executeUserFunction(userFunction) {
|
|
158
158
|
return socket.request('Driver.executeUserFunction', userFunction);
|
|
159
159
|
},
|
|
160
|
+
async executeBrowserCommands(driver, commands) {
|
|
161
|
+
return socket.request('Driver.executeBrowserCommands', { driver, commands });
|
|
162
|
+
},
|
|
160
163
|
};
|
|
161
164
|
// add default commands to spec (if not already there) such as `isUserFunction`
|
|
162
165
|
spec = addDefaultCommands(spec);
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.captureImagesFunc = void 0;
|
|
4
|
+
function captureImagesFunc() {
|
|
5
|
+
async function isNonBlackImage(dataUrl) {
|
|
6
|
+
const img = new Image();
|
|
7
|
+
img.src = dataUrl;
|
|
8
|
+
await new Promise((resolve, reject) => {
|
|
9
|
+
img.onload = () => resolve();
|
|
10
|
+
img.onerror = () => reject();
|
|
11
|
+
});
|
|
12
|
+
const canvas = document.createElement('canvas');
|
|
13
|
+
canvas.width = img.width;
|
|
14
|
+
canvas.height = img.height;
|
|
15
|
+
const ctx = canvas.getContext('2d');
|
|
16
|
+
if (!ctx)
|
|
17
|
+
return false;
|
|
18
|
+
ctx.drawImage(img, 0, 0);
|
|
19
|
+
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height).data;
|
|
20
|
+
for (let i = 0; i < imageData.length; i += 4) {
|
|
21
|
+
if (imageData[i] !== 0 || imageData[i + 1] !== 0 || imageData[i + 2] !== 0) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
function processWebGLCanvases(win) {
|
|
28
|
+
Array.from(win.document.getElementsByTagName('canvas')).forEach((canvas) => {
|
|
29
|
+
const gl = canvas.getContext('webgl') || canvas.getContext('webgl2');
|
|
30
|
+
if (!gl)
|
|
31
|
+
return;
|
|
32
|
+
const attrs = gl.getContextAttributes();
|
|
33
|
+
if (!attrs)
|
|
34
|
+
return;
|
|
35
|
+
const { preserveDrawingBuffer } = attrs;
|
|
36
|
+
if (!preserveDrawingBuffer && canvas.width > 0 && canvas.height > 0) {
|
|
37
|
+
const dataUrl = canvas.toDataURL('image/png');
|
|
38
|
+
if ((canvas.dataset.dataUrl || '') === dataUrl)
|
|
39
|
+
return;
|
|
40
|
+
isNonBlackImage(dataUrl).then(result => {
|
|
41
|
+
if (result) {
|
|
42
|
+
canvas.dataset.dataUrl = dataUrl;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function patchRequestAnimationFrame(win) {
|
|
49
|
+
var _a;
|
|
50
|
+
if (win.__rafPatched) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const HTMLCanvasElementCtor = win.HTMLCanvasElement ||
|
|
54
|
+
(win.constructor && win.constructor.HTMLCanvasElement) ||
|
|
55
|
+
(win.document && ((_a = win.document.defaultView) === null || _a === void 0 ? void 0 : _a.HTMLCanvasElement));
|
|
56
|
+
const origGetContext = (HTMLCanvasElementCtor && HTMLCanvasElementCtor.prototype.getContext);
|
|
57
|
+
if (!origGetContext) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const originalRAF = win.requestAnimationFrame;
|
|
61
|
+
win.requestAnimationFrame = function (callback) {
|
|
62
|
+
const rafId = originalRAF.call(this, (time) => {
|
|
63
|
+
callback.call(win, time);
|
|
64
|
+
processWebGLCanvases(win);
|
|
65
|
+
});
|
|
66
|
+
return rafId;
|
|
67
|
+
};
|
|
68
|
+
win.__rafPatched = true;
|
|
69
|
+
}
|
|
70
|
+
function takeCanvasScreenshots(win = window) {
|
|
71
|
+
if (win.__rafPatched) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
patchRequestAnimationFrame(win);
|
|
76
|
+
}
|
|
77
|
+
catch (e) { }
|
|
78
|
+
}
|
|
79
|
+
Object.assign(window, { takeCanvasScreenshots });
|
|
80
|
+
takeCanvasScreenshots();
|
|
81
|
+
}
|
|
82
|
+
exports.captureImagesFunc = captureImagesFunc;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.42.0",
|
|
4
4
|
"homepage": "https://applitools.com",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -47,14 +47,14 @@
|
|
|
47
47
|
"build:bin": "yarn build && sea",
|
|
48
48
|
"build:bin:zip": "zip -j ./bin/core.zip $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
|
|
49
49
|
"build:bin:tgz": "tar -czf ./bin/core.tar.gz $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
|
|
50
|
-
"test": "run --top-level mocha './test/**/*.spec.ts' --exclude './test/bin/**' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
|
|
50
|
+
"test": "run --top-level mocha './test/**/*.spec.ts' --exclude './test/bin/**' --parallel --jobs ${MOCHA_JOBS:-15} --exit --require ./test/mocha-global-setup.js",
|
|
51
51
|
"test:local": "MOCHA_OMIT_TAGS=sauce,browserstack run test",
|
|
52
52
|
"test:sauce": "MOCHA_ONLY_TAGS=sauce,browserstack run test",
|
|
53
|
-
"test:bin": "MOCHA_GROUP=bin run --top-level mocha './test/bin/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15}",
|
|
54
|
-
"test:e2e": "MOCHA_GROUP=e2e run --top-level mocha './test/e2e/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
|
|
55
|
-
"test:it": "MOCHA_GROUP=it run --top-level mocha './test/it/**/*.spec.ts'",
|
|
56
|
-
"test:unit": "MOCHA_GROUP=unit run --top-level mocha './test/unit/**/*.spec.ts'",
|
|
57
|
-
"setup": "run --top-level browsers:setup",
|
|
53
|
+
"test:bin": "MOCHA_GROUP=bin run --top-level mocha './test/bin/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15} --require ./test/mocha-global-setup.js",
|
|
54
|
+
"test:e2e": "MOCHA_GROUP=e2e run --top-level mocha './test/e2e/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15} --exit --require ./test/mocha-global-setup.js",
|
|
55
|
+
"test:it": "MOCHA_GROUP=it run --top-level mocha './test/it/**/*.spec.ts' --require ./test/mocha-global-setup.js",
|
|
56
|
+
"test:unit": "MOCHA_GROUP=unit run --top-level mocha './test/unit/**/*.spec.ts' --require ./test/mocha-global-setup.js",
|
|
57
|
+
"setup": "run --top-level browsers:setup && run --top-level xvfb:setup",
|
|
58
58
|
"setup:standalone": "sh -c 'yarn chromedriver --port=4444 --verbose &'"
|
|
59
59
|
},
|
|
60
60
|
"sea": {
|
|
@@ -75,20 +75,20 @@
|
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"@applitools/core-base": "1.25.
|
|
78
|
+
"@applitools/core-base": "1.25.6",
|
|
79
79
|
"@applitools/dom-capture": "11.5.6",
|
|
80
|
-
"@applitools/dom-snapshot": "4.
|
|
81
|
-
"@applitools/driver": "1.
|
|
82
|
-
"@applitools/ec-client": "1.
|
|
83
|
-
"@applitools/logger": "2.1.
|
|
84
|
-
"@applitools/nml-client": "1.9.
|
|
85
|
-
"@applitools/req": "1.7.
|
|
86
|
-
"@applitools/screenshoter": "3.11.
|
|
80
|
+
"@applitools/dom-snapshot": "4.12.1",
|
|
81
|
+
"@applitools/driver": "1.22.1",
|
|
82
|
+
"@applitools/ec-client": "1.11.0",
|
|
83
|
+
"@applitools/logger": "2.1.5",
|
|
84
|
+
"@applitools/nml-client": "1.9.7",
|
|
85
|
+
"@applitools/req": "1.7.15",
|
|
86
|
+
"@applitools/screenshoter": "3.11.7",
|
|
87
87
|
"@applitools/snippets": "2.6.5",
|
|
88
|
-
"@applitools/socket": "1.2.
|
|
89
|
-
"@applitools/spec-driver-webdriver": "1.
|
|
90
|
-
"@applitools/ufg-client": "1.16.
|
|
91
|
-
"@applitools/utils": "1.
|
|
88
|
+
"@applitools/socket": "1.2.6",
|
|
89
|
+
"@applitools/spec-driver-webdriver": "1.3.1",
|
|
90
|
+
"@applitools/ufg-client": "1.16.14",
|
|
91
|
+
"@applitools/utils": "1.9.0",
|
|
92
92
|
"@types/ws": "8.5.5",
|
|
93
93
|
"abort-controller": "3.0.0",
|
|
94
94
|
"chalk": "4.1.2",
|
|
@@ -102,11 +102,11 @@
|
|
|
102
102
|
"devDependencies": {
|
|
103
103
|
"@applitools/bongo": "^5.10.0",
|
|
104
104
|
"@applitools/sea": "^1.0.0",
|
|
105
|
-
"@applitools/spec-driver-puppeteer": "^1.
|
|
106
|
-
"@applitools/spec-driver-selenium": "^1.
|
|
105
|
+
"@applitools/spec-driver-puppeteer": "^1.5.1",
|
|
106
|
+
"@applitools/spec-driver-selenium": "^1.6.1",
|
|
107
107
|
"@applitools/test-server": "^1.2.3",
|
|
108
108
|
"@applitools/test-utils": "^1.5.17",
|
|
109
|
-
"@applitools/tunnel-client": "^1.
|
|
109
|
+
"@applitools/tunnel-client": "^1.9.0",
|
|
110
110
|
"@types/mocha": "^10.0.7",
|
|
111
111
|
"@types/node": "^12.20.55",
|
|
112
112
|
"@types/selenium-webdriver": "^4.1.2",
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
"crypto": "^1.0.1",
|
|
117
117
|
"nock": "^13.3.2",
|
|
118
118
|
"png-async": "^0.9.4",
|
|
119
|
-
"puppeteer": "^
|
|
119
|
+
"puppeteer": "^24.11.1",
|
|
120
120
|
"selenium-webdriver": "^4.15.0"
|
|
121
121
|
},
|
|
122
122
|
"engines": {
|
|
@@ -46,6 +46,10 @@ export type ExactEnvironment = BaseCore.Environment & {
|
|
|
46
46
|
fallbackBaselineId?: string;
|
|
47
47
|
};
|
|
48
48
|
export type Environment = RenderEnvironment | ExactEnvironment;
|
|
49
|
+
export type Script = {
|
|
50
|
+
name: string;
|
|
51
|
+
code: string;
|
|
52
|
+
};
|
|
49
53
|
export interface Core<TSpec extends SpecType> extends Omit<BaseCore.Core, 'openEyes'> {
|
|
50
54
|
readonly base: BaseCore.Core;
|
|
51
55
|
getViewportSize?(options: {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Script } from '../types';
|
|
2
|
+
import { type SpecType, type Driver } from '@applitools/driver';
|
|
3
|
+
import { type Logger } from '@applitools/logger';
|
|
4
|
+
export declare function registerDefaultScripts<TSpec extends SpecType>({ driver, logger, }: {
|
|
5
|
+
driver?: Driver<TSpec>;
|
|
6
|
+
logger: Logger;
|
|
7
|
+
}): Promise<Script[]>;
|
|
@@ -194,5 +194,9 @@ export interface UniversalSpecDriver<T extends SpecType> {
|
|
|
194
194
|
}): Promise<void>;
|
|
195
195
|
isUserFunction(ref: any): Promise<boolean>;
|
|
196
196
|
executeUserFunction(userFunction: Ref): Promise<any>;
|
|
197
|
+
executeBrowserCommands(options: {
|
|
198
|
+
driver?: T['driver'];
|
|
199
|
+
commands: any[];
|
|
200
|
+
}): Promise<any>;
|
|
197
201
|
}
|
|
198
202
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function captureImagesFunc(): void;
|