@applitools/eyes-cypress 3.29.1 → 3.30.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 +8 -0
- package/README.md +34 -10
- package/dist/plugin/hooks.js +2 -2
- package/dist/plugin/pluginExport.js +1 -1
- package/dist/plugin/server.js +4 -7
- package/package.json +13 -21
- package/src/browser/commands.js +43 -30
- package/src/browser/eyesCheckMapping.js +75 -37
- package/src/browser/eyesOpenMapping.js +21 -27
- package/src/expose.ts +5 -3
- package/src/plugin/hooks.ts +2 -2
- package/src/plugin/pluginExport.ts +1 -1
- package/src/plugin/server.ts +4 -9
- package/src/setup/handlePlugin.js +1 -1
- package/types/expose.d.ts +52 -52
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -108,17 +108,23 @@ For `typescript` use you must add the following code to your `tsconfig.json`:
|
|
|
108
108
|
|
|
109
109
|
Eyes-Cypress ships with official type declarations for TypeScript. This allows you to add eyes commands to your TypeScript tests.
|
|
110
110
|
|
|
111
|
-
Add this file to your project
|
|
111
|
+
Add this file to your project using one of the following two options:
|
|
112
112
|
1. Adding the path to your [tsconfig](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) file:
|
|
113
|
+
|
|
114
|
+
```json
|
|
115
|
+
{
|
|
116
|
+
...
|
|
117
|
+
"compilerOptions": {
|
|
118
|
+
...
|
|
119
|
+
"types": ["@applitools/eyes-cypress", "cypress", "node"]
|
|
120
|
+
...
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
2. Create `index.d.ts` file under `cypress/support` folder that contains:
|
|
113
126
|
```
|
|
114
|
-
|
|
115
|
-
"files": ["./node_modules/@applitools/eyes-cypress/index.d.ts"],
|
|
116
|
-
...
|
|
117
|
-
}
|
|
118
|
-
```
|
|
119
|
-
2. Copying the file to to your [cypress/support/](https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests.html#Folder-Structure) dir:
|
|
120
|
-
```
|
|
121
|
-
cp node_modules/@applitools/eyes-cypress/index.d.ts ./cypress/support/
|
|
127
|
+
import "@applitools/eyes-cypress"
|
|
122
128
|
```
|
|
123
129
|
### Applitools API key
|
|
124
130
|
|
|
@@ -269,6 +275,7 @@ Applitools will take screenshots and perform the visual comparisons in the backg
|
|
|
269
275
|
- [`visualGridOptions`](#visualgridoptions)
|
|
270
276
|
- [`coded regions-regionId`](#regionId)
|
|
271
277
|
- [`lazy loading`](#lazy-loading)
|
|
278
|
+
- [Density metrics](#density-metrics-densitymetrics)
|
|
272
279
|
- [Close](#close)
|
|
273
280
|
- [GetAllTestResults](#getalltestresults)
|
|
274
281
|
- [deleteTestResults](#deletetestresults)
|
|
@@ -751,7 +758,7 @@ It's possible to have the SDK scroll the entire page (or a specific length of th
|
|
|
751
758
|
|
|
752
759
|
```js
|
|
753
760
|
// lazy loads with sensible defaults
|
|
754
|
-
cy.eyesCheckWindow(lazyload:{})
|
|
761
|
+
cy.eyesCheckWindow({lazyload:{}})
|
|
755
762
|
|
|
756
763
|
// lazy loads with options specified
|
|
757
764
|
cy.eyesCheckWindow({lazyLoad: {
|
|
@@ -761,6 +768,23 @@ cy.eyesCheckWindow({lazyLoad: {
|
|
|
761
768
|
}})
|
|
762
769
|
```
|
|
763
770
|
|
|
771
|
+
##### Density metrics (`densityMetrics`)
|
|
772
|
+
|
|
773
|
+
In order to set the density metrics for the screenshot, use the `densityMetrics` method. This method accepts a object value with the following properties:
|
|
774
|
+
|
|
775
|
+
- `xdpi` - The exact physical pixels per inch of the screen in the X dimension.
|
|
776
|
+
- `ydpi` - The exact physical pixels per inch of the screen in the Y dimension.
|
|
777
|
+
- `scaleRatio` - The scale ratio.
|
|
778
|
+
|
|
779
|
+
```js
|
|
780
|
+
// set density metrics
|
|
781
|
+
cy.eyesCheckWindow({
|
|
782
|
+
densityMetrics:
|
|
783
|
+
xdpi: 100,
|
|
784
|
+
ydpi: 100,
|
|
785
|
+
scaleRatio: 1
|
|
786
|
+
})
|
|
787
|
+
```
|
|
764
788
|
|
|
765
789
|
#### Close
|
|
766
790
|
|
package/dist/plugin/hooks.js
CHANGED
|
@@ -17,7 +17,7 @@ function makeGlobalRunHooks({ closeManager, closeBatches, closeUniversalServer }
|
|
|
17
17
|
const summaries = await closeManager();
|
|
18
18
|
let testResults;
|
|
19
19
|
for (const summary of summaries) {
|
|
20
|
-
testResults = summary.results.map(({
|
|
20
|
+
testResults = summary.results.map(({ result }) => result);
|
|
21
21
|
}
|
|
22
22
|
if (!config.appliConfFile.dontCloseBatches) {
|
|
23
23
|
await closeBatches({
|
|
@@ -28,7 +28,7 @@ function makeGlobalRunHooks({ closeManager, closeBatches, closeUniversalServer }
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
if (config.appliConfFile.tapDirPath) {
|
|
31
|
-
|
|
31
|
+
handleTestResults_1.default.handleBatchResultsFile(testResults, {
|
|
32
32
|
tapDirPath: config.appliConfFile.tapDirPath,
|
|
33
33
|
tapFileName: config.appliConfFile.tapFileName,
|
|
34
34
|
});
|
|
@@ -55,7 +55,7 @@ function makePluginExport({ startServer, eyesConfig }) {
|
|
|
55
55
|
return pluginInitArgs;
|
|
56
56
|
}
|
|
57
57
|
return function getCloseServer() {
|
|
58
|
-
return eyesServer.close();
|
|
58
|
+
return new Promise(res => eyesServer.close(() => res()));
|
|
59
59
|
};
|
|
60
60
|
async function setupNodeEvents(origOn, cypressConfig) {
|
|
61
61
|
const { server, port, closeManager, closeBatches, closeUniversalServer } = await startServer();
|
package/dist/plugin/server.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const webSocket_1 = __importDefault(require("./webSocket"));
|
|
7
|
-
const
|
|
7
|
+
const core_1 = require("@applitools/core");
|
|
8
8
|
const handleTestResults_1 = __importDefault(require("./handleTestResults"));
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
10
|
const fs_1 = __importDefault(require("fs"));
|
|
@@ -32,7 +32,7 @@ function makeStartServer({ logger }) {
|
|
|
32
32
|
if ((0, semver_1.lt)(cypressVersion, '7.0.0')) {
|
|
33
33
|
forkOptions.execPath = await (0, which_1.default)('node');
|
|
34
34
|
}
|
|
35
|
-
const { port: universalPort, close: closeUniversalServer } = await (0,
|
|
35
|
+
const { port: universalPort, close: closeUniversalServer } = await (0, core_1.makeCoreServerProcess)({
|
|
36
36
|
idleTimeout: 0,
|
|
37
37
|
shutdownMode: 'stdin',
|
|
38
38
|
forkOptions,
|
|
@@ -101,14 +101,11 @@ function makeStartServer({ logger }) {
|
|
|
101
101
|
closeUniversalServer,
|
|
102
102
|
};
|
|
103
103
|
function closeManager() {
|
|
104
|
-
return Promise.all(managers.map(({ manager, socketWithUniversal }) => socketWithUniversal.request('EyesManager.
|
|
105
|
-
manager,
|
|
106
|
-
throwErr: false,
|
|
107
|
-
})));
|
|
104
|
+
return Promise.all(managers.map(({ manager, socketWithUniversal }) => socketWithUniversal.request('EyesManager.getResults', { manager, settings: { throwErr: false } })));
|
|
108
105
|
}
|
|
109
106
|
function closeBatches(settings) {
|
|
110
107
|
if (socketWithUniversal)
|
|
111
|
-
return socketWithUniversal.request('Core.
|
|
108
|
+
return socketWithUniversal.request('Core.closeBatch', { settings }).catch((err) => {
|
|
112
109
|
logger.log('@@@', err);
|
|
113
110
|
});
|
|
114
111
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/eyes-cypress",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.30.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git://github.com/applitools/eyes.sdk.javascript1.git",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"cypress12": "./node_modules/cypress12/bin/cypress",
|
|
46
46
|
"test:ts:run:12": "yarn cypress12 run --project ./test/e2e/ts --config-file ./cypress-12.config.ts",
|
|
47
47
|
"test:ts:run": "yarn test:ts:run:legacy && yarn test:ts:run:9",
|
|
48
|
-
"test:coverage": "yarn generate:tests && cd test/coverage/generic && yarn &&
|
|
48
|
+
"test:coverage": "yarn generate:tests && cd test/coverage/generic && yarn && APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-cypress' APPLITOOLS_BATCH_ID=$(uuidgen) npx cypress run",
|
|
49
49
|
"test:e2e": "mkdir -p test/fixtures/testAppCopies && mocha --no-timeouts 'test/e2e/**/*.test.js'",
|
|
50
50
|
"test:components": "cd test/components && yarn && npx cypress run --component",
|
|
51
51
|
"cypress": "cypress open --config-file test/fixtures/cypress-play.json",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"deps": "bongo deps",
|
|
59
59
|
"preversion": "yarn build && bongo preversion --skip-deps --verifyPendingChanges --skipVerifyInstalledVersions",
|
|
60
60
|
"version": "bongo version --withPendingChanges",
|
|
61
|
-
"postversion": "bongo postversion
|
|
61
|
+
"postversion": "bongo postversion"
|
|
62
62
|
},
|
|
63
63
|
"husky": {
|
|
64
64
|
"hooks": {
|
|
@@ -66,12 +66,11 @@
|
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@applitools/core": "
|
|
70
|
-
"@applitools/eyes-api": "1.13.
|
|
71
|
-
"@applitools/eyes-universal": "2.18.0",
|
|
69
|
+
"@applitools/core": "2.4.2",
|
|
70
|
+
"@applitools/eyes-api": "1.13.12",
|
|
72
71
|
"@applitools/functional-commons": "1.6.0",
|
|
73
|
-
"@applitools/logger": "1.1.
|
|
74
|
-
"@applitools/utils": "1.3.
|
|
72
|
+
"@applitools/logger": "1.1.48",
|
|
73
|
+
"@applitools/utils": "1.3.32",
|
|
75
74
|
"boxen": "5.1.2",
|
|
76
75
|
"chalk": "3.0.0",
|
|
77
76
|
"semver": "7.3.8",
|
|
@@ -80,20 +79,17 @@
|
|
|
80
79
|
"ws": "8.5.0"
|
|
81
80
|
},
|
|
82
81
|
"devDependencies": {
|
|
83
|
-
"@applitools/api-extractor": "^1.2.
|
|
84
|
-
"@applitools/bongo": "^
|
|
85
|
-
"@applitools/
|
|
86
|
-
"@applitools/sdk-coverage-tests": "^2.7.8",
|
|
82
|
+
"@applitools/api-extractor": "^1.2.12",
|
|
83
|
+
"@applitools/bongo": "^3.0.1",
|
|
84
|
+
"@applitools/sdk-coverage-tests": "^3.0.0",
|
|
87
85
|
"@applitools/snaptdout": "1.0.1",
|
|
88
|
-
"@applitools/test-server": "1.1.
|
|
89
|
-
"@applitools/test-utils": "1.5.
|
|
86
|
+
"@applitools/test-server": "1.1.28",
|
|
87
|
+
"@applitools/test-utils": "1.5.14",
|
|
90
88
|
"@types/node": "12",
|
|
91
89
|
"@types/semver": "^7.3.13",
|
|
92
90
|
"@types/uuid": "^9.0.0",
|
|
93
91
|
"@types/which": "^2.0.1",
|
|
94
92
|
"@types/ws": "^8.2.2",
|
|
95
|
-
"@typescript-eslint/eslint-plugin": "^5.47.1",
|
|
96
|
-
"@typescript-eslint/parser": "^5.47.1",
|
|
97
93
|
"chai": "4.2.0",
|
|
98
94
|
"chai-spies": "1.0.0",
|
|
99
95
|
"cookie-parser": "1.4.4",
|
|
@@ -103,11 +99,7 @@
|
|
|
103
99
|
"cypress12": "npm:cypress@^12.0.0",
|
|
104
100
|
"cypress9": "npm:cypress@^9.0.0",
|
|
105
101
|
"eslint": "8.10.0",
|
|
106
|
-
"eslint-
|
|
107
|
-
"eslint-plugin-mocha-no-only": "1.1.0",
|
|
108
|
-
"eslint-plugin-no-only-tests": "^3.1.0",
|
|
109
|
-
"eslint-plugin-node": "^11.1.0",
|
|
110
|
-
"eslint-plugin-prettier": "^4.0.0",
|
|
102
|
+
"eslint-plugin-mocha-no-only": "1.1.1",
|
|
111
103
|
"husky": "4.3.8",
|
|
112
104
|
"lodash.omit": "4.5.0",
|
|
113
105
|
"mocha": "8.0.1",
|
package/src/browser/commands.js
CHANGED
|
@@ -4,18 +4,31 @@ const spec = require('../../dist/browser/spec-driver')
|
|
|
4
4
|
const Refer = require('./refer')
|
|
5
5
|
const Socket = require('./socket')
|
|
6
6
|
const {socketCommands} = require('./socketCommands')
|
|
7
|
-
const {eyesOpenMapValues} = require('./eyesOpenMapping')
|
|
7
|
+
const {eyesOpenMapValues, eyesOpenToCheckMapValues} = require('./eyesOpenMapping')
|
|
8
8
|
const {eyesCheckMapValues} = require('./eyesCheckMapping')
|
|
9
9
|
const {TestResultsSummary} = require('@applitools/eyes-api')
|
|
10
10
|
const refer = new Refer()
|
|
11
11
|
const socket = new Socket()
|
|
12
12
|
const throwErr = Cypress.config('failCypressOnDiff')
|
|
13
13
|
socketCommands(socket, refer)
|
|
14
|
-
let connectedToUniversal = false
|
|
15
14
|
|
|
16
15
|
let manager,
|
|
17
16
|
eyes,
|
|
18
|
-
closePromiseArr = []
|
|
17
|
+
closePromiseArr = [],
|
|
18
|
+
_summary,
|
|
19
|
+
connectedToUniversal,
|
|
20
|
+
openToCheckSettingsArgs
|
|
21
|
+
|
|
22
|
+
async function getSummary() {
|
|
23
|
+
if (_summary) return _summary
|
|
24
|
+
await Promise.all(closePromiseArr)
|
|
25
|
+
_summary = socket.request('EyesManager.getResults', {manager, settings: {throwErr}}).catch(err => {
|
|
26
|
+
return {results: [{result: err.info.result}]}
|
|
27
|
+
})
|
|
28
|
+
_summary = await _summary
|
|
29
|
+
|
|
30
|
+
return _summary
|
|
31
|
+
}
|
|
19
32
|
|
|
20
33
|
function getGlobalConfigProperty(prop) {
|
|
21
34
|
const property = Cypress.config(prop)
|
|
@@ -34,8 +47,6 @@ Cypress.Commands.add('eyesGetAllTestResults', () => {
|
|
|
34
47
|
isCurrentTestDisabled = false
|
|
35
48
|
return
|
|
36
49
|
}
|
|
37
|
-
await Promise.all(closePromiseArr)
|
|
38
|
-
const summary = await socket.request('EyesManager.closeManager', {manager, throwErr})
|
|
39
50
|
|
|
40
51
|
const deleteTest = ({settings: {testId, batchId, secretToken}}) => {
|
|
41
52
|
const {serverUrl, proxy, apiKey} = Cypress.config('appliConfFile')
|
|
@@ -50,9 +61,7 @@ Cypress.Commands.add('eyesGetAllTestResults', () => {
|
|
|
50
61
|
},
|
|
51
62
|
})
|
|
52
63
|
}
|
|
53
|
-
summary
|
|
54
|
-
return {...res, result: res.testResults, error: res.exception, renderer: res.browserInfo}
|
|
55
|
-
})
|
|
64
|
+
const summary = await getSummary()
|
|
56
65
|
return new TestResultsSummary({summary, deleteTest})
|
|
57
66
|
})
|
|
58
67
|
})
|
|
@@ -73,9 +82,9 @@ if (shouldUseBrowserHooks || Cypress.config('eyesFailCypressOnDiff')) {
|
|
|
73
82
|
tapFileName: Cypress.config('appliConfFile').tapFileName,
|
|
74
83
|
shouldCreateTapFile: shouldUseBrowserHooks,
|
|
75
84
|
}
|
|
76
|
-
|
|
77
|
-
const summary = await
|
|
78
|
-
const testResults = summary.results.map(({
|
|
85
|
+
|
|
86
|
+
const summary = await getSummary()
|
|
87
|
+
const testResults = summary.results.map(({result}) => result)
|
|
79
88
|
const message = await socket.request('Test.printTestResults', {testResults, resultConfig})
|
|
80
89
|
if (
|
|
81
90
|
!!getGlobalConfigProperty('eyesFailCypressOnDiff') &&
|
|
@@ -105,38 +114,37 @@ Cypress.Commands.add('eyesOpen', function (args = {}) {
|
|
|
105
114
|
|
|
106
115
|
return cy.then({timeout: 86400000}, async () => {
|
|
107
116
|
setRootContext()
|
|
108
|
-
const
|
|
117
|
+
const target = refer.ref(cy.state('window').document)
|
|
109
118
|
|
|
110
119
|
if (!connectedToUniversal) {
|
|
111
120
|
socket.connect(`wss://localhost:${Cypress.config('eyesPort')}/eyes`)
|
|
112
121
|
connectedToUniversal = true
|
|
113
|
-
socket.emit('Core.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
122
|
+
socket.emit('Core.makeCore', {
|
|
123
|
+
agentId: `eyes.cypress/${require('../../package.json').version}`,
|
|
124
|
+
cwd: Cypress.config('projectRoot'),
|
|
125
|
+
spec: Object.keys(spec).concat(['isSelector', 'isDriver', 'isElement']), // TODO fix spec.isSelector and spec.isDriver and spec.isElement in driver
|
|
117
126
|
})
|
|
118
127
|
|
|
119
128
|
manager =
|
|
120
129
|
manager ||
|
|
121
130
|
(await socket.request(
|
|
122
131
|
'Core.makeManager',
|
|
123
|
-
Object.assign({}, {concurrency: Cypress.config('eyesTestConcurrency')}, {
|
|
132
|
+
Object.assign({}, {concurrency: Cypress.config('eyesTestConcurrency')}, {type: 'ufg'}),
|
|
124
133
|
))
|
|
125
134
|
}
|
|
126
135
|
|
|
127
136
|
const appliConfFile = Cypress.config('appliConfFile')
|
|
128
|
-
|
|
137
|
+
|
|
138
|
+
openToCheckSettingsArgs = eyesOpenToCheckMapValues(args)
|
|
139
|
+
|
|
140
|
+
const settings = eyesOpenMapValues({
|
|
129
141
|
args,
|
|
130
142
|
appliConfFile,
|
|
131
143
|
testName,
|
|
132
144
|
shouldUseBrowserHooks,
|
|
133
|
-
defaultBrowser: {
|
|
134
|
-
width: Cypress.config('viewportWidth'),
|
|
135
|
-
height: Cypress.config('viewportHeight'),
|
|
136
|
-
name: 'chrome',
|
|
137
|
-
},
|
|
138
145
|
})
|
|
139
|
-
|
|
146
|
+
|
|
147
|
+
eyes = await socket.request('EyesManager.openEyes', {manager, target, settings})
|
|
140
148
|
})
|
|
141
149
|
})
|
|
142
150
|
|
|
@@ -145,16 +153,20 @@ Cypress.Commands.add('eyesCheckWindow', (args = {}) =>
|
|
|
145
153
|
if (isCurrentTestDisabled) return
|
|
146
154
|
|
|
147
155
|
setRootContext()
|
|
148
|
-
const
|
|
156
|
+
const target = refer.ref(cy.state('window').document)
|
|
149
157
|
|
|
150
158
|
Cypress.log({name: 'Eyes: check window'})
|
|
151
159
|
|
|
152
|
-
const
|
|
160
|
+
const settings = eyesCheckMapValues({
|
|
161
|
+
args: {...openToCheckSettingsArgs, ...args},
|
|
162
|
+
refer,
|
|
163
|
+
appliConfFile: Cypress.config('appliConfFile'),
|
|
164
|
+
})
|
|
153
165
|
|
|
154
166
|
return socket.request('Eyes.check', {
|
|
155
167
|
eyes,
|
|
156
|
-
settings
|
|
157
|
-
|
|
168
|
+
settings,
|
|
169
|
+
target,
|
|
158
170
|
})
|
|
159
171
|
}),
|
|
160
172
|
)
|
|
@@ -169,11 +181,12 @@ Cypress.Commands.add('eyesClose', () => {
|
|
|
169
181
|
return
|
|
170
182
|
}
|
|
171
183
|
|
|
172
|
-
//
|
|
173
|
-
const p = socket.request('Eyes.close', {eyes
|
|
184
|
+
// Eyes.close in core is not waiting on results anymore. So we should return it in order to await it
|
|
185
|
+
const p = socket.request('Eyes.close', {eyes}).catch(err => {
|
|
174
186
|
console.log('Error in cy.eyesClose', err)
|
|
175
187
|
})
|
|
176
188
|
closePromiseArr.push(p)
|
|
189
|
+
return p
|
|
177
190
|
})
|
|
178
191
|
})
|
|
179
192
|
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/* global Node */
|
|
2
|
-
function eyesCheckMapValues({args, refer}) {
|
|
2
|
+
function eyesCheckMapValues({openToCheckSettingsArgs, args, refer, appliConfFile}) {
|
|
3
3
|
if (typeof args === `string`) {
|
|
4
4
|
args = {tag: args}
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
args = {...openToCheckSettingsArgs, ...args}
|
|
7
|
+
if (typeof args.waitBeforeCapture !== 'number') args.waitBeforeCapture = appliConfFile.waitBeforeCapture
|
|
8
|
+
let accessibilitySettings = args.accessibilitySettings || appliConfFile.accessibilityValidation
|
|
9
|
+
|
|
7
10
|
const mappedValues = [
|
|
8
11
|
'tag',
|
|
9
12
|
'scriptHooks',
|
|
@@ -20,56 +23,75 @@ function eyesCheckMapValues({args, refer}) {
|
|
|
20
23
|
|
|
21
24
|
let regionSettings = {}
|
|
22
25
|
let shadowDomSettings = {}
|
|
26
|
+
|
|
27
|
+
let renderers = args.renderers || args.browser || appliConfFile.browser
|
|
28
|
+
if (renderers) {
|
|
29
|
+
if (Array.isArray(renderers)) {
|
|
30
|
+
for (const [index, value] of renderers.entries()) {
|
|
31
|
+
renderers[index] = fillDefaultBrowserName(value)
|
|
32
|
+
}
|
|
33
|
+
} else {
|
|
34
|
+
renderers = [fillDefaultBrowserName(renderers)]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
23
38
|
const checkSettings = {
|
|
24
|
-
name:
|
|
25
|
-
hooks:
|
|
26
|
-
ignoreRegions: convertPaddedRegion(
|
|
27
|
-
floatingRegions: convertFloatingRegion(
|
|
28
|
-
strictRegions: convertPaddedRegion(
|
|
29
|
-
layoutRegions: convertPaddedRegion(
|
|
30
|
-
contentRegions: convertPaddedRegion(
|
|
31
|
-
accessibilityRegions: convertAccessabilityRegions(
|
|
39
|
+
name: args.tag,
|
|
40
|
+
hooks: args.scriptHooks,
|
|
41
|
+
ignoreRegions: convertPaddedRegion(args.ignore),
|
|
42
|
+
floatingRegions: convertFloatingRegion(args.floating),
|
|
43
|
+
strictRegions: convertPaddedRegion(args.strict),
|
|
44
|
+
layoutRegions: convertPaddedRegion(args.layout),
|
|
45
|
+
contentRegions: convertPaddedRegion(args.content),
|
|
46
|
+
accessibilityRegions: convertAccessabilityRegions(args.accessibility),
|
|
47
|
+
renderers,
|
|
48
|
+
}
|
|
49
|
+
if (args.variationGroupId) {
|
|
50
|
+
checkSettings.userCommandId = args.variationGroupId
|
|
51
|
+
}
|
|
52
|
+
if (args.accessibilitySettings) {
|
|
53
|
+
checkSettings.accessibilitySettings = accessibilitySettings
|
|
32
54
|
}
|
|
33
55
|
|
|
34
|
-
if (
|
|
35
|
-
if (!Array.isArray(
|
|
36
|
-
if (
|
|
37
|
-
if (isHTMLElement(
|
|
56
|
+
if (args.target === 'region') {
|
|
57
|
+
if (!Array.isArray(args.selector)) {
|
|
58
|
+
if (args.element) {
|
|
59
|
+
if (isHTMLElement(args.element)) {
|
|
38
60
|
regionSettings = {
|
|
39
|
-
region: Object.assign(refer.ref(
|
|
61
|
+
region: Object.assign(refer.ref(args.element), {type: 'element'}),
|
|
40
62
|
}
|
|
41
63
|
} else {
|
|
42
64
|
// JQuery element
|
|
43
65
|
regionSettings = {
|
|
44
|
-
region: Object.assign(refer.ref(
|
|
66
|
+
region: Object.assign(refer.ref(args.element[0]), {type: 'element'}),
|
|
45
67
|
}
|
|
46
68
|
}
|
|
47
69
|
} else if (
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
70
|
+
args.region &&
|
|
71
|
+
args.region.hasOwnProperty('top') &&
|
|
72
|
+
args.region.hasOwnProperty('left') &&
|
|
73
|
+
args.region.hasOwnProperty('width') &&
|
|
74
|
+
args.region.hasOwnProperty('height')
|
|
53
75
|
) {
|
|
54
76
|
regionSettings = {
|
|
55
77
|
region: {
|
|
56
|
-
y:
|
|
57
|
-
x:
|
|
58
|
-
width:
|
|
59
|
-
height:
|
|
78
|
+
y: args.region.top,
|
|
79
|
+
x: args.region.left,
|
|
80
|
+
width: args.region.width,
|
|
81
|
+
height: args.region.height,
|
|
60
82
|
},
|
|
61
83
|
}
|
|
62
|
-
} else if (!
|
|
84
|
+
} else if (!args.hasOwnProperty('selector')) {
|
|
63
85
|
regionSettings = {
|
|
64
|
-
region:
|
|
86
|
+
region: args.region,
|
|
65
87
|
}
|
|
66
88
|
} else {
|
|
67
89
|
regionSettings = {
|
|
68
|
-
region:
|
|
90
|
+
region: args.selector,
|
|
69
91
|
}
|
|
70
92
|
}
|
|
71
93
|
} else {
|
|
72
|
-
const selectors =
|
|
94
|
+
const selectors = args.selector
|
|
73
95
|
for (let i = selectors.length - 1; i > -1; i--) {
|
|
74
96
|
if (i === selectors.length - 1) {
|
|
75
97
|
shadowDomSettings['shadow'] = selectors[i].selector
|
|
@@ -88,12 +110,12 @@ function eyesCheckMapValues({args, refer}) {
|
|
|
88
110
|
}
|
|
89
111
|
|
|
90
112
|
for (const val of mappedValues) {
|
|
91
|
-
if (
|
|
92
|
-
delete
|
|
113
|
+
if (args.hasOwnProperty(val)) {
|
|
114
|
+
delete args[val]
|
|
93
115
|
}
|
|
94
116
|
}
|
|
95
117
|
|
|
96
|
-
return Object.assign({}, checkSettings, regionSettings,
|
|
118
|
+
return Object.assign({}, checkSettings, regionSettings, args)
|
|
97
119
|
|
|
98
120
|
// #region helper functions
|
|
99
121
|
|
|
@@ -176,10 +198,12 @@ function eyesCheckMapValues({args, refer}) {
|
|
|
176
198
|
|
|
177
199
|
for (const region of floatingRegions) {
|
|
178
200
|
const floatingRegion = {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
201
|
+
offset: {
|
|
202
|
+
bottom: region.maxDownOffset || 0,
|
|
203
|
+
left: region.maxLeftOffset || 0,
|
|
204
|
+
top: region.maxUpOffset || 0,
|
|
205
|
+
right: region.maxRightOffset || 0,
|
|
206
|
+
},
|
|
183
207
|
}
|
|
184
208
|
if (region.hasOwnProperty('selector')) {
|
|
185
209
|
floatingRegion.region = region.selector
|
|
@@ -191,7 +215,7 @@ function eyesCheckMapValues({args, refer}) {
|
|
|
191
215
|
floating.push(Object.assign({}, region, floatingRegion, {region: element}))
|
|
192
216
|
}
|
|
193
217
|
} else if (region.hasOwnProperty('region')) {
|
|
194
|
-
floating.push(region)
|
|
218
|
+
floating.push({offset: floatingRegion.offset, ...region})
|
|
195
219
|
} else {
|
|
196
220
|
floatingRegion.region = {
|
|
197
221
|
y: region.top,
|
|
@@ -233,4 +257,18 @@ function isHTMLElement(element) {
|
|
|
233
257
|
return element.nodeType && element.nodeType === Node.ELEMENT_NODE
|
|
234
258
|
}
|
|
235
259
|
|
|
260
|
+
function fillDefaultBrowserName(browser) {
|
|
261
|
+
if (!browser.iosDeviceInfo && !browser.chromeEmulationInfo) {
|
|
262
|
+
if (!browser.name) {
|
|
263
|
+
browser.name = 'chrome'
|
|
264
|
+
}
|
|
265
|
+
if (browser.deviceName) {
|
|
266
|
+
browser = {chromeEmulationInfo: browser}
|
|
267
|
+
}
|
|
268
|
+
return browser
|
|
269
|
+
} else {
|
|
270
|
+
return browser
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
236
274
|
module.exports = {eyesCheckMapValues}
|
|
@@ -14,8 +14,6 @@ const batchPropertiesRetriever = (args, appliConfFile) => {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
function eyesOpenMapValues({args, appliConfFile, testName, shouldUseBrowserHooks}) {
|
|
17
|
-
let browsersInfo = args.browser || appliConfFile.browser
|
|
18
|
-
let accessibilitySettings = args.accessibilityValidation || appliConfFile.accessibilityValidation
|
|
19
17
|
const batchProperties = batchPropertiesRetriever(args, appliConfFile)
|
|
20
18
|
const batch = {
|
|
21
19
|
id: batchProperties('batchId', 'id'),
|
|
@@ -45,18 +43,7 @@ function eyesOpenMapValues({args, appliConfFile, testName, shouldUseBrowserHooks
|
|
|
45
43
|
'batchSequenceName',
|
|
46
44
|
]
|
|
47
45
|
|
|
48
|
-
if (browsersInfo) {
|
|
49
|
-
if (Array.isArray(browsersInfo)) {
|
|
50
|
-
for (const [index, value] of browsersInfo.entries()) {
|
|
51
|
-
browsersInfo[index] = fillDefaultBrowserName(value)
|
|
52
|
-
}
|
|
53
|
-
} else {
|
|
54
|
-
browsersInfo = [fillDefaultBrowserName(browsersInfo)]
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
46
|
const defaultMatchSettings = {
|
|
59
|
-
accessibilitySettings,
|
|
60
47
|
matchLevel: args.matchLevel || appliConfFile.matchLevel,
|
|
61
48
|
ignoreCaret: args.ignoreCaret || appliConfFile.ignoreCaret,
|
|
62
49
|
useDom: args.useDom || appliConfFile.useDom,
|
|
@@ -75,27 +62,34 @@ function eyesOpenMapValues({args, appliConfFile, testName, shouldUseBrowserHooks
|
|
|
75
62
|
}
|
|
76
63
|
|
|
77
64
|
const mappedArgs = {
|
|
65
|
+
...defaultMatchSettings,
|
|
78
66
|
...args,
|
|
79
|
-
browsersInfo,
|
|
80
|
-
defaultMatchSettings,
|
|
81
67
|
batch,
|
|
82
68
|
}
|
|
69
|
+
if (typeof args.viewportSize !== 'undefined' || typeof args.environment !== 'undefined') {
|
|
70
|
+
mappedArgs.environment = {viewportSize: args.viewportSize, ...args.environment}
|
|
71
|
+
}
|
|
83
72
|
|
|
84
|
-
return Object.assign({testName,
|
|
73
|
+
return Object.assign({testName, keepBatchOpen: !shouldUseBrowserHooks}, appliConfFileCopy, mappedArgs)
|
|
85
74
|
}
|
|
86
75
|
|
|
87
|
-
function
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
76
|
+
function eyesOpenToCheckMapValues(args) {
|
|
77
|
+
const {browser, waitBeforeCapture, layoutBreakpoints, accessibilityValidation} = args
|
|
78
|
+
|
|
79
|
+
const openToCheckSettingsArgs = {
|
|
80
|
+
browser,
|
|
81
|
+
waitBeforeCapture,
|
|
82
|
+
layoutBreakpoints,
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (accessibilityValidation) {
|
|
86
|
+
const {level, guidelinesVersion} = accessibilityValidation
|
|
87
|
+
openToCheckSettingsArgs.accessibilitySettings = {
|
|
88
|
+
level,
|
|
89
|
+
version: guidelinesVersion,
|
|
94
90
|
}
|
|
95
|
-
return browser
|
|
96
|
-
} else {
|
|
97
|
-
return browser
|
|
98
91
|
}
|
|
92
|
+
return openToCheckSettingsArgs
|
|
99
93
|
}
|
|
100
94
|
|
|
101
|
-
module.exports = {eyesOpenMapValues}
|
|
95
|
+
module.exports = {eyesOpenMapValues, eyesOpenToCheckMapValues}
|
package/src/expose.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
**/
|
|
9
9
|
/// <reference types="cypress" />
|
|
10
10
|
import type * as api from '@applitools/eyes-api'
|
|
11
|
+
import type * as core from '@applitools/core'
|
|
11
12
|
import {type EyesSelector, type TestResultsStatus} from '@applitools/eyes-api'
|
|
12
13
|
|
|
13
14
|
export type {EyesSelector, TestResultsStatus}
|
|
@@ -15,11 +16,12 @@ export type {EyesSelector, TestResultsStatus}
|
|
|
15
16
|
type MaybeArray<T> = T | T[]
|
|
16
17
|
|
|
17
18
|
type LegacyRegion = {left: number; top: number; width: number; height: number}
|
|
18
|
-
type Selector = {selector: string; type?: 'css' | 'xpath'; nodeType?: 'element' | 'shadow-root'} |
|
|
19
|
+
type Selector = {selector: string; type?: 'css' | 'xpath'; nodeType?: 'element' | 'shadow-root'} | string
|
|
19
20
|
type Element = HTMLElement | JQuery<HTMLElement>
|
|
20
21
|
type ElementWithOptions = {element: Element; regionId?: string; padding?: any}
|
|
22
|
+
type SpecType = core.SpecType<unknown, unknown, Element, Selector>
|
|
21
23
|
|
|
22
|
-
export type CypressCheckSettings = api.CheckSettingsAutomationPlain<
|
|
24
|
+
export type CypressCheckSettings = api.CheckSettingsAutomationPlain<SpecType> & {
|
|
23
25
|
tag?: CypressCheckSettings['name']
|
|
24
26
|
|
|
25
27
|
target?: 'window' | 'region'
|
|
@@ -47,7 +49,7 @@ export type CypressCheckSettings = api.CheckSettingsAutomationPlain<Element, Sel
|
|
|
47
49
|
ignoreCaret?: boolean
|
|
48
50
|
ignoreDisplacements?: boolean
|
|
49
51
|
}
|
|
50
|
-
export type CypressEyesConfig = api.ConfigurationPlain<
|
|
52
|
+
export type CypressEyesConfig = api.ConfigurationPlain<SpecType> & {
|
|
51
53
|
browser?: MaybeArray<
|
|
52
54
|
| NonNullable<CypressEyesConfig['browsersInfo']>[number]
|
|
53
55
|
| {deviceName: string; screenOrientation?: api.ScreenOrientationPlain; name?: string}
|
package/src/plugin/hooks.ts
CHANGED
|
@@ -35,7 +35,7 @@ export default function makeGlobalRunHooks({closeManager, closeBatches, closeUni
|
|
|
35
35
|
|
|
36
36
|
let testResults
|
|
37
37
|
for (const summary of summaries) {
|
|
38
|
-
testResults = summary.results.map(({
|
|
38
|
+
testResults = summary.results.map(({result}: any) => result)
|
|
39
39
|
}
|
|
40
40
|
if (!config.appliConfFile.dontCloseBatches) {
|
|
41
41
|
await closeBatches({
|
|
@@ -47,7 +47,7 @@ export default function makeGlobalRunHooks({closeManager, closeBatches, closeUni
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
if (config.appliConfFile.tapDirPath) {
|
|
50
|
-
|
|
50
|
+
handleTestResults.handleBatchResultsFile(testResults, {
|
|
51
51
|
tapDirPath: config.appliConfFile.tapDirPath,
|
|
52
52
|
tapFileName: config.appliConfFile.tapFileName,
|
|
53
53
|
})
|
|
@@ -55,7 +55,7 @@ export default function makePluginExport({startServer, eyesConfig}: any) {
|
|
|
55
55
|
return pluginInitArgs
|
|
56
56
|
}
|
|
57
57
|
return function getCloseServer() {
|
|
58
|
-
return eyesServer.close()
|
|
58
|
+
return new Promise<void>(res => eyesServer.close(() => res()))
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
async function setupNodeEvents(
|
package/src/plugin/server.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import connectSocket, {type SocketWithUniversal} from './webSocket'
|
|
2
|
-
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
import {makeServerProcess} from '@applitools/eyes-universal'
|
|
2
|
+
import {makeCoreServerProcess} from '@applitools/core'
|
|
5
3
|
import handleTestResults from './handleTestResults'
|
|
6
4
|
import path from 'path'
|
|
7
5
|
import fs from 'fs'
|
|
@@ -44,7 +42,7 @@ export default function makeStartServer({logger}: {logger: Logger}) {
|
|
|
44
42
|
forkOptions.execPath = await which('node')
|
|
45
43
|
}
|
|
46
44
|
|
|
47
|
-
const {port: universalPort, close: closeUniversalServer} = await
|
|
45
|
+
const {port: universalPort, close: closeUniversalServer} = await makeCoreServerProcess({
|
|
48
46
|
idleTimeout: 0,
|
|
49
47
|
shutdownMode: 'stdin',
|
|
50
48
|
forkOptions,
|
|
@@ -126,16 +124,13 @@ export default function makeStartServer({logger}: {logger: Logger}) {
|
|
|
126
124
|
function closeManager() {
|
|
127
125
|
return Promise.all(
|
|
128
126
|
managers.map(({manager, socketWithUniversal}) =>
|
|
129
|
-
socketWithUniversal.request('EyesManager.
|
|
130
|
-
manager,
|
|
131
|
-
throwErr: false,
|
|
132
|
-
}),
|
|
127
|
+
socketWithUniversal.request('EyesManager.getResults', {manager, settings: {throwErr: false}}),
|
|
133
128
|
),
|
|
134
129
|
)
|
|
135
130
|
}
|
|
136
131
|
function closeBatches(settings: any) {
|
|
137
132
|
if (socketWithUniversal)
|
|
138
|
-
return socketWithUniversal.request('Core.
|
|
133
|
+
return socketWithUniversal.request('Core.closeBatch', {settings}).catch((err: Error) => {
|
|
139
134
|
logger.log('@@@', err)
|
|
140
135
|
})
|
|
141
136
|
}
|
|
@@ -25,7 +25,7 @@ export default ${chalk.green.bold('eyesPlugin(')}definedConfig({
|
|
|
25
25
|
//...
|
|
26
26
|
})${chalk.green.bold(')')}
|
|
27
27
|
|
|
28
|
-
For more information, visit Eyes-Cypress documentation https://
|
|
28
|
+
For more information, visit Eyes-Cypress documentation https://applitools.com/docs/api-ref/sdk-api/cypress/typescript
|
|
29
29
|
`,
|
|
30
30
|
{padding: 1, borderColor: 'cyan'},
|
|
31
31
|
),
|
package/types/expose.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export type CypressCheckSettings = {
|
|
|
11
11
|
y: number;
|
|
12
12
|
width: number;
|
|
13
13
|
height: number;
|
|
14
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
14
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
|
|
15
15
|
matchLevel?: "None" | "Layout1" | "Layout" | "Layout2" | "Content" | "IgnoreColors" | "Strict" | "Exact";
|
|
16
16
|
useDom?: boolean;
|
|
17
17
|
sendDom?: boolean;
|
|
@@ -24,57 +24,57 @@ export type CypressCheckSettings = {
|
|
|
24
24
|
y: number;
|
|
25
25
|
width: number;
|
|
26
26
|
height: number;
|
|
27
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
27
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
28
28
|
x: number;
|
|
29
29
|
y: number;
|
|
30
30
|
width: number;
|
|
31
31
|
height: number;
|
|
32
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
32
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
|
|
33
33
|
layoutRegions?: Array<({
|
|
34
34
|
x: number;
|
|
35
35
|
y: number;
|
|
36
36
|
width: number;
|
|
37
37
|
height: number;
|
|
38
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
38
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
39
39
|
x: number;
|
|
40
40
|
y: number;
|
|
41
41
|
width: number;
|
|
42
42
|
height: number;
|
|
43
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
43
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
|
|
44
44
|
strictRegions?: Array<({
|
|
45
45
|
x: number;
|
|
46
46
|
y: number;
|
|
47
47
|
width: number;
|
|
48
48
|
height: number;
|
|
49
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
49
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
50
50
|
x: number;
|
|
51
51
|
y: number;
|
|
52
52
|
width: number;
|
|
53
53
|
height: number;
|
|
54
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
54
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
|
|
55
55
|
contentRegions?: Array<({
|
|
56
56
|
x: number;
|
|
57
57
|
y: number;
|
|
58
58
|
width: number;
|
|
59
59
|
height: number;
|
|
60
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
60
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
61
61
|
x: number;
|
|
62
62
|
y: number;
|
|
63
63
|
width: number;
|
|
64
64
|
height: number;
|
|
65
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
65
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
|
|
66
66
|
floatingRegions?: Array<({
|
|
67
67
|
x: number;
|
|
68
68
|
y: number;
|
|
69
69
|
width: number;
|
|
70
70
|
height: number;
|
|
71
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
71
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
|
|
72
72
|
region: {
|
|
73
73
|
x: number;
|
|
74
74
|
y: number;
|
|
75
75
|
width: number;
|
|
76
76
|
height: number;
|
|
77
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
77
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
|
|
78
78
|
padding?: number | { top: number; bottom: number; left: number; right: number; };
|
|
79
79
|
regionId?: string;
|
|
80
80
|
offset?: { top?: number; bottom?: number; left?: number; right?: number; };
|
|
@@ -84,7 +84,7 @@ export type CypressCheckSettings = {
|
|
|
84
84
|
y: number;
|
|
85
85
|
width: number;
|
|
86
86
|
height: number;
|
|
87
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
87
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
|
|
88
88
|
padding?: number | { top: number; bottom: number; left: number; right: number; };
|
|
89
89
|
regionId?: string;
|
|
90
90
|
maxUpOffset?: number;
|
|
@@ -97,22 +97,23 @@ export type CypressCheckSettings = {
|
|
|
97
97
|
y: number;
|
|
98
98
|
width: number;
|
|
99
99
|
height: number;
|
|
100
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
100
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
|
|
101
101
|
region: {
|
|
102
102
|
x: number;
|
|
103
103
|
y: number;
|
|
104
104
|
width: number;
|
|
105
105
|
height: number;
|
|
106
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
106
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
|
|
107
107
|
padding?: number | { top: number; bottom: number; left: number; right: number; };
|
|
108
108
|
regionId?: string;
|
|
109
109
|
type?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject";
|
|
110
110
|
}>;
|
|
111
111
|
pageId?: string;
|
|
112
112
|
variationGroupId?: string;
|
|
113
|
-
|
|
113
|
+
densityMetrics?: { scaleRatio?: number; xdpi?: number; ydpi?: number; };
|
|
114
|
+
frames?: Array<{ frame: number | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }); } | (number | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })))>;
|
|
114
115
|
webview?: string | boolean;
|
|
115
|
-
scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
116
|
+
scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; });
|
|
116
117
|
fully?: boolean;
|
|
117
118
|
disableBrowserFetching?: boolean;
|
|
118
119
|
layoutBreakpoints?: boolean | Array<number>;
|
|
@@ -125,104 +126,104 @@ export type CypressCheckSettings = {
|
|
|
125
126
|
lazyLoad?: boolean | { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; };
|
|
126
127
|
tag?: string;
|
|
127
128
|
target?: "window" | "region";
|
|
128
|
-
selector?:
|
|
129
|
+
selector?: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; };
|
|
129
130
|
element?: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; };
|
|
130
131
|
ignore?: { left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
|
|
131
132
|
x: number;
|
|
132
133
|
y: number;
|
|
133
134
|
width: number;
|
|
134
135
|
height: number;
|
|
135
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
136
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
136
137
|
x: number;
|
|
137
138
|
y: number;
|
|
138
139
|
width: number;
|
|
139
140
|
height: number;
|
|
140
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
141
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
|
|
141
142
|
x: number;
|
|
142
143
|
y: number;
|
|
143
144
|
width: number;
|
|
144
145
|
height: number;
|
|
145
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
146
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
146
147
|
x: number;
|
|
147
148
|
y: number;
|
|
148
149
|
width: number;
|
|
149
150
|
height: number;
|
|
150
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
151
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
|
|
151
152
|
layout?: { left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
|
|
152
153
|
x: number;
|
|
153
154
|
y: number;
|
|
154
155
|
width: number;
|
|
155
156
|
height: number;
|
|
156
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
157
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
157
158
|
x: number;
|
|
158
159
|
y: number;
|
|
159
160
|
width: number;
|
|
160
161
|
height: number;
|
|
161
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
162
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
|
|
162
163
|
x: number;
|
|
163
164
|
y: number;
|
|
164
165
|
width: number;
|
|
165
166
|
height: number;
|
|
166
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
167
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
167
168
|
x: number;
|
|
168
169
|
y: number;
|
|
169
170
|
width: number;
|
|
170
171
|
height: number;
|
|
171
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
172
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
|
|
172
173
|
content?: { left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
|
|
173
174
|
x: number;
|
|
174
175
|
y: number;
|
|
175
176
|
width: number;
|
|
176
177
|
height: number;
|
|
177
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
178
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
178
179
|
x: number;
|
|
179
180
|
y: number;
|
|
180
181
|
width: number;
|
|
181
182
|
height: number;
|
|
182
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
183
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
|
|
183
184
|
x: number;
|
|
184
185
|
y: number;
|
|
185
186
|
width: number;
|
|
186
187
|
height: number;
|
|
187
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
188
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
188
189
|
x: number;
|
|
189
190
|
y: number;
|
|
190
191
|
width: number;
|
|
191
192
|
height: number;
|
|
192
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
193
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
|
|
193
194
|
strict?: { left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
|
|
194
195
|
x: number;
|
|
195
196
|
y: number;
|
|
196
197
|
width: number;
|
|
197
198
|
height: number;
|
|
198
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
199
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
199
200
|
x: number;
|
|
200
201
|
y: number;
|
|
201
202
|
width: number;
|
|
202
203
|
height: number;
|
|
203
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
204
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
|
|
204
205
|
x: number;
|
|
205
206
|
y: number;
|
|
206
207
|
width: number;
|
|
207
208
|
height: number;
|
|
208
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
209
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
|
|
209
210
|
x: number;
|
|
210
211
|
y: number;
|
|
211
212
|
width: number;
|
|
212
213
|
height: number;
|
|
213
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
214
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
|
|
214
215
|
floating?: ({
|
|
215
216
|
x: number;
|
|
216
217
|
y: number;
|
|
217
218
|
width: number;
|
|
218
219
|
height: number;
|
|
219
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
220
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
|
|
220
221
|
region: {
|
|
221
222
|
x: number;
|
|
222
223
|
y: number;
|
|
223
224
|
width: number;
|
|
224
225
|
height: number;
|
|
225
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
226
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
|
|
226
227
|
padding?: number | { top: number; bottom: number; left: number; right: number; };
|
|
227
228
|
regionId?: string;
|
|
228
229
|
offset?: { top?: number; bottom?: number; left?: number; right?: number; };
|
|
@@ -232,25 +233,25 @@ export type CypressCheckSettings = {
|
|
|
232
233
|
y: number;
|
|
233
234
|
width: number;
|
|
234
235
|
height: number;
|
|
235
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
236
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
|
|
236
237
|
padding?: number | { top: number; bottom: number; left: number; right: number; };
|
|
237
238
|
regionId?: string;
|
|
238
239
|
maxUpOffset?: number;
|
|
239
240
|
maxDownOffset?: number;
|
|
240
241
|
maxLeftOffset?: number;
|
|
241
242
|
maxRightOffset?: number;
|
|
242
|
-
} | (({ left: number; top: number; width: number; height: number; } | (
|
|
243
|
+
} | (({ left: number; top: number; width: number; height: number; } | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { maxUpOffset?: number; maxDownOffset?: number; maxLeftOffset?: number; maxRightOffset?: number; }) | Array<({
|
|
243
244
|
x: number;
|
|
244
245
|
y: number;
|
|
245
246
|
width: number;
|
|
246
247
|
height: number;
|
|
247
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
248
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
|
|
248
249
|
region: {
|
|
249
250
|
x: number;
|
|
250
251
|
y: number;
|
|
251
252
|
width: number;
|
|
252
253
|
height: number;
|
|
253
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
254
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
|
|
254
255
|
padding?: number | { top: number; bottom: number; left: number; right: number; };
|
|
255
256
|
regionId?: string;
|
|
256
257
|
offset?: { top?: number; bottom?: number; left?: number; right?: number; };
|
|
@@ -260,57 +261,56 @@ export type CypressCheckSettings = {
|
|
|
260
261
|
y: number;
|
|
261
262
|
width: number;
|
|
262
263
|
height: number;
|
|
263
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
264
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
|
|
264
265
|
padding?: number | { top: number; bottom: number; left: number; right: number; };
|
|
265
266
|
regionId?: string;
|
|
266
267
|
maxUpOffset?: number;
|
|
267
268
|
maxDownOffset?: number;
|
|
268
269
|
maxLeftOffset?: number;
|
|
269
270
|
maxRightOffset?: number;
|
|
270
|
-
} | (({ left: number; top: number; width: number; height: number; } | (
|
|
271
|
+
} | (({ left: number; top: number; width: number; height: number; } | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { maxUpOffset?: number; maxDownOffset?: number; maxLeftOffset?: number; maxRightOffset?: number; })>;
|
|
271
272
|
accessibility?: ({
|
|
272
273
|
x: number;
|
|
273
274
|
y: number;
|
|
274
275
|
width: number;
|
|
275
276
|
height: number;
|
|
276
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
277
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
|
|
277
278
|
region: {
|
|
278
279
|
x: number;
|
|
279
280
|
y: number;
|
|
280
281
|
width: number;
|
|
281
282
|
height: number;
|
|
282
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
283
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
|
|
283
284
|
padding?: number | { top: number; bottom: number; left: number; right: number; };
|
|
284
285
|
regionId?: string;
|
|
285
286
|
type?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject";
|
|
286
|
-
} | (({ left: number; top: number; width: number; height: number; } | (
|
|
287
|
+
} | (({ left: number; top: number; width: number; height: number; } | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { accessibilityType?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; }) | Array<({
|
|
287
288
|
x: number;
|
|
288
289
|
y: number;
|
|
289
290
|
width: number;
|
|
290
291
|
height: number;
|
|
291
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
292
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
|
|
292
293
|
region: {
|
|
293
294
|
x: number;
|
|
294
295
|
y: number;
|
|
295
296
|
width: number;
|
|
296
297
|
height: number;
|
|
297
|
-
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<
|
|
298
|
+
} | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
|
|
298
299
|
padding?: number | { top: number; bottom: number; left: number; right: number; };
|
|
299
300
|
regionId?: string;
|
|
300
301
|
type?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject";
|
|
301
|
-
} | (({ left: number; top: number; width: number; height: number; } | (
|
|
302
|
+
} | (({ left: number; top: number; width: number; height: number; } | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { accessibilityType?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; })>;
|
|
302
303
|
scriptHooks?: { beforeCaptureScreenshot: string; };
|
|
303
304
|
};
|
|
304
305
|
export type CypressEyesConfig = {
|
|
305
306
|
agentId?: string;
|
|
306
307
|
apiKey?: string;
|
|
307
308
|
serverUrl?: string;
|
|
308
|
-
proxy?: { url: string; username?: string; password?: string;
|
|
309
|
+
proxy?: { url: string; username?: string; password?: string; };
|
|
309
310
|
autProxy?: {
|
|
310
311
|
url: string;
|
|
311
312
|
username?: string;
|
|
312
313
|
password?: string;
|
|
313
|
-
isHttpOnly?: boolean;
|
|
314
314
|
mode?: "Allow" | "Block";
|
|
315
315
|
domains?: Array<string>;
|
|
316
316
|
};
|
|
@@ -410,11 +410,11 @@ export type CypressEyesConfig = {
|
|
|
410
410
|
matchTimeout?: number;
|
|
411
411
|
forceFullPageScreenshot?: boolean;
|
|
412
412
|
waitBeforeScreenshots?: number;
|
|
413
|
-
stitchMode?: "Scroll" | "CSS";
|
|
413
|
+
stitchMode?: "Scroll" | "CSS" | "Resize";
|
|
414
414
|
hideScrollbars?: boolean;
|
|
415
415
|
hideCaret?: boolean;
|
|
416
416
|
stitchOverlap?: number;
|
|
417
|
-
scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | EyesSelector<
|
|
417
|
+
scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>;
|
|
418
418
|
cut?: { top: number; right: number; bottom: number; left: number; } | { x: number; y: number; width: number; height: number; };
|
|
419
419
|
rotation?: 0 | 270 | -270 | 180 | -180 | 90 | -90;
|
|
420
420
|
scaleRatio?: number;
|
|
@@ -538,5 +538,5 @@ export type EyesPluginConfig = {
|
|
|
538
538
|
eyesWaitBeforeCapture: number;
|
|
539
539
|
eyesPort?: number;
|
|
540
540
|
};
|
|
541
|
-
declare const _default: (pluginInitArgs: Cypress.ConfigOptions | NodeJS.Module) => Cypress.ConfigOptions | NodeJS.Module | (() =>
|
|
541
|
+
declare const _default: (pluginInitArgs: Cypress.ConfigOptions | NodeJS.Module) => Cypress.ConfigOptions | NodeJS.Module | (() => Promise<void>);
|
|
542
542
|
export default _default;
|