@applitools/core 3.8.1 → 3.9.1
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 +152 -0
- package/dist/classic/abort.js +3 -3
- package/dist/classic/check-and-close.js +11 -1
- package/dist/classic/check.js +11 -1
- package/dist/classic/close.js +3 -3
- package/dist/ufg/abort.js +3 -3
- package/dist/ufg/check-and-close.js +2 -2
- package/dist/ufg/check.js +2 -2
- package/dist/ufg/close.js +3 -3
- package/dist/universal/spec-driver.js +43 -50
- package/package.json +23 -28
- package/types/universal/spec-driver.d.ts +6 -5
- package/types/universal/types.d.ts +54 -50
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,157 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.9.1](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.9.0...js/core@3.9.1) (2023-08-18)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* optimize driver usage in close ([#1867](https://github.com/applitools/eyes.sdk.javascript1/issues/1867)) ([60dff6b](https://github.com/applitools/eyes.sdk.javascript1/commit/60dff6b160e69d3893c91a1125d668fa18b43072))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Code Refactoring
|
|
12
|
+
|
|
13
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Dependencies
|
|
17
|
+
|
|
18
|
+
* @applitools/utils bumped to 1.5.1
|
|
19
|
+
#### Code Refactoring
|
|
20
|
+
|
|
21
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
22
|
+
* @applitools/logger bumped to 2.0.8
|
|
23
|
+
#### Code Refactoring
|
|
24
|
+
|
|
25
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
* @applitools/socket bumped to 1.1.8
|
|
30
|
+
#### Code Refactoring
|
|
31
|
+
|
|
32
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
* @applitools/req bumped to 1.5.3
|
|
37
|
+
#### Code Refactoring
|
|
38
|
+
|
|
39
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
* @applitools/image bumped to 1.1.3
|
|
44
|
+
#### Code Refactoring
|
|
45
|
+
|
|
46
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
* @applitools/snippets bumped to 2.4.23
|
|
51
|
+
#### Code Refactoring
|
|
52
|
+
|
|
53
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
54
|
+
* @applitools/spec-driver-webdriver bumped to 1.0.42
|
|
55
|
+
#### Code Refactoring
|
|
56
|
+
|
|
57
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
* @applitools/spec-driver-selenium bumped to 1.5.56
|
|
62
|
+
#### Code Refactoring
|
|
63
|
+
|
|
64
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
* @applitools/spec-driver-puppeteer bumped to 1.1.73
|
|
69
|
+
#### Code Refactoring
|
|
70
|
+
|
|
71
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
* @applitools/driver bumped to 1.13.5
|
|
76
|
+
#### Bug Fixes
|
|
77
|
+
|
|
78
|
+
* optimize driver usage in close ([#1867](https://github.com/applitools/eyes.sdk.javascript1/issues/1867)) ([60dff6b](https://github.com/applitools/eyes.sdk.javascript1/commit/60dff6b160e69d3893c91a1125d668fa18b43072))
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
#### Code Refactoring
|
|
82
|
+
|
|
83
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
* @applitools/screenshoter bumped to 3.8.8
|
|
88
|
+
#### Code Refactoring
|
|
89
|
+
|
|
90
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
* @applitools/nml-client bumped to 1.5.8
|
|
95
|
+
#### Code Refactoring
|
|
96
|
+
|
|
97
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
* @applitools/tunnel-client bumped to 1.2.0
|
|
102
|
+
#### Features
|
|
103
|
+
|
|
104
|
+
* replace and destroy tunnels by tunnel id ([#1878](https://github.com/applitools/eyes.sdk.javascript1/issues/1878)) ([22bcc15](https://github.com/applitools/eyes.sdk.javascript1/commit/22bcc15b31457e3da56cdb6f73bee3dcb7e051a1))
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
#### Code Refactoring
|
|
108
|
+
|
|
109
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
* @applitools/ufg-client bumped to 1.7.1
|
|
114
|
+
#### Code Refactoring
|
|
115
|
+
|
|
116
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
* @applitools/ec-client bumped to 1.7.5
|
|
121
|
+
#### Code Refactoring
|
|
122
|
+
|
|
123
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
* @applitools/core-base bumped to 1.5.1
|
|
128
|
+
#### Code Refactoring
|
|
129
|
+
|
|
130
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
## [3.9.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.8.1...js/core@3.9.0) (2023-08-10)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
### Features
|
|
139
|
+
|
|
140
|
+
* re-release ([e62abc7](https://github.com/applitools/eyes.sdk.javascript1/commit/e62abc7e74ea0e193eb7770036ae7f97bd11188a))
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
### Bug Fixes
|
|
144
|
+
|
|
145
|
+
* propagate stitch mode to applitools lib ([a2dcedb](https://github.com/applitools/eyes.sdk.javascript1/commit/a2dcedb4bc6b999c137ed2aab43e0a463aa90169))
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
### Dependencies
|
|
149
|
+
|
|
150
|
+
* @applitools/nml-client bumped to 1.5.7
|
|
151
|
+
#### Bug Fixes
|
|
152
|
+
|
|
153
|
+
* propagate stitch mode to applitools lib ([a2dcedb](https://github.com/applitools/eyes.sdk.javascript1/commit/a2dcedb4bc6b999c137ed2aab43e0a463aa90169))
|
|
154
|
+
|
|
3
155
|
## [3.8.1](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.8.0...js/core@3.8.1) (2023-08-08)
|
|
4
156
|
|
|
5
157
|
|
package/dist/classic/abort.js
CHANGED
|
@@ -7,10 +7,10 @@ function makeAbort({ eyes, target, spec, logger: mainLogger }) {
|
|
|
7
7
|
logger = logger.extend(mainLogger);
|
|
8
8
|
logger.log('Command "abort" is called with settings', settings);
|
|
9
9
|
settings !== null && settings !== void 0 ? settings : (settings = {});
|
|
10
|
-
if (!settings.testMetadata) {
|
|
10
|
+
if (!settings.testMetadata && (0, driver_1.isDriver)(target, spec)) {
|
|
11
11
|
try {
|
|
12
|
-
const driver =
|
|
13
|
-
settings.testMetadata = await
|
|
12
|
+
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, relaxed: true, logger });
|
|
13
|
+
settings.testMetadata = await driver.getSessionMetadata();
|
|
14
14
|
}
|
|
15
15
|
catch (error) {
|
|
16
16
|
logger.warn('Command "abort" received an error during extracting driver metadata', error);
|
|
@@ -92,7 +92,17 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, logger: mainLogg
|
|
|
92
92
|
else {
|
|
93
93
|
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.eyesServer, driver, logger });
|
|
94
94
|
const screenshot = await nmlClient.takeScreenshot({
|
|
95
|
-
settings: {
|
|
95
|
+
settings: {
|
|
96
|
+
name: settings.name,
|
|
97
|
+
fully: settings.fully,
|
|
98
|
+
stitchMode: settings.stitchMode,
|
|
99
|
+
hideScrollbars: settings.hideScrollbars,
|
|
100
|
+
hideCaret: settings.hideScrollbars,
|
|
101
|
+
overlap: settings.overlap,
|
|
102
|
+
waitBeforeCapture: settings.waitBeforeCapture,
|
|
103
|
+
waitBetweenStitches: settings.waitBetweenStitches,
|
|
104
|
+
lazyLoad: settings.lazyLoad,
|
|
105
|
+
},
|
|
96
106
|
logger,
|
|
97
107
|
});
|
|
98
108
|
baseTarget = { image: screenshot.image, isTransformed: true };
|
package/dist/classic/check.js
CHANGED
|
@@ -98,7 +98,17 @@ function makeCheck({ eyes, target: defaultTarget, spec, logger: mainLogger, }) {
|
|
|
98
98
|
else {
|
|
99
99
|
const nmlClient = await eyes.core.getNMLClient({ config: eyes.test.eyesServer, driver, logger });
|
|
100
100
|
const screenshot = await nmlClient.takeScreenshot({
|
|
101
|
-
settings: {
|
|
101
|
+
settings: {
|
|
102
|
+
name: settings.name,
|
|
103
|
+
fully: settings.fully,
|
|
104
|
+
stitchMode: settings.stitchMode,
|
|
105
|
+
hideScrollbars: settings.hideScrollbars,
|
|
106
|
+
hideCaret: settings.hideScrollbars,
|
|
107
|
+
overlap: settings.overlap,
|
|
108
|
+
waitBeforeCapture: settings.waitBeforeCapture,
|
|
109
|
+
waitBetweenStitches: settings.waitBetweenStitches,
|
|
110
|
+
lazyLoad: settings.lazyLoad,
|
|
111
|
+
},
|
|
102
112
|
logger,
|
|
103
113
|
});
|
|
104
114
|
baseTarget = { image: screenshot.image, isTransformed: true };
|
package/dist/classic/close.js
CHANGED
|
@@ -7,10 +7,10 @@ function makeClose({ eyes, target, spec, logger: mainLogger }) {
|
|
|
7
7
|
logger = logger.extend(mainLogger);
|
|
8
8
|
logger.log('Command "close" is called with settings', settings);
|
|
9
9
|
settings !== null && settings !== void 0 ? settings : (settings = {});
|
|
10
|
-
if (!settings.testMetadata) {
|
|
10
|
+
if (!settings.testMetadata && (0, driver_1.isDriver)(target, spec)) {
|
|
11
11
|
try {
|
|
12
|
-
const driver =
|
|
13
|
-
settings.testMetadata = await
|
|
12
|
+
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, relaxed: true, logger });
|
|
13
|
+
settings.testMetadata = await driver.getSessionMetadata();
|
|
14
14
|
}
|
|
15
15
|
catch (error) {
|
|
16
16
|
logger.warn('Command "close" received an error during extracting driver metadata', error);
|
package/dist/ufg/abort.js
CHANGED
|
@@ -8,10 +8,10 @@ function makeAbort({ storage, target, spec, controller, logger: mainLogger, }) {
|
|
|
8
8
|
logger.log('Command "abort" is called with settings', settings);
|
|
9
9
|
controller.abort();
|
|
10
10
|
settings !== null && settings !== void 0 ? settings : (settings = {});
|
|
11
|
-
if (!settings.testMetadata) {
|
|
11
|
+
if (!settings.testMetadata && (0, driver_1.isDriver)(target, spec)) {
|
|
12
12
|
try {
|
|
13
|
-
const driver =
|
|
14
|
-
settings.testMetadata = await
|
|
13
|
+
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, relaxed: true, logger });
|
|
14
|
+
settings.testMetadata = await driver.getSessionMetadata();
|
|
15
15
|
}
|
|
16
16
|
catch (error) {
|
|
17
17
|
logger.warn('Command "abort" received an error during extracting driver metadata', error);
|
|
@@ -104,10 +104,10 @@ function makeCheckAndClose({ eyes, storage, target: defaultTarget, spec, signal,
|
|
|
104
104
|
}
|
|
105
105
|
else {
|
|
106
106
|
regionToTarget = (0, driver_1.isSelector)(elementReferenceToTarget)
|
|
107
|
-
? (_e = (_d = spec === null || spec === void 0 ? void 0 : spec.
|
|
107
|
+
? (_e = (_d = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _d === void 0 ? void 0 : _d.call(spec, settings.scrollRootElement)) !== null && _e !== void 0 ? _e : undefined
|
|
108
108
|
: undefined;
|
|
109
109
|
scrollRootSelector = (0, driver_1.isSelector)(settings.scrollRootElement)
|
|
110
|
-
? (_g = (_f = spec === null || spec === void 0 ? void 0 : spec.
|
|
110
|
+
? (_g = (_f = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _f === void 0 ? void 0 : _f.call(spec, settings.scrollRootElement)) !== null && _g !== void 0 ? _g : undefined
|
|
111
111
|
: undefined;
|
|
112
112
|
}
|
|
113
113
|
const currentContext = driver.currentContext;
|
package/dist/ufg/check.js
CHANGED
|
@@ -105,10 +105,10 @@ function makeCheck({ eyes, storage, target: defaultTarget, spec, signal, logger:
|
|
|
105
105
|
}
|
|
106
106
|
else {
|
|
107
107
|
regionToTarget = (0, driver_1.isSelector)(elementReferenceToTarget)
|
|
108
|
-
? (_f = (_e = spec === null || spec === void 0 ? void 0 : spec.
|
|
108
|
+
? (_f = (_e = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _e === void 0 ? void 0 : _e.call(spec, settings.scrollRootElement)) !== null && _f !== void 0 ? _f : undefined
|
|
109
109
|
: undefined;
|
|
110
110
|
scrollRootSelector = (0, driver_1.isSelector)(settings.scrollRootElement)
|
|
111
|
-
? (_h = (_g = spec === null || spec === void 0 ? void 0 : spec.
|
|
111
|
+
? (_h = (_g = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _g === void 0 ? void 0 : _g.call(spec, settings.scrollRootElement)) !== null && _h !== void 0 ? _h : undefined
|
|
112
112
|
: undefined;
|
|
113
113
|
}
|
|
114
114
|
const currentContext = driver.currentContext;
|
package/dist/ufg/close.js
CHANGED
|
@@ -7,10 +7,10 @@ function makeClose({ storage, target, spec, logger: mainLogger }) {
|
|
|
7
7
|
logger = logger.extend(mainLogger);
|
|
8
8
|
logger.log('Command "close" is called with settings', settings);
|
|
9
9
|
settings !== null && settings !== void 0 ? settings : (settings = {});
|
|
10
|
-
if (!settings.testMetadata) {
|
|
10
|
+
if (!settings.testMetadata && (0, driver_1.isDriver)(target, spec)) {
|
|
11
11
|
try {
|
|
12
|
-
const driver =
|
|
13
|
-
settings.testMetadata = await
|
|
12
|
+
const driver = await (0, driver_1.makeDriver)({ spec, driver: target, relaxed: true, logger });
|
|
13
|
+
settings.testMetadata = await driver.getSessionMetadata();
|
|
14
14
|
}
|
|
15
15
|
catch (error) {
|
|
16
16
|
logger.warn('Command "close" received an error during extracting driver metadata', error);
|
|
@@ -27,7 +27,6 @@ exports.makeSpec = void 0;
|
|
|
27
27
|
const utils = __importStar(require("@applitools/utils"));
|
|
28
28
|
function makeSpec({ socket, spec, }) {
|
|
29
29
|
const commands = {
|
|
30
|
-
// #region UTILITY
|
|
31
30
|
isDriver(driver) {
|
|
32
31
|
return utils.types.has(driver, 'applitools-ref-id');
|
|
33
32
|
},
|
|
@@ -44,32 +43,17 @@ function makeSpec({ socket, spec, }) {
|
|
|
44
43
|
utils.types.has(selector, 'selector') &&
|
|
45
44
|
(utils.types.isString(selector.selector) || utils.types.has(selector, 'applitools-ref-id'))));
|
|
46
45
|
},
|
|
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
46
|
async isEqualElements(context, element1, element2) {
|
|
61
47
|
return socket.request('Driver.isEqualElements', { context, element1, element2 });
|
|
62
48
|
},
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
async mainContext(context) {
|
|
66
|
-
return socket.request('Driver.mainContext', { context });
|
|
49
|
+
isStaleElementError(error) {
|
|
50
|
+
return error === null || error === void 0 ? void 0 : error.isStaleElementError;
|
|
67
51
|
},
|
|
68
|
-
|
|
69
|
-
return
|
|
52
|
+
extractContext(driver) {
|
|
53
|
+
return driver.context;
|
|
70
54
|
},
|
|
71
|
-
|
|
72
|
-
return
|
|
55
|
+
extractSelector(element) {
|
|
56
|
+
return element.selector;
|
|
73
57
|
},
|
|
74
58
|
async executeScript(context, script, arg) {
|
|
75
59
|
return socket.request('Driver.executeScript', { context, script: script.toString(), arg });
|
|
@@ -89,20 +73,26 @@ function makeSpec({ socket, spec, }) {
|
|
|
89
73
|
async setElementText(context, element, text) {
|
|
90
74
|
return socket.request('Driver.setElementText', { context, element, text });
|
|
91
75
|
},
|
|
92
|
-
async
|
|
93
|
-
return socket.request('Driver.
|
|
76
|
+
async getElementRegion(context, element) {
|
|
77
|
+
return socket.request('Driver.getElementRegion', { context, element });
|
|
94
78
|
},
|
|
95
|
-
async
|
|
96
|
-
return socket.request('Driver.
|
|
79
|
+
async getElementAttribute(context, element, attr) {
|
|
80
|
+
return socket.request('Driver.getElementAttribute', { context, element, attr });
|
|
97
81
|
},
|
|
98
|
-
async
|
|
99
|
-
return socket.request('Driver.
|
|
82
|
+
async hover(context, element) {
|
|
83
|
+
return socket.request('Driver.hover', { context, element });
|
|
100
84
|
},
|
|
101
|
-
async
|
|
102
|
-
return socket.request('Driver.
|
|
85
|
+
async click(context, element) {
|
|
86
|
+
return socket.request('Driver.click', { context, element });
|
|
103
87
|
},
|
|
104
|
-
async
|
|
105
|
-
return socket.request('Driver.
|
|
88
|
+
async mainContext(context) {
|
|
89
|
+
return socket.request('Driver.mainContext', { context });
|
|
90
|
+
},
|
|
91
|
+
async parentContext(context) {
|
|
92
|
+
return socket.request('Driver.parentContext', { context });
|
|
93
|
+
},
|
|
94
|
+
async childContext(context, element) {
|
|
95
|
+
return socket.request('Driver.childContext', { context, element });
|
|
106
96
|
},
|
|
107
97
|
async getCapabilities(driver) {
|
|
108
98
|
return socket.request('Driver.getCapabilities', { driver });
|
|
@@ -110,23 +100,18 @@ function makeSpec({ socket, spec, }) {
|
|
|
110
100
|
async getDriverInfo(driver) {
|
|
111
101
|
return socket.request('Driver.getDriverInfo', { driver });
|
|
112
102
|
},
|
|
113
|
-
async
|
|
114
|
-
return socket.request('Driver.
|
|
115
|
-
},
|
|
116
|
-
async getUrl(driver) {
|
|
117
|
-
return socket.request('Driver.getUrl', { driver });
|
|
103
|
+
async getWindowSize(driver) {
|
|
104
|
+
return socket.request('Driver.getWindowSize', { driver });
|
|
118
105
|
},
|
|
119
|
-
async
|
|
120
|
-
return socket.request('Driver.
|
|
106
|
+
async setWindowSize(driver, size) {
|
|
107
|
+
return socket.request('Driver.setWindowSize', { driver, size });
|
|
121
108
|
},
|
|
122
|
-
async
|
|
123
|
-
return socket.request('Driver.
|
|
109
|
+
async getViewportSize(driver) {
|
|
110
|
+
return socket.request('Driver.getViewportSize', { driver });
|
|
124
111
|
},
|
|
125
|
-
async
|
|
126
|
-
return socket.request('Driver.
|
|
112
|
+
async setViewportSize(driver, size) {
|
|
113
|
+
return socket.request('Driver.setViewportSize', { driver, size });
|
|
127
114
|
},
|
|
128
|
-
// #endregion
|
|
129
|
-
// #region NATIVE COMMANDS
|
|
130
115
|
async getSystemBars(driver) {
|
|
131
116
|
return socket.request('Driver.getSystemBars', { driver });
|
|
132
117
|
},
|
|
@@ -136,15 +121,24 @@ function makeSpec({ socket, spec, }) {
|
|
|
136
121
|
async setOrientation(driver, orientation) {
|
|
137
122
|
return socket.request('Driver.setOrientation', { driver, orientation });
|
|
138
123
|
},
|
|
139
|
-
async
|
|
140
|
-
return socket.request('Driver.
|
|
124
|
+
async getCookies(driver, context) {
|
|
125
|
+
return socket.request('Driver.getCookies', { driver, context });
|
|
126
|
+
},
|
|
127
|
+
async getTitle(driver) {
|
|
128
|
+
return socket.request('Driver.getTitle', { driver });
|
|
129
|
+
},
|
|
130
|
+
async getUrl(driver) {
|
|
131
|
+
return socket.request('Driver.getUrl', { driver });
|
|
141
132
|
},
|
|
142
|
-
async
|
|
143
|
-
return socket.request('Driver.
|
|
133
|
+
async takeScreenshot(driver) {
|
|
134
|
+
return socket.request('Driver.takeScreenshot', { driver });
|
|
144
135
|
},
|
|
145
136
|
async performAction(driver, steps) {
|
|
146
137
|
return socket.request('Driver.performAction', { driver, steps });
|
|
147
138
|
},
|
|
139
|
+
async visit(driver, url) {
|
|
140
|
+
return socket.request('Driver.visit', { driver, url });
|
|
141
|
+
},
|
|
148
142
|
async getCurrentWorld(driver) {
|
|
149
143
|
return socket.request('Driver.getCurrentWorld', { driver });
|
|
150
144
|
},
|
|
@@ -154,7 +148,6 @@ function makeSpec({ socket, spec, }) {
|
|
|
154
148
|
async switchWorld(driver, name) {
|
|
155
149
|
return socket.request('Driver.switchWorld', { driver, name });
|
|
156
150
|
},
|
|
157
|
-
// #endregion
|
|
158
151
|
};
|
|
159
152
|
return spec.reduce((spec, name) => {
|
|
160
153
|
return Object.assign(spec, { [name]: commands[name] });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.9.1",
|
|
4
4
|
"homepage": "https://applitools.com",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"build:dist": "run --top-level tsc --project ./tsconfig.build.json",
|
|
47
47
|
"build:x64": "yarn build:dist && yarn build:bin:x64",
|
|
48
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",
|
|
49
|
+
"build:bin:x64": "rm -rf ../spec-driver-webdriver/node_modules/webdriver && pkg . --target node14-linux-x64,node14-alpine-x64,node14-macos-x64,node14-win-x64",
|
|
50
|
+
"build:bin:arm64": "rm -rf ../spec-driver-webdriver/node_modules/webdriver && 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
53
|
"test": "run --top-level mocha './test/**/*.spec.ts' --exclude './test/bin/**' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
|
|
@@ -62,52 +62,47 @@
|
|
|
62
62
|
"pkg": {
|
|
63
63
|
"scripts": "./dist/cli/cli.js",
|
|
64
64
|
"outputPath": "./bin",
|
|
65
|
-
"compress": "GZip"
|
|
66
|
-
"assets": [
|
|
67
|
-
"./node_modules/vm2/lib/setup-sandbox.js"
|
|
68
|
-
]
|
|
65
|
+
"compress": "GZip"
|
|
69
66
|
},
|
|
70
67
|
"dependencies": {
|
|
71
|
-
"@applitools/core-base": "1.5.
|
|
68
|
+
"@applitools/core-base": "1.5.1",
|
|
72
69
|
"@applitools/dom-capture": "11.2.2",
|
|
73
70
|
"@applitools/dom-snapshot": "4.7.10",
|
|
74
|
-
"@applitools/driver": "1.13.
|
|
75
|
-
"@applitools/ec-client": "1.7.
|
|
76
|
-
"@applitools/logger": "2.0.
|
|
77
|
-
"@applitools/nml-client": "1.5.
|
|
78
|
-
"@applitools/req": "1.5.
|
|
79
|
-
"@applitools/screenshoter": "3.8.
|
|
80
|
-
"@applitools/snippets": "2.4.
|
|
81
|
-
"@applitools/socket": "1.1.
|
|
82
|
-
"@applitools/spec-driver-webdriver": "1.0.
|
|
83
|
-
"@applitools/ufg-client": "1.7.
|
|
84
|
-
"@applitools/utils": "1.5.
|
|
71
|
+
"@applitools/driver": "1.13.5",
|
|
72
|
+
"@applitools/ec-client": "1.7.5",
|
|
73
|
+
"@applitools/logger": "2.0.8",
|
|
74
|
+
"@applitools/nml-client": "1.5.8",
|
|
75
|
+
"@applitools/req": "1.5.3",
|
|
76
|
+
"@applitools/screenshoter": "3.8.8",
|
|
77
|
+
"@applitools/snippets": "2.4.23",
|
|
78
|
+
"@applitools/socket": "1.1.8",
|
|
79
|
+
"@applitools/spec-driver-webdriver": "1.0.42",
|
|
80
|
+
"@applitools/ufg-client": "1.7.1",
|
|
81
|
+
"@applitools/utils": "1.5.1",
|
|
85
82
|
"@types/ws": "8.5.5",
|
|
86
83
|
"abort-controller": "3.0.0",
|
|
87
84
|
"chalk": "4.1.2",
|
|
88
85
|
"node-fetch": "2.6.7",
|
|
89
|
-
"webdriver": "7.
|
|
86
|
+
"webdriver": "7.31.1",
|
|
90
87
|
"ws": "8.13.0",
|
|
91
88
|
"yargs": "17.7.2"
|
|
92
89
|
},
|
|
93
90
|
"devDependencies": {
|
|
94
|
-
"@applitools/bongo": "^5.
|
|
95
|
-
"@applitools/spec-driver-puppeteer": "^1.1.
|
|
96
|
-
"@applitools/spec-driver-selenium": "^1.5.
|
|
97
|
-
"@applitools/spec-driver-webdriverio": "^1.5.10",
|
|
91
|
+
"@applitools/bongo": "^5.6.1",
|
|
92
|
+
"@applitools/spec-driver-puppeteer": "^1.1.73",
|
|
93
|
+
"@applitools/spec-driver-selenium": "^1.5.56",
|
|
98
94
|
"@applitools/test-server": "^1.2.2",
|
|
99
95
|
"@applitools/test-utils": "^1.5.17",
|
|
100
|
-
"@applitools/tunnel-client": "^1.
|
|
96
|
+
"@applitools/tunnel-client": "^1.2.0",
|
|
101
97
|
"@types/node": "^12.20.55",
|
|
102
98
|
"@types/selenium-webdriver": "^4.1.2",
|
|
103
99
|
"@types/yargs": "^17.0.22",
|
|
104
|
-
"chromedriver": "^
|
|
100
|
+
"chromedriver": "^115.0.1",
|
|
105
101
|
"nock": "^13.3.2",
|
|
106
102
|
"pkg": "^5.8.0",
|
|
107
103
|
"png-async": "^0.9.4",
|
|
108
104
|
"puppeteer": "^19.11.1",
|
|
109
|
-
"selenium-webdriver": "4.4"
|
|
110
|
-
"webdriverio": "^7.25.0"
|
|
105
|
+
"selenium-webdriver": "4.4"
|
|
111
106
|
},
|
|
112
107
|
"engines": {
|
|
113
108
|
"node": ">=12.13.0"
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Ref, ServerSocket, UniversalSpecDriver } from './types';
|
|
2
|
-
import type { SpecType as
|
|
2
|
+
import type { SpecType, SpecDriver as BaseSpecDriver, CommonSelector } from '@applitools/driver';
|
|
3
3
|
export type Driver = Ref;
|
|
4
4
|
export type Context = Ref;
|
|
5
5
|
export type Element = Ref;
|
|
6
6
|
export type Selector = string | CommonSelector | Ref;
|
|
7
|
-
export type
|
|
7
|
+
export type PrimarySpecType = SpecType<Driver, Context, Element, Selector>;
|
|
8
|
+
export type SpecDriver = BaseSpecDriver<PrimarySpecType>;
|
|
8
9
|
export declare function makeSpec({ socket, spec, }: {
|
|
9
|
-
socket: ServerSocket<
|
|
10
|
-
spec: (keyof UniversalSpecDriver<
|
|
11
|
-
}): SpecDriver
|
|
10
|
+
socket: ServerSocket<PrimarySpecType, any>;
|
|
11
|
+
spec: (keyof UniversalSpecDriver<PrimarySpecType>)[];
|
|
12
|
+
}): SpecDriver;
|
|
@@ -56,16 +56,6 @@ export interface UniversalSpecDriver<T extends SpecType> {
|
|
|
56
56
|
element1: T['element'];
|
|
57
57
|
element2: T['element'];
|
|
58
58
|
}): Promise<boolean>;
|
|
59
|
-
mainContext(options: {
|
|
60
|
-
context: T['context'];
|
|
61
|
-
}): Promise<T['context']>;
|
|
62
|
-
parentContext(options: {
|
|
63
|
-
context: T['context'];
|
|
64
|
-
}): Promise<T['context']>;
|
|
65
|
-
childContext(options: {
|
|
66
|
-
context: T['context'];
|
|
67
|
-
element: T['element'];
|
|
68
|
-
}): Promise<T['context']>;
|
|
69
59
|
executeScript(options: {
|
|
70
60
|
context: T['context'];
|
|
71
61
|
script: string;
|
|
@@ -87,6 +77,15 @@ export interface UniversalSpecDriver<T extends SpecType> {
|
|
|
87
77
|
parent?: T['element'];
|
|
88
78
|
options?: WaitOptions;
|
|
89
79
|
}): Promise<T['element'] | null>;
|
|
80
|
+
getElementRegion(options: {
|
|
81
|
+
context: T['context'];
|
|
82
|
+
element: T['element'];
|
|
83
|
+
}): Promise<Region>;
|
|
84
|
+
getElementAttribute(options: {
|
|
85
|
+
context: T['context'];
|
|
86
|
+
element: T['element'];
|
|
87
|
+
attr: string;
|
|
88
|
+
}): Promise<string>;
|
|
90
89
|
setElementText(options: {
|
|
91
90
|
context: T['context'];
|
|
92
91
|
element: T['element'];
|
|
@@ -96,6 +95,30 @@ export interface UniversalSpecDriver<T extends SpecType> {
|
|
|
96
95
|
context: T['context'];
|
|
97
96
|
element: T['element'];
|
|
98
97
|
}): Promise<string>;
|
|
98
|
+
hover(options: {
|
|
99
|
+
context: T['context'];
|
|
100
|
+
element: T['element'];
|
|
101
|
+
}): Promise<void>;
|
|
102
|
+
click(options: {
|
|
103
|
+
context: T['context'];
|
|
104
|
+
element: T['element'];
|
|
105
|
+
}): Promise<void>;
|
|
106
|
+
mainContext(options: {
|
|
107
|
+
context: T['context'];
|
|
108
|
+
}): Promise<T['context']>;
|
|
109
|
+
parentContext(options: {
|
|
110
|
+
context: T['context'];
|
|
111
|
+
}): Promise<T['context']>;
|
|
112
|
+
childContext(options: {
|
|
113
|
+
context: T['context'];
|
|
114
|
+
element: T['element'];
|
|
115
|
+
}): Promise<T['context']>;
|
|
116
|
+
getDriverInfo(options: {
|
|
117
|
+
driver: T['driver'];
|
|
118
|
+
}): Promise<DriverInfo>;
|
|
119
|
+
getCapabilities(options: {
|
|
120
|
+
driver: T['driver'];
|
|
121
|
+
}): Promise<Record<string, any>>;
|
|
99
122
|
setWindowSize(options: {
|
|
100
123
|
driver: T['driver'];
|
|
101
124
|
size: Size;
|
|
@@ -110,40 +133,6 @@ export interface UniversalSpecDriver<T extends SpecType> {
|
|
|
110
133
|
getViewportSize(options: {
|
|
111
134
|
driver: T['driver'];
|
|
112
135
|
}): Promise<Size>;
|
|
113
|
-
getCookies(options: {
|
|
114
|
-
driver: T['driver'] | T['context'];
|
|
115
|
-
context?: boolean;
|
|
116
|
-
}): Promise<Cookie[]>;
|
|
117
|
-
getDriverInfo(options: {
|
|
118
|
-
driver: T['driver'];
|
|
119
|
-
}): Promise<DriverInfo>;
|
|
120
|
-
getCapabilities(options: {
|
|
121
|
-
driver: T['driver'];
|
|
122
|
-
}): Promise<Record<string, any>>;
|
|
123
|
-
getTitle(options: {
|
|
124
|
-
driver: T['driver'];
|
|
125
|
-
}): Promise<string>;
|
|
126
|
-
getUrl(options: {
|
|
127
|
-
driver: T['driver'];
|
|
128
|
-
}): Promise<string>;
|
|
129
|
-
takeScreenshot(options: {
|
|
130
|
-
driver: T['driver'];
|
|
131
|
-
}): Promise<string>;
|
|
132
|
-
click(options: {
|
|
133
|
-
context: T['context'];
|
|
134
|
-
element: T['element'] | T['selector'];
|
|
135
|
-
}): Promise<void>;
|
|
136
|
-
visit(options: {
|
|
137
|
-
driver: T['driver'];
|
|
138
|
-
url: string;
|
|
139
|
-
}): Promise<void>;
|
|
140
|
-
getOrientation(options: {
|
|
141
|
-
driver: T['driver'];
|
|
142
|
-
}): Promise<'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary'>;
|
|
143
|
-
setOrientation(options: {
|
|
144
|
-
driver: T['driver'];
|
|
145
|
-
orientation: 'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary';
|
|
146
|
-
}): Promise<void>;
|
|
147
136
|
getSystemBars(options: {
|
|
148
137
|
driver: T['driver'];
|
|
149
138
|
}): Promise<{
|
|
@@ -162,19 +151,34 @@ export interface UniversalSpecDriver<T extends SpecType> {
|
|
|
162
151
|
width: number;
|
|
163
152
|
};
|
|
164
153
|
}>;
|
|
165
|
-
|
|
154
|
+
getOrientation(options: {
|
|
166
155
|
driver: T['driver'];
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
156
|
+
}): Promise<'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary'>;
|
|
157
|
+
setOrientation(options: {
|
|
158
|
+
driver: T['driver'];
|
|
159
|
+
orientation: 'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary';
|
|
160
|
+
}): Promise<void>;
|
|
161
|
+
getCookies(options: {
|
|
162
|
+
driver: T['driver'] | T['context'];
|
|
163
|
+
context?: boolean;
|
|
164
|
+
}): Promise<Cookie[]>;
|
|
165
|
+
getTitle(options: {
|
|
166
|
+
driver: T['driver'];
|
|
167
|
+
}): Promise<string>;
|
|
168
|
+
getUrl(options: {
|
|
169
|
+
driver: T['driver'];
|
|
170
|
+
}): Promise<string>;
|
|
171
|
+
takeScreenshot(options: {
|
|
170
172
|
driver: T['driver'];
|
|
171
|
-
element: T['element'];
|
|
172
|
-
attr: string;
|
|
173
173
|
}): Promise<string>;
|
|
174
174
|
performAction(options: {
|
|
175
175
|
driver: T['driver'];
|
|
176
176
|
steps: any[];
|
|
177
177
|
}): Promise<void>;
|
|
178
|
+
visit(options: {
|
|
179
|
+
driver: T['driver'];
|
|
180
|
+
url: string;
|
|
181
|
+
}): Promise<void>;
|
|
178
182
|
getCurrentWorld(options: {
|
|
179
183
|
driver: T['driver'];
|
|
180
184
|
}): Promise<string>;
|