@applitools/eyes-testcafe 1.14.1 → 1.15.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 +27 -0
- package/README.md +42 -40
- package/dist/api.js +17 -6
- package/dist/index-legacy.js +0 -1
- package/dist/index.js +0 -1
- package/dist/legacy.js +29 -10
- package/dist/spec-driver.js +45 -31
- package/package.json +26 -20
- package/types/index-legacy.d.ts +2 -3
- package/types/index.d.ts +1417 -1899
- package/dist/api.js.map +0 -1
- package/dist/index-legacy.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/legacy.js.map +0 -1
- package/dist/spec-driver.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 1.15.1 - 2022/1/13
|
|
6
|
+
|
|
7
|
+
- set failTestcafeOnDiff default value to true
|
|
8
|
+
- updated to @applitools/eyes-api@1.1.6 (from 1.1.0)
|
|
9
|
+
- updated to @applitools/eyes-sdk-core@12.24.9 (from 12.23.3)
|
|
10
|
+
- updated to @applitools/utils@1.2.11 (from 1.2.2)
|
|
11
|
+
- updated to @applitools/visual-grid-client@15.8.55 (from 15.8.24)
|
|
12
|
+
- updated to @applitools/eyes-sdk-core@12.24.13 (from 12.24.9)
|
|
13
|
+
- updated to @applitools/visual-grid-client@15.8.60 (from 15.8.55)
|
|
14
|
+
|
|
15
|
+
## 1.15.0 - 2021/9/6
|
|
16
|
+
|
|
17
|
+
- updated to @applitools/eyes-api@1.1.0 (from 1.0.7)
|
|
18
|
+
- updated to @applitools/eyes-sdk-core@12.23.3 (from 12.21.5)
|
|
19
|
+
- updated to @applitools/utils@1.2.2 (from 1.2.0)
|
|
20
|
+
- updated to @applitools/visual-grid-client@15.8.24 (from 15.8.13)
|
|
21
|
+
|
|
22
|
+
## 1.14.3 - 2021/7/14
|
|
23
|
+
|
|
24
|
+
- fix issue with `Eyes` being exported as a type from legacy type definition file
|
|
25
|
+
|
|
26
|
+
## 1.14.2 - 2021/7/14
|
|
27
|
+
|
|
28
|
+
- introduced @applitools/eyes-api package with new api
|
|
29
|
+
- updated to @applitools/eyes-api@1.0.7 (from 1.0.3)
|
|
30
|
+
- updated to @applitools/eyes-sdk-core@12.21.5 (from 12.20.0)
|
|
31
|
+
- updated to @applitools/visual-grid-client@15.8.13 (from 15.8.7)
|
|
5
32
|
|
|
6
33
|
## 1.14.1 - 2021/5/25
|
|
7
34
|
|
package/README.md
CHANGED
|
@@ -72,39 +72,34 @@ test('Cookies', async t => {
|
|
|
72
72
|
<br/>
|
|
73
73
|
|
|
74
74
|
### Index
|
|
75
|
-
- [
|
|
76
|
-
- [
|
|
77
|
-
- [
|
|
78
|
-
|
|
79
|
-
- [
|
|
80
|
-
- [
|
|
81
|
-
|
|
82
|
-
- [
|
|
83
|
-
- [
|
|
84
|
-
|
|
85
|
-
- [
|
|
86
|
-
- [
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
- [
|
|
90
|
-
- [
|
|
91
|
-
- [
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
- [
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
- [
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
- [
|
|
102
|
-
|
|
103
|
-
- [The `applitools.config.js` file](#Method-3-The-applitoolsconfigjs-file)
|
|
104
|
-
- [Configuring the browser](#Configuring-the-browser)
|
|
105
|
-
- [Device emulation](#Device-emulation)
|
|
106
|
-
- [iOS device](#iOS-device)
|
|
107
|
-
- [Troubleshooting](#Troubleshooting)
|
|
75
|
+
- [Eyes-Testcafe](#eyes-testcafe)
|
|
76
|
+
- [Installation](#installation)
|
|
77
|
+
- [Applitools API key](#applitools-api-key)
|
|
78
|
+
- [Usage](#usage)
|
|
79
|
+
- [Example](#example)
|
|
80
|
+
- [Index](#index)
|
|
81
|
+
- [API](#api)
|
|
82
|
+
- [**open**](#open)
|
|
83
|
+
- [**checkWindow**](#checkwindow)
|
|
84
|
+
- [Arguments to `eyes.checkWindow`](#arguments-to-eyescheckwindow)
|
|
85
|
+
- [**close**](#close)
|
|
86
|
+
- [**waitForResults**](#waitforresults)
|
|
87
|
+
- [Best practice for using the SDK](#best-practice-for-using-the-sdk)
|
|
88
|
+
- [Concurrency](#concurrency)
|
|
89
|
+
- [Running wih testcafe concurrency](#running-wih-testcafe-concurrency)
|
|
90
|
+
- [Applitools concurrency](#applitools-concurrency)
|
|
91
|
+
- [Advanced configuration](#advanced-configuration)
|
|
92
|
+
- [Configuration properties:](#configuration-properties)
|
|
93
|
+
- [Global configuration properties:](#global-configuration-properties)
|
|
94
|
+
- [Method 1: Arguments for `eyes.open`](#method-1-arguments-for-eyesopen)
|
|
95
|
+
- [Method 2: Environment variables](#method-2-environment-variables)
|
|
96
|
+
- [Method 3: The `applitools.config.js` file](#method-3-the-applitoolsconfigjs-file)
|
|
97
|
+
- [Configuring the browser](#configuring-the-browser)
|
|
98
|
+
- [Previous browser versions](#previous-browser-versions)
|
|
99
|
+
- [Getting a screenshot of multiple browsers in parallel](#getting-a-screenshot-of-multiple-browsers-in-parallel)
|
|
100
|
+
- [Device emulation](#device-emulation)
|
|
101
|
+
- [iOS device](#ios-device)
|
|
102
|
+
- [Troubleshooting](#troubleshooting)
|
|
108
103
|
|
|
109
104
|
<br/><br/><br/>
|
|
110
105
|
|
|
@@ -161,6 +156,20 @@ eyes.checkWindow({ tag: 'your tag', target: 'your target mode' })
|
|
|
161
156
|
(optional) In case [target](#target) is `region`, this should be the actual css, xpath or [a Testcafe Selector](https://devexpress.github.io/testcafe/documentation/test-api/selecting-page-elements/selectors/) to an element, and the screenshot would be the content of that element. For example:
|
|
162
157
|
|
|
163
158
|
```js
|
|
159
|
+
// Using a Testcafe Selector
|
|
160
|
+
import {Selector} from 'testcafe';
|
|
161
|
+
eyes.checkWindow({
|
|
162
|
+
target: 'region',
|
|
163
|
+
selector: Selector('.my-region')
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
// Using a Testcafe Selector to reference an element within a shadow DOM
|
|
167
|
+
import {Selector} from 'testcafe';
|
|
168
|
+
eyes.checkWindow({
|
|
169
|
+
target: 'region',
|
|
170
|
+
selector: Selector('#has-shadow-root').shadowRoot().find('.my-region')
|
|
171
|
+
});
|
|
172
|
+
|
|
164
173
|
// The shorthand string version defaults to css selectors
|
|
165
174
|
eyes.checkWindow({
|
|
166
175
|
target: 'region',
|
|
@@ -176,13 +185,6 @@ eyes.checkWindow({ tag: 'your tag', target: 'your target mode' })
|
|
|
176
185
|
}
|
|
177
186
|
});
|
|
178
187
|
|
|
179
|
-
// Using a Testcafe Selector
|
|
180
|
-
import {Selector} from 'testcafe';
|
|
181
|
-
eyes.checkWindow({
|
|
182
|
-
target: 'region',
|
|
183
|
-
selector: Selector('.my-region')
|
|
184
|
-
});
|
|
185
|
-
|
|
186
188
|
// Using an xpath selector
|
|
187
189
|
eyes.checkWindow({
|
|
188
190
|
target: 'region',
|
package/dist/api.js
CHANGED
|
@@ -6,25 +6,37 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
6
6
|
if (k2 === undefined) k2 = k;
|
|
7
7
|
o[k2] = m[k];
|
|
8
8
|
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
9
21
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
22
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
23
|
};
|
|
12
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
25
|
exports.BatchClose = exports.Target = exports.CheckSettings = exports.Configuration = exports.Eyes = void 0;
|
|
14
26
|
const eyes_sdk_core_1 = require("@applitools/eyes-sdk-core");
|
|
15
|
-
const api = require("@applitools/eyes-api");
|
|
16
|
-
const
|
|
17
|
-
const
|
|
27
|
+
const api = __importStar(require("@applitools/eyes-api"));
|
|
28
|
+
const legacy = __importStar(require("./legacy"));
|
|
29
|
+
const spec = __importStar(require("./spec-driver"));
|
|
18
30
|
process.env.APPLITOOLS_SCRIPT_RESULT_MAX_BYTE_LENGTH = '4718592';
|
|
19
31
|
process.env.APPLITOOLS_SCRIPT_REMOVE_REVERSE_PROXY_URL_PREFIXES = 'true';
|
|
20
|
-
const sdk = eyes_sdk_core_1.makeSDK({
|
|
32
|
+
const sdk = (0, eyes_sdk_core_1.makeSDK)({
|
|
21
33
|
name: 'eyes.webdriverio',
|
|
22
34
|
version: require('../package.json').version,
|
|
23
35
|
spec,
|
|
24
36
|
VisualGridClient: require('@applitools/visual-grid-client'),
|
|
25
37
|
});
|
|
26
38
|
__exportStar(require("@applitools/eyes-api"), exports);
|
|
27
|
-
class Eyes extends legacy.
|
|
39
|
+
class Eyes extends legacy.LegacyTestCafeEyesMixin(api.Eyes) {
|
|
28
40
|
}
|
|
29
41
|
exports.Eyes = Eyes;
|
|
30
42
|
Eyes._spec = sdk;
|
|
@@ -41,4 +53,3 @@ class BatchClose extends api.BatchClose {
|
|
|
41
53
|
}
|
|
42
54
|
exports.BatchClose = BatchClose;
|
|
43
55
|
BatchClose._spec = sdk;
|
|
44
|
-
//# sourceMappingURL=api.js.map
|
package/dist/index-legacy.js
CHANGED
package/dist/index.js
CHANGED
package/dist/legacy.js
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
2
21
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
22
|
var t = {};
|
|
4
23
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -11,21 +30,22 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
30
|
return t;
|
|
12
31
|
};
|
|
13
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.transformCheckSettings = exports.transformConfig = exports.
|
|
15
|
-
const utils = require("@applitools/utils");
|
|
16
|
-
const api = require("@applitools/eyes-api");
|
|
17
|
-
const fs = require("fs");
|
|
18
|
-
const path = require("path");
|
|
19
|
-
const spec = require("./spec-driver");
|
|
33
|
+
exports.transformCheckSettings = exports.transformConfig = exports.LegacyTestCafeEyesMixin = void 0;
|
|
34
|
+
const utils = __importStar(require("@applitools/utils"));
|
|
35
|
+
const api = __importStar(require("@applitools/eyes-api"));
|
|
36
|
+
const fs = __importStar(require("fs"));
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const spec = __importStar(require("./spec-driver"));
|
|
20
39
|
const eyes_sdk_core_1 = require("@applitools/eyes-sdk-core");
|
|
21
|
-
function
|
|
40
|
+
function LegacyTestCafeEyesMixin(Eyes) {
|
|
22
41
|
return class TestCafeEyes extends Eyes {
|
|
23
42
|
constructor(runnerOrConfigOrOptions, configOrRunner) {
|
|
24
|
-
var _a, _b, _c;
|
|
43
|
+
var _a, _b, _c, _d;
|
|
25
44
|
if (utils.types.isNull(runnerOrConfigOrOptions) || utils.types.has(runnerOrConfigOrOptions, 'configPath')) {
|
|
26
45
|
const testcafeConfig = eyes_sdk_core_1.ConfigUtils.getConfig({ configPath: runnerOrConfigOrOptions === null || runnerOrConfigOrOptions === void 0 ? void 0 : runnerOrConfigOrOptions.configPath });
|
|
27
46
|
const runner = (_a = runnerOrConfigOrOptions === null || runnerOrConfigOrOptions === void 0 ? void 0 : runnerOrConfigOrOptions.runner) !== null && _a !== void 0 ? _a : new api.VisualGridRunner({ testConcurrency: (_c = (_b = testcafeConfig.concurrency) !== null && _b !== void 0 ? _b : testcafeConfig.testConcurrency) !== null && _c !== void 0 ? _c : 1 });
|
|
28
47
|
super(runner, transformConfig(testcafeConfig));
|
|
48
|
+
(_d = testcafeConfig.failTestcafeOnDiff) !== null && _d !== void 0 ? _d : (testcafeConfig.failTestcafeOnDiff = true);
|
|
29
49
|
this._testcafeConfig = testcafeConfig;
|
|
30
50
|
}
|
|
31
51
|
else {
|
|
@@ -75,7 +95,7 @@ function TestCafeEyes(Eyes) {
|
|
|
75
95
|
}
|
|
76
96
|
};
|
|
77
97
|
}
|
|
78
|
-
exports.
|
|
98
|
+
exports.LegacyTestCafeEyesMixin = LegacyTestCafeEyesMixin;
|
|
79
99
|
function transformConfig(options) {
|
|
80
100
|
const config = Object.assign({}, options);
|
|
81
101
|
if (options.concurrency)
|
|
@@ -182,4 +202,3 @@ function transformCheckSettings(options) {
|
|
|
182
202
|
return settings;
|
|
183
203
|
}
|
|
184
204
|
exports.transformCheckSettings = transformCheckSettings;
|
|
185
|
-
//# sourceMappingURL=legacy.js.map
|
package/dist/spec-driver.js
CHANGED
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
2
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.build = exports.waitUntilDisplayed = exports.scrollIntoView = exports.hover = exports.type = exports.click = exports.takeScreenshot = exports.visit = exports.getUrl = exports.getTitle = exports.
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
22
|
+
exports.build = exports.waitUntilDisplayed = exports.scrollIntoView = exports.hover = exports.type = exports.click = exports.takeScreenshot = exports.visit = exports.getUrl = exports.getTitle = exports.getDriverInfo = exports.setViewportSize = exports.findElements = exports.findElement = exports.childContext = exports.mainContext = exports.executeScript = exports.isStaleElementError = exports.extractSelector = exports.transformSelector = exports.transformElement = exports.isSelector = exports.isElement = exports.isDriver = void 0;
|
|
23
|
+
const testcafe = __importStar(require("testcafe"));
|
|
24
|
+
const fs = __importStar(require("fs"));
|
|
25
|
+
const utils = __importStar(require("@applitools/utils"));
|
|
7
26
|
function XPathSelector(selector, options) {
|
|
8
27
|
const getElementsByXPath = testcafe.Selector(xpath => {
|
|
9
28
|
const iterator = document.evaluate(xpath, document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
|
|
@@ -17,14 +36,6 @@ function XPathSelector(selector, options) {
|
|
|
17
36
|
}, options);
|
|
18
37
|
return testcafe.Selector(getElementsByXPath(selector), options);
|
|
19
38
|
}
|
|
20
|
-
function transformSelector(selector) {
|
|
21
|
-
if (utils.types.has(selector, ['type', 'selector'])) {
|
|
22
|
-
if (selector.type === 'xpath')
|
|
23
|
-
return XPathSelector(selector.selector);
|
|
24
|
-
return testcafe.Selector(selector.selector);
|
|
25
|
-
}
|
|
26
|
-
return testcafe.Selector(selector);
|
|
27
|
-
}
|
|
28
39
|
function deserializeResult(result, elements) {
|
|
29
40
|
if (!result) {
|
|
30
41
|
return result;
|
|
@@ -120,15 +131,28 @@ function isElement(element) {
|
|
|
120
131
|
}
|
|
121
132
|
exports.isElement = isElement;
|
|
122
133
|
function isSelector(selector) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
134
|
+
if (!selector)
|
|
135
|
+
return;
|
|
136
|
+
return Boolean(selector.addCustomMethods && selector.find && selector.parent);
|
|
126
137
|
}
|
|
127
138
|
exports.isSelector = isSelector;
|
|
128
139
|
function transformElement(element) {
|
|
129
140
|
return utils.types.isFunction(element.selector) ? element.selector : element;
|
|
130
141
|
}
|
|
131
142
|
exports.transformElement = transformElement;
|
|
143
|
+
function transformSelector(selector) {
|
|
144
|
+
if (utils.types.has(selector, 'selector')) {
|
|
145
|
+
let current = selector;
|
|
146
|
+
let transformed = selector.type === 'xpath' ? XPathSelector(current.selector) : testcafe.Selector(current.selector);
|
|
147
|
+
while (current.shadow) {
|
|
148
|
+
current = utils.types.has(current.shadow, 'selector') ? current.shadow : { selector: current.shadow };
|
|
149
|
+
transformed = transformed.shadowRoot().find(current.selector);
|
|
150
|
+
}
|
|
151
|
+
return transformed;
|
|
152
|
+
}
|
|
153
|
+
return testcafe.Selector(selector);
|
|
154
|
+
}
|
|
155
|
+
exports.transformSelector = transformSelector;
|
|
132
156
|
function extractSelector(element) {
|
|
133
157
|
return utils.types.isFunction(element.selector) ? element.selector : element;
|
|
134
158
|
}
|
|
@@ -137,16 +161,6 @@ function isStaleElementError(_err) {
|
|
|
137
161
|
return false;
|
|
138
162
|
}
|
|
139
163
|
exports.isStaleElementError = isStaleElementError;
|
|
140
|
-
async function isEqualElements(t, element1, element2) {
|
|
141
|
-
if (!element1 || !element2)
|
|
142
|
-
return false;
|
|
143
|
-
const compareElements = testcafe.ClientFunction(() => element1() === element2(), {
|
|
144
|
-
boundTestRun: t,
|
|
145
|
-
dependencies: { element1, element2 },
|
|
146
|
-
});
|
|
147
|
-
return compareElements();
|
|
148
|
-
}
|
|
149
|
-
exports.isEqualElements = isEqualElements;
|
|
150
164
|
async function executeScript(t, script, arg) {
|
|
151
165
|
script = utils.types.isFunction(script) ? script.toString() : script;
|
|
152
166
|
const { result, resultId, elementsCount } = await scriptRunner.with({
|
|
@@ -164,10 +178,12 @@ async function executeScript(t, script, arg) {
|
|
|
164
178
|
exports.executeScript = executeScript;
|
|
165
179
|
async function mainContext(t) {
|
|
166
180
|
await t.switchToMainWindow();
|
|
181
|
+
return t;
|
|
167
182
|
}
|
|
168
183
|
exports.mainContext = mainContext;
|
|
169
184
|
async function childContext(t, element) {
|
|
170
185
|
await t.switchToIframe(element);
|
|
186
|
+
return t;
|
|
171
187
|
}
|
|
172
188
|
exports.childContext = childContext;
|
|
173
189
|
async function findElement(t, selector) {
|
|
@@ -180,15 +196,14 @@ async function findElements(t, selector) {
|
|
|
180
196
|
return Array.from({ length: await elements.count }, (_, index) => elements.nth(index));
|
|
181
197
|
}
|
|
182
198
|
exports.findElements = findElements;
|
|
183
|
-
async function getElementRect(_t, element) {
|
|
184
|
-
const { left: x, top: y, width, height } = await element.boundingClientRect;
|
|
185
|
-
return { x, y, width, height };
|
|
186
|
-
}
|
|
187
|
-
exports.getElementRect = getElementRect;
|
|
188
199
|
async function setViewportSize(t, size) {
|
|
189
200
|
await t.resizeWindow(size.width, size.height);
|
|
190
201
|
}
|
|
191
202
|
exports.setViewportSize = setViewportSize;
|
|
203
|
+
async function getDriverInfo(_t) {
|
|
204
|
+
return { features: { shadowSelector: true } };
|
|
205
|
+
}
|
|
206
|
+
exports.getDriverInfo = getDriverInfo;
|
|
192
207
|
async function getTitle(t) {
|
|
193
208
|
try {
|
|
194
209
|
return await testcafe.Selector('title', { boundTestRun: t }).innerText;
|
|
@@ -257,4 +272,3 @@ function build() {
|
|
|
257
272
|
return [undefined, () => void 0];
|
|
258
273
|
}
|
|
259
274
|
exports.build = build;
|
|
260
|
-
//# sourceMappingURL=spec-driver.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/eyes-testcafe",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.1",
|
|
4
4
|
"description": "Applitools Eyes SDK for TestCafe",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eyes-testcafe",
|
|
@@ -24,6 +24,11 @@
|
|
|
24
24
|
"dist",
|
|
25
25
|
"types"
|
|
26
26
|
],
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "https://github.com/applitools/eyes.sdk.javascript1.git",
|
|
30
|
+
"directory": "packages/eyes-testcafe"
|
|
31
|
+
},
|
|
27
32
|
"main": "./dist/index-legacy.js",
|
|
28
33
|
"types": "./types/index-legacy.d.ts",
|
|
29
34
|
"scripts": {
|
|
@@ -36,11 +41,9 @@
|
|
|
36
41
|
"run:testcafe:8": "./node_modules/testcafe-8/bin/testcafe-with-v8-flag-filter.js",
|
|
37
42
|
"run:testcafe:7": "./node_modules/testcafe-7/bin/testcafe-with-v8-flag-filter.js",
|
|
38
43
|
"lint": "eslint '**/*.ts' '**/*.js'",
|
|
39
|
-
"build": "
|
|
40
|
-
"build:dist": "tsc",
|
|
41
|
-
"build:types": "api-extractor ./src/index.ts --out ./types/index.d.ts",
|
|
44
|
+
"build": "ttsc",
|
|
42
45
|
"generate:tests": "coverage-tests generate ./test/coverage/config.js --name 'eyes-testcafe'",
|
|
43
|
-
"test": "yarn
|
|
46
|
+
"test": "yarn test:it && yarn test:coverage",
|
|
44
47
|
"test:unit": "mocha --no-timeouts ./test/unit/*.spec.js",
|
|
45
48
|
"test:it": "testcafe chrome:headless test/it && yarn test:it:firefox:headless",
|
|
46
49
|
"test:it:chrome": "testcafe chrome test/it/spec-driver.spec.js",
|
|
@@ -54,8 +57,8 @@
|
|
|
54
57
|
"test:coverage:custom": "yarn generate:tests && APPLITOOLS_USE_PRELOADED_CONFIG=true APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-testcafe (custom)' APPLITOOLS_BATCH_ID=$(uuidgen) testcafe chrome:headless test/custom --reporter spec,xunit:coverage-test-report.xml",
|
|
55
58
|
"report": "coverage-tests report ./test/coverage/config.js --name 'eyes-testcafe'",
|
|
56
59
|
"deps": "bongo deps",
|
|
57
|
-
"gh:test": "gh workflow run test.yml -f packages='testcafe' -f links='eyes-sdk-core eyes-api types utils sdk-shared visual-grid-client' -f linking-depth=
|
|
58
|
-
"gh:publish": "gh workflow run publish.yml -
|
|
60
|
+
"gh:test": "gh workflow run test.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='testcafe' -f links='eyes-sdk-core eyes-api types test-utils utils driver snippets screenshoter sdk-shared visual-grid-client' -f linking-depth=3",
|
|
61
|
+
"gh:publish": "gh workflow run publish-testcafe.yml --ref $(git rev-parse --abbrev-ref HEAD)",
|
|
59
62
|
"preversion": "yarn deps && bongo preversion && yarn build",
|
|
60
63
|
"version": "bongo version",
|
|
61
64
|
"postversion": "bongo postversion"
|
|
@@ -66,19 +69,19 @@
|
|
|
66
69
|
}
|
|
67
70
|
},
|
|
68
71
|
"dependencies": {
|
|
69
|
-
"@applitools/eyes-api": "1.
|
|
70
|
-
"@applitools/eyes-sdk-core": "12.
|
|
71
|
-
"@applitools/utils": "1.2.
|
|
72
|
-
"@applitools/visual-grid-client": "15.8.
|
|
72
|
+
"@applitools/eyes-api": "1.1.6",
|
|
73
|
+
"@applitools/eyes-sdk-core": "12.24.13",
|
|
74
|
+
"@applitools/utils": "1.2.11",
|
|
75
|
+
"@applitools/visual-grid-client": "15.8.60"
|
|
73
76
|
},
|
|
74
77
|
"devDependencies": {
|
|
75
|
-
"@applitools/api-extractor": "1.
|
|
76
|
-
"@applitools/scripts": "1.
|
|
77
|
-
"@applitools/sdk-coverage-tests": "^2.3.
|
|
78
|
-
"@applitools/sdk-release-kit": "^0.13.
|
|
79
|
-
"@applitools/sdk-shared": "0.9.
|
|
80
|
-
"@applitools/test-server": "1.0.
|
|
81
|
-
"@applitools/test-utils": "1.0.
|
|
78
|
+
"@applitools/api-extractor": "1.2.6",
|
|
79
|
+
"@applitools/scripts": "1.1.0",
|
|
80
|
+
"@applitools/sdk-coverage-tests": "^2.3.18",
|
|
81
|
+
"@applitools/sdk-release-kit": "^0.13.10",
|
|
82
|
+
"@applitools/sdk-shared": "0.9.11",
|
|
83
|
+
"@applitools/test-server": "1.0.8",
|
|
84
|
+
"@applitools/test-utils": "1.0.10",
|
|
82
85
|
"@typescript-eslint/eslint-plugin": "^4.15.1",
|
|
83
86
|
"@typescript-eslint/parser": "^4.15.1",
|
|
84
87
|
"eslint": "^7.9.0",
|
|
@@ -90,12 +93,15 @@
|
|
|
90
93
|
"husky": "^4.3.8",
|
|
91
94
|
"mocha": "^8.0.1",
|
|
92
95
|
"prettier": "^2.1.2",
|
|
93
|
-
"testcafe": "^1.
|
|
96
|
+
"testcafe": "^1.18.1",
|
|
94
97
|
"testcafe-10": "npm:testcafe@^1.10.0",
|
|
95
98
|
"testcafe-7": "npm:testcafe@1.7.1",
|
|
96
99
|
"testcafe-8": "npm:testcafe@1.8.8",
|
|
97
100
|
"testcafe-9": "npm:testcafe@1.9.4",
|
|
98
|
-
"testcafe-browser-provider-browserstack": "^1.13.2-alpha.1"
|
|
101
|
+
"testcafe-browser-provider-browserstack": "^1.13.2-alpha.1",
|
|
102
|
+
"ts-node": "^10.4.0",
|
|
103
|
+
"ttypescript": "^1.5.12",
|
|
104
|
+
"typescript": "^4.5.4"
|
|
99
105
|
},
|
|
100
106
|
"peerDependencies": {
|
|
101
107
|
"testcafe": "^1.7.1"
|
package/types/index-legacy.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export default Eyes
|
|
1
|
+
import { Eyes } from './index';
|
|
2
|
+
export = Eyes;
|