@applitools/eyes-cypress 3.36.2 → 3.38.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 +159 -0
- package/dist/browser/transformCypressConfig.js +1 -1
- package/dist/plugin/handleTestResults.js +1 -1
- package/dist/plugin/hooks.js +14 -6
- package/dist/plugin/pluginExport.js +2 -2
- package/dist/plugin/server.js +2 -2
- package/package.json +13 -11
- package/src/browser/commands.js +10 -5
- package/src/browser/transformCypressConfig.ts +3 -3
- package/src/expose.ts +9 -4
- package/src/plugin/handleTestResults.ts +1 -1
- package/src/plugin/hooks.ts +17 -16
- package/src/plugin/pluginExport.ts +2 -2
- package/src/plugin/server.ts +3 -3
- package/types/expose.d.ts +157 -11
- /package/test/{coverage → generic}/cypress/support/commands.js +0 -0
- /package/test/{coverage → generic}/cypress/support/index.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,164 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.38.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-cypress-v3.37.1...js/eyes-cypress@3.38.0) (2023-09-05)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add the option to fail on diffs after all spec files ([#1844](https://github.com/applitools/eyes.sdk.javascript1/issues/1844)) ([ca2510d](https://github.com/applitools/eyes.sdk.javascript1/commit/ca2510d094a921c9561b9b9e9094d763a6abce2f))
|
|
9
|
+
* rework log event on opent eyes ([#1842](https://github.com/applitools/eyes.sdk.javascript1/issues/1842)) ([532756b](https://github.com/applitools/eyes.sdk.javascript1/commit/532756b75c1023967c3781316148c890dbcfaac8))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* upgrade internal dependencies ([3fe2c47](https://github.com/applitools/eyes.sdk.javascript1/commit/3fe2c474258e686e73c352a094a6c2e8934a8567))
|
|
15
|
+
|
|
16
|
+
## [3.37.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-cypress@3.36.2...js/eyes-cypress@3.37.0) (2023-08-18)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
* add the option to fail on diffs after all spec files ([#1844](https://github.com/applitools/eyes.sdk.javascript1/issues/1844)) ([ca2510d](https://github.com/applitools/eyes.sdk.javascript1/commit/ca2510d094a921c9561b9b9e9094d763a6abce2f))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Dependencies
|
|
25
|
+
|
|
26
|
+
* @applitools/utils bumped to 1.5.1
|
|
27
|
+
#### Code Refactoring
|
|
28
|
+
|
|
29
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
30
|
+
* @applitools/logger bumped to 2.0.8
|
|
31
|
+
#### Code Refactoring
|
|
32
|
+
|
|
33
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
* @applitools/socket bumped to 1.1.8
|
|
38
|
+
#### Code Refactoring
|
|
39
|
+
|
|
40
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
* @applitools/req bumped to 1.5.3
|
|
45
|
+
#### Code Refactoring
|
|
46
|
+
|
|
47
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
* @applitools/image bumped to 1.1.3
|
|
52
|
+
#### Code Refactoring
|
|
53
|
+
|
|
54
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
* @applitools/snippets bumped to 2.4.23
|
|
59
|
+
#### Code Refactoring
|
|
60
|
+
|
|
61
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
62
|
+
* @applitools/spec-driver-webdriver bumped to 1.0.42
|
|
63
|
+
#### Code Refactoring
|
|
64
|
+
|
|
65
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
* @applitools/spec-driver-selenium bumped to 1.5.56
|
|
70
|
+
#### Code Refactoring
|
|
71
|
+
|
|
72
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
* @applitools/spec-driver-puppeteer bumped to 1.1.73
|
|
77
|
+
#### Code Refactoring
|
|
78
|
+
|
|
79
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
* @applitools/driver bumped to 1.13.5
|
|
84
|
+
#### Bug Fixes
|
|
85
|
+
|
|
86
|
+
* optimize driver usage in close ([#1867](https://github.com/applitools/eyes.sdk.javascript1/issues/1867)) ([60dff6b](https://github.com/applitools/eyes.sdk.javascript1/commit/60dff6b160e69d3893c91a1125d668fa18b43072))
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
#### Code Refactoring
|
|
90
|
+
|
|
91
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
* @applitools/screenshoter bumped to 3.8.8
|
|
96
|
+
#### Code Refactoring
|
|
97
|
+
|
|
98
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
* @applitools/nml-client bumped to 1.5.8
|
|
103
|
+
#### Code Refactoring
|
|
104
|
+
|
|
105
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
* @applitools/tunnel-client bumped to 1.2.0
|
|
110
|
+
#### Features
|
|
111
|
+
|
|
112
|
+
* replace and destroy tunnels by tunnel id ([#1878](https://github.com/applitools/eyes.sdk.javascript1/issues/1878)) ([22bcc15](https://github.com/applitools/eyes.sdk.javascript1/commit/22bcc15b31457e3da56cdb6f73bee3dcb7e051a1))
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
#### Code Refactoring
|
|
116
|
+
|
|
117
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
* @applitools/ufg-client bumped to 1.7.1
|
|
122
|
+
#### Code Refactoring
|
|
123
|
+
|
|
124
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
* @applitools/ec-client bumped to 1.7.5
|
|
129
|
+
#### Code Refactoring
|
|
130
|
+
|
|
131
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
* @applitools/core-base bumped to 1.5.1
|
|
136
|
+
#### Code Refactoring
|
|
137
|
+
|
|
138
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
* @applitools/core bumped to 3.9.1
|
|
143
|
+
#### Bug Fixes
|
|
144
|
+
|
|
145
|
+
* optimize driver usage in close ([#1867](https://github.com/applitools/eyes.sdk.javascript1/issues/1867)) ([60dff6b](https://github.com/applitools/eyes.sdk.javascript1/commit/60dff6b160e69d3893c91a1125d668fa18b43072))
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
#### Code Refactoring
|
|
149
|
+
|
|
150
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
* @applitools/eyes bumped to 1.7.3
|
|
155
|
+
#### Code Refactoring
|
|
156
|
+
|
|
157
|
+
* refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
3
162
|
## [3.36.2](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-cypress@3.36.1...js/eyes-cypress@3.36.2) (2023-08-10)
|
|
4
163
|
|
|
5
164
|
|
|
@@ -43,7 +43,7 @@ function transformCypressConfig(config) {
|
|
|
43
43
|
sequenceName: (_e = config.batchSequenceName) !== null && _e !== void 0 ? _e : (_f = config.batch) === null || _f === void 0 ? void 0 : _f.sequenceName,
|
|
44
44
|
notifyOnCompletion: (_g = config.notifyOnCompletion) !== null && _g !== void 0 ? _g : (_h = config.batch) === null || _h === void 0 ? void 0 : _h.notifyOnCompletion,
|
|
45
45
|
},
|
|
46
|
-
keepBatchOpen: !config.
|
|
46
|
+
keepBatchOpen: !config.shouldDoPostSpecTasks,
|
|
47
47
|
environmentName: config.envName,
|
|
48
48
|
baselineBranchName: config.baselineBranchName,
|
|
49
49
|
branchName: config.branchName,
|
|
@@ -16,7 +16,7 @@ function printTestResults(testResultsArr) {
|
|
|
16
16
|
if (!testResultsArr.testResults)
|
|
17
17
|
return;
|
|
18
18
|
const { passed, failed, diffs } = (0, getErrorsAndDiffs_1.default)(testResultsArr.testResults);
|
|
19
|
-
if ((failed.length || diffs.length) && !!testResultsArr.resultConfig.
|
|
19
|
+
if ((failed.length || diffs.length) && !!testResultsArr.resultConfig.shouldThrowError) {
|
|
20
20
|
throw new Error((0, errorDigest_1.default)({
|
|
21
21
|
passed,
|
|
22
22
|
failed,
|
package/dist/plugin/hooks.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 handleTestResults_1 = __importDefault(require("./handleTestResults"));
|
|
7
|
-
function makeGlobalRunHooks({
|
|
7
|
+
function makeGlobalRunHooks({ closeManagers, closeBatches, closeUniversalServer, }) {
|
|
8
8
|
return {
|
|
9
9
|
'before:run': ({ config }) => {
|
|
10
10
|
if (!config.isTextTerminal)
|
|
@@ -14,11 +14,8 @@ function makeGlobalRunHooks({ closeManager, closeBatches, closeUniversalServer,
|
|
|
14
14
|
try {
|
|
15
15
|
if (!config.isTextTerminal)
|
|
16
16
|
return;
|
|
17
|
-
const summaries = await
|
|
18
|
-
|
|
19
|
-
for (const summary of summaries) {
|
|
20
|
-
testResults = summary.results.map(({ result }) => result);
|
|
21
|
-
}
|
|
17
|
+
const summaries = await closeManagers();
|
|
18
|
+
const testResults = summaries.map(({ results }) => results.map(({ result }) => result)).flat();
|
|
22
19
|
if (!config.appliConfFile.dontCloseBatches) {
|
|
23
20
|
await closeBatches({
|
|
24
21
|
batchId: config.appliConfFile.batchId || config.appliConfFile.batch.id,
|
|
@@ -33,6 +30,17 @@ function makeGlobalRunHooks({ closeManager, closeBatches, closeUniversalServer,
|
|
|
33
30
|
tapFileName: config.appliConfFile.tapFileName,
|
|
34
31
|
});
|
|
35
32
|
}
|
|
33
|
+
const resultConfig = {
|
|
34
|
+
showLogs: config.appliConfFile.showLogs,
|
|
35
|
+
shouldThrowError: config.appliConfFile.failCypressAfterAllSpecs,
|
|
36
|
+
};
|
|
37
|
+
if (config.appliConfFile.failCypressAfterAllSpecs) {
|
|
38
|
+
// we want to throw an exception in case we have a least one test with diffs
|
|
39
|
+
// we create a runner per spec file, therefore we could have multiple summeries
|
|
40
|
+
for (const summary of summaries) {
|
|
41
|
+
handleTestResults_1.default.printTestResults({ testResults: summary.results.map(({ result }) => result), resultConfig });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
36
44
|
}
|
|
37
45
|
finally {
|
|
38
46
|
await closeUniversalServer();
|
|
@@ -61,10 +61,10 @@ function makePluginExport({ startServer, eyesConfig, }) {
|
|
|
61
61
|
return new Promise(res => eyesServer.close(() => res()));
|
|
62
62
|
};
|
|
63
63
|
async function setupNodeEvents(origOn, cypressConfig) {
|
|
64
|
-
const { server, port,
|
|
64
|
+
const { server, port, closeManagers, closeBatches, closeUniversalServer } = await startServer(cypressConfig);
|
|
65
65
|
eyesServer = server;
|
|
66
66
|
const globalHooks = (0, hooks_1.default)({
|
|
67
|
-
|
|
67
|
+
closeManagers,
|
|
68
68
|
closeBatches,
|
|
69
69
|
closeUniversalServer,
|
|
70
70
|
});
|
package/dist/plugin/server.js
CHANGED
|
@@ -85,11 +85,11 @@ function makeStartServer({ logger, eyesConfig }) {
|
|
|
85
85
|
return {
|
|
86
86
|
server: wss,
|
|
87
87
|
port,
|
|
88
|
-
|
|
88
|
+
closeManagers,
|
|
89
89
|
closeBatches,
|
|
90
90
|
closeUniversalServer,
|
|
91
91
|
};
|
|
92
|
-
function
|
|
92
|
+
function closeManagers() {
|
|
93
93
|
return Promise.all(managers.map(({ manager, socketWithUniversal }) => socketWithUniversal.request('EyesManager.getResults', {
|
|
94
94
|
manager,
|
|
95
95
|
settings: { throwErr: false, removeDuplicateTests: eyesConfig.eyesRemoveDuplicateTests },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/eyes-cypress",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.38.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git://github.com/applitools/eyes.sdk.javascript1.git",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"cypress12": "../../node_modules/cypress12/bin/cypress",
|
|
43
43
|
"test:ts:run:12": "yarn cypress12 run --project ./test/e2e/ts --config-file ./cypress-12.config.ts",
|
|
44
44
|
"test:ts:run": "yarn cypress$APPLITOOLS_FRAMEWORK_VERSION run --project ./test/e2e/ts --config-file ./cypress-$APPLITOOLS_FRAMEWORK_VERSION.config.ts",
|
|
45
|
-
"test:coverage": "cd test/
|
|
45
|
+
"test:coverage": "cd test/generic && yarn && APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-cypress' APPLITOOLS_BATCH_ID=$(uuidgen) npx cypress run",
|
|
46
46
|
"test:e2e": "mkdir -p test/fixtures/testAppCopies && run --top-level mocha --no-timeouts 'test/e2e/**/*.test.js'",
|
|
47
47
|
"test:components": "cd test/components && yarn && npx cypress run --component",
|
|
48
48
|
"cypress": "cypress open --config-file test/fixtures/cypress-play.json",
|
|
@@ -54,21 +54,21 @@
|
|
|
54
54
|
"setup": "run --top-level xvfb:setup"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@applitools/core": "3.
|
|
58
|
-
"@applitools/eyes": "1.
|
|
57
|
+
"@applitools/core": "3.10.2",
|
|
58
|
+
"@applitools/eyes": "1.8.2",
|
|
59
59
|
"@applitools/functional-commons": "1.6.0",
|
|
60
|
-
"@applitools/logger": "2.0.
|
|
61
|
-
"@applitools/utils": "1.
|
|
60
|
+
"@applitools/logger": "2.0.10",
|
|
61
|
+
"@applitools/utils": "1.6.0",
|
|
62
62
|
"boxen": "5.1.2",
|
|
63
63
|
"chalk": "3.0.0",
|
|
64
|
-
"semver": "7.
|
|
64
|
+
"semver": "7.5.4",
|
|
65
65
|
"uuid": "8.3.2",
|
|
66
66
|
"ws": "8.5.0"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@applitools/api-extractor": "^1.2.
|
|
70
|
-
"@applitools/bongo": "^5.
|
|
71
|
-
"@applitools/generic": "^3.3.
|
|
69
|
+
"@applitools/api-extractor": "^1.2.22",
|
|
70
|
+
"@applitools/bongo": "^5.6.1",
|
|
71
|
+
"@applitools/generic": "^3.3.10",
|
|
72
72
|
"@applitools/snaptdout": "1.0.1",
|
|
73
73
|
"@applitools/test-server": "^1.2.2",
|
|
74
74
|
"@applitools/test-utils": "^1.5.17",
|
|
@@ -89,7 +89,9 @@
|
|
|
89
89
|
"mocha": "^10.2.0",
|
|
90
90
|
"morgan": "1.9.1",
|
|
91
91
|
"ncp": "2.0.0",
|
|
92
|
-
"node-fetch": "2.6.0"
|
|
92
|
+
"node-fetch": "2.6.0",
|
|
93
|
+
"strip-ansi": "^6.0.1",
|
|
94
|
+
"typescript": "^5.1.6"
|
|
93
95
|
},
|
|
94
96
|
"engines": {
|
|
95
97
|
"node": ">=12.13.0"
|
package/src/browser/commands.js
CHANGED
|
@@ -41,10 +41,15 @@ function getGlobalConfigProperty(prop) {
|
|
|
41
41
|
return property ? (shouldParse.includes(prop) ? JSON.parse(property) : property) : undefined
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
// tasks = tapFile and closeBatch
|
|
45
|
+
const shouldDoPostSpecTasks =
|
|
45
46
|
!getGlobalConfigProperty('eyesIsDisabled') &&
|
|
46
47
|
(getGlobalConfigProperty('isInteractive') || !getGlobalConfigProperty('eyesIsGlobalHooksSupported'))
|
|
47
48
|
|
|
49
|
+
const shouldCallAfterHook =
|
|
50
|
+
(shouldDoPostSpecTasks || Cypress.config('eyesFailCypressOnDiff')) &&
|
|
51
|
+
!Cypress.config('appliConfFile').failCypressAfterAllSpecs
|
|
52
|
+
|
|
48
53
|
Cypress.Commands.add('eyesGetAllTestResults', () => {
|
|
49
54
|
Cypress.log({name: 'Eyes: getAllTestResults'})
|
|
50
55
|
return cy.then({timeout: 86400000}, async () => {
|
|
@@ -66,7 +71,7 @@ Cypress.Commands.add('eyesGetResults', (args = {}) => {
|
|
|
66
71
|
})
|
|
67
72
|
})
|
|
68
73
|
|
|
69
|
-
if (
|
|
74
|
+
if (shouldCallAfterHook) {
|
|
70
75
|
after(() => {
|
|
71
76
|
if (!manager) return
|
|
72
77
|
return cy.then({timeout: 86400000}, async () => {
|
|
@@ -76,11 +81,11 @@ if (shouldUseBrowserHooks || Cypress.config('eyesFailCypressOnDiff')) {
|
|
|
76
81
|
}
|
|
77
82
|
const resultConfig = {
|
|
78
83
|
showLogs: Cypress.config('appliConfFile').showLogs,
|
|
79
|
-
|
|
84
|
+
shouldThrowError: Cypress.config('eyesFailCypressOnDiff'),
|
|
80
85
|
isTextTerminal: Cypress.config('isTextTerminal'),
|
|
81
86
|
tapDirPath: Cypress.config('appliConfFile').tapDirPath,
|
|
82
87
|
tapFileName: Cypress.config('appliConfFile').tapFileName,
|
|
83
|
-
shouldCreateTapFile:
|
|
88
|
+
shouldCreateTapFile: shouldDoPostSpecTasks,
|
|
84
89
|
}
|
|
85
90
|
|
|
86
91
|
const summary = await getSummary()
|
|
@@ -140,7 +145,7 @@ Cypress.Commands.add('eyesOpen', function (args = {}) {
|
|
|
140
145
|
const mergedConfig = mergeCypressConfigs({globalConfig: appliConfFile, openConfig: {testName, ...args}})
|
|
141
146
|
openAndGlobalConfig = transformCypressConfig({
|
|
142
147
|
...mergedConfig,
|
|
143
|
-
|
|
148
|
+
shouldDoPostSpecTasks,
|
|
144
149
|
isComponentTest: Cypress.config('isComponent'),
|
|
145
150
|
})
|
|
146
151
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {appliConfFile} from '../expose'
|
|
2
2
|
import type {SpecType, Config} from '@applitools/core'
|
|
3
3
|
import {transformBrowsers, transformAccessibilityValidation} from './utils'
|
|
4
4
|
import * as utils from '@applitools/utils'
|
|
5
5
|
|
|
6
|
-
export function transformCypressConfig(config:
|
|
6
|
+
export function transformCypressConfig(config: appliConfFile): Config<SpecType, 'ufg'> {
|
|
7
7
|
return {
|
|
8
8
|
open: {
|
|
9
9
|
apiKey: config.apiKey,
|
|
@@ -19,7 +19,7 @@ export function transformCypressConfig(config: CypressEyesConfig): Config<SpecTy
|
|
|
19
19
|
sequenceName: config.batchSequenceName ?? config.batch?.sequenceName,
|
|
20
20
|
notifyOnCompletion: config.notifyOnCompletion ?? config.batch?.notifyOnCompletion,
|
|
21
21
|
},
|
|
22
|
-
keepBatchOpen: !config.
|
|
22
|
+
keepBatchOpen: !config.shouldDoPostSpecTasks,
|
|
23
23
|
environmentName: config.envName,
|
|
24
24
|
baselineBranchName: config.baselineBranchName,
|
|
25
25
|
branchName: config.branchName,
|
package/src/expose.ts
CHANGED
|
@@ -89,11 +89,16 @@ export type CypressEyesConfig = api.ConfigurationPlain<SpecType> & {
|
|
|
89
89
|
scriptHooks?: {
|
|
90
90
|
beforeCaptureScreenshot: string
|
|
91
91
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export type appliConfFile = CypressEyesConfig & {
|
|
95
|
+
failCypressAfterAllSpecs?: boolean
|
|
96
|
+
tapDirPath?: string
|
|
97
|
+
tapFileName?: string
|
|
98
|
+
showLogs?: boolean
|
|
99
|
+
shouldDoPostSpecTasks?: boolean
|
|
96
100
|
isComponentTest?: boolean
|
|
101
|
+
saveNewTests?: boolean
|
|
97
102
|
}
|
|
98
103
|
|
|
99
104
|
export type CypressTestResultsSummary = api.TestResultsSummary
|
|
@@ -11,7 +11,7 @@ function printTestResults(testResultsArr: any) {
|
|
|
11
11
|
})
|
|
12
12
|
if (!testResultsArr.testResults) return
|
|
13
13
|
const {passed, failed, diffs} = getErrorsAndDiffs(testResultsArr.testResults)
|
|
14
|
-
if ((failed.length || diffs.length) && !!testResultsArr.resultConfig.
|
|
14
|
+
if ((failed.length || diffs.length) && !!testResultsArr.resultConfig.shouldThrowError) {
|
|
15
15
|
throw new Error(
|
|
16
16
|
errorDigest({
|
|
17
17
|
passed,
|
package/src/plugin/hooks.ts
CHANGED
|
@@ -1,27 +1,19 @@
|
|
|
1
1
|
import handleTestResults from './handleTestResults'
|
|
2
2
|
import {type StartServerReturn} from './server'
|
|
3
3
|
export type EyesCypressAction = 'before:run' | 'after:run'
|
|
4
|
+
import type {appliConfFile} from '../expose'
|
|
4
5
|
|
|
5
6
|
declare global {
|
|
6
7
|
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
7
8
|
namespace Cypress {
|
|
8
9
|
interface ResolvedConfigOptions {
|
|
9
|
-
appliConfFile:
|
|
10
|
-
dontCloseBatches: boolean
|
|
11
|
-
batch: any
|
|
12
|
-
serverUrl: string
|
|
13
|
-
proxy: any // TODO: add proxy type
|
|
14
|
-
apiKey: string
|
|
15
|
-
batchId: string
|
|
16
|
-
tapDirPath: string
|
|
17
|
-
tapFileName: string
|
|
18
|
-
}
|
|
10
|
+
appliConfFile: appliConfFile
|
|
19
11
|
}
|
|
20
12
|
}
|
|
21
13
|
}
|
|
22
14
|
|
|
23
15
|
export default function makeGlobalRunHooks({
|
|
24
|
-
|
|
16
|
+
closeManagers,
|
|
25
17
|
closeBatches,
|
|
26
18
|
closeUniversalServer,
|
|
27
19
|
}: Omit<StartServerReturn, 'server' | 'port'>): {
|
|
@@ -36,12 +28,10 @@ export default function makeGlobalRunHooks({
|
|
|
36
28
|
'after:run': async ({config}: CypressCommandLine.CypressRunResult) => {
|
|
37
29
|
try {
|
|
38
30
|
if (!(config as Cypress.Config).isTextTerminal) return
|
|
39
|
-
const summaries = await
|
|
31
|
+
const summaries = await closeManagers()
|
|
32
|
+
|
|
33
|
+
const testResults = summaries.map(({results}) => results.map(({result}) => result)).flat()
|
|
40
34
|
|
|
41
|
-
let testResults
|
|
42
|
-
for (const summary of summaries) {
|
|
43
|
-
testResults = summary.results.map(({result}: any) => result)
|
|
44
|
-
}
|
|
45
35
|
if (!config.appliConfFile.dontCloseBatches) {
|
|
46
36
|
await closeBatches({
|
|
47
37
|
batchId: config.appliConfFile.batchId || config.appliConfFile.batch.id,
|
|
@@ -57,6 +47,17 @@ export default function makeGlobalRunHooks({
|
|
|
57
47
|
tapFileName: config.appliConfFile.tapFileName,
|
|
58
48
|
})
|
|
59
49
|
}
|
|
50
|
+
const resultConfig = {
|
|
51
|
+
showLogs: config.appliConfFile.showLogs,
|
|
52
|
+
shouldThrowError: config.appliConfFile.failCypressAfterAllSpecs,
|
|
53
|
+
}
|
|
54
|
+
if (config.appliConfFile.failCypressAfterAllSpecs) {
|
|
55
|
+
// we want to throw an exception in case we have a least one test with diffs
|
|
56
|
+
// we create a runner per spec file, therefore we could have multiple summeries
|
|
57
|
+
for (const summary of summaries) {
|
|
58
|
+
handleTestResults.printTestResults({testResults: summary.results.map(({result}) => result), resultConfig})
|
|
59
|
+
}
|
|
60
|
+
}
|
|
60
61
|
} finally {
|
|
61
62
|
await closeUniversalServer()
|
|
62
63
|
}
|
|
@@ -72,11 +72,11 @@ export default function makePluginExport({
|
|
|
72
72
|
origOn: Cypress.PluginEvents,
|
|
73
73
|
cypressConfig: Cypress.PluginConfigOptions,
|
|
74
74
|
): Promise<EyesPluginConfig> {
|
|
75
|
-
const {server, port,
|
|
75
|
+
const {server, port, closeManagers, closeBatches, closeUniversalServer} = await startServer(cypressConfig)
|
|
76
76
|
eyesServer = server
|
|
77
77
|
|
|
78
78
|
const globalHooks: any = makeGlobalRunHooks({
|
|
79
|
-
|
|
79
|
+
closeManagers,
|
|
80
80
|
closeBatches,
|
|
81
81
|
closeUniversalServer,
|
|
82
82
|
})
|
package/src/plugin/server.ts
CHANGED
|
@@ -14,7 +14,7 @@ import {extractEnvironment} from '../plugin/extractEnvironment'
|
|
|
14
14
|
export type StartServerReturn = {
|
|
15
15
|
server: Omit<SocketWithUniversal, 'disconnect' | 'ref' | 'unref' | 'send' | 'request' | 'setPassthroughListener'>
|
|
16
16
|
port: number
|
|
17
|
-
|
|
17
|
+
closeManagers: () => Promise<any[]>
|
|
18
18
|
closeBatches: (settings: CloseBatchSettings | CloseBatchSettings[]) => Promise<void>
|
|
19
19
|
closeUniversalServer: () => void
|
|
20
20
|
}
|
|
@@ -103,12 +103,12 @@ export default function makeStartServer({logger, eyesConfig}: {logger: Logger; e
|
|
|
103
103
|
return {
|
|
104
104
|
server: wss,
|
|
105
105
|
port,
|
|
106
|
-
|
|
106
|
+
closeManagers,
|
|
107
107
|
closeBatches,
|
|
108
108
|
closeUniversalServer,
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
function
|
|
111
|
+
function closeManagers() {
|
|
112
112
|
return Promise.all(
|
|
113
113
|
managers.map(({manager, socketWithUniversal}) =>
|
|
114
114
|
socketWithUniversal.request('EyesManager.getResults', {
|
package/types/expose.d.ts
CHANGED
|
@@ -84,8 +84,8 @@ export type Element = HTMLElement | JQuery;
|
|
|
84
84
|
export type ElementWithOptions = { element: Element; regionId?: string; padding?: any; };
|
|
85
85
|
export type SelectorWithOptions = { region: Selector; regionId?: string; padding?: number | LegacyRegion; };
|
|
86
86
|
export type AccessibilityValidation = { level?: "AA" | "AAA"; guidelinesVersion?: "WCAG_2_0" | "WCAG_2_1"; };
|
|
87
|
-
export type FloatingRegion = ((
|
|
88
|
-
export type accessibilityRegion = ((
|
|
87
|
+
export type FloatingRegion = ((Selector | LegacyRegion | ElementWithOptions | SelectorWithOptions) & { maxUpOffset?: number; maxDownOffset?: number; maxLeftOffset?: number; maxRightOffset?: number; }) | Array<(Selector | LegacyRegion | ElementWithOptions | SelectorWithOptions) & { maxUpOffset?: number; maxDownOffset?: number; maxLeftOffset?: number; maxRightOffset?: number; }>;
|
|
88
|
+
export type accessibilityRegion = ((Selector | LegacyRegion | ElementWithOptions) & { accessibilityType?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; }) | { region: { selector: Selector; accessibilityType: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; }; regionId?: string; padding?: number | LegacyRegion; } | Array<((Selector | LegacyRegion | ElementWithOptions) & { accessibilityType?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; }) | { region: { selector: Selector; accessibilityType: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; }; regionId?: string; padding?: number | LegacyRegion; }>;
|
|
89
89
|
export type CypressCheckSettings = {
|
|
90
90
|
name?: string;
|
|
91
91
|
region?: LegacyRegion;
|
|
@@ -205,14 +205,14 @@ export type CypressCheckSettings = {
|
|
|
205
205
|
target?: "window" | "region";
|
|
206
206
|
selector?: Selector;
|
|
207
207
|
element?: Element;
|
|
208
|
-
ignore?: MaybeArray<string |
|
|
209
|
-
layout?: MaybeArray<string |
|
|
210
|
-
content?: MaybeArray<string |
|
|
211
|
-
strict?: MaybeArray<string |
|
|
208
|
+
ignore?: MaybeArray<string | Element | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | LegacyRegion | ElementWithOptions | SelectorWithOptions>;
|
|
209
|
+
layout?: MaybeArray<string | Element | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | LegacyRegion | ElementWithOptions | SelectorWithOptions>;
|
|
210
|
+
content?: MaybeArray<string | Element | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | LegacyRegion | ElementWithOptions | SelectorWithOptions>;
|
|
211
|
+
strict?: MaybeArray<string | Element | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | LegacyRegion | ElementWithOptions | SelectorWithOptions>;
|
|
212
212
|
floating?: FloatingRegion;
|
|
213
213
|
accessibility?: accessibilityRegion;
|
|
214
214
|
scriptHooks?: { beforeCaptureScreenshot: string; };
|
|
215
|
-
browser?: MaybeArray<{ name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "
|
|
215
|
+
browser?: MaybeArray<{ name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "safari" | "safari-earlyaccess" | "safari-one-version-back" | "safari-two-versions-back" | "edgechromium" | "edgechromium-one-version-back" | "edgechromium-two-versions-back" | "edge" | "edgelegacy" | "ie" | "ie10"; width: number; height: number; } | { chromeEmulationInfo: { deviceName: "Kindle Fire HDX" | "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy Note 2" | "Galaxy S3" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy A5" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy Note 8" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy Note 9" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy S22 Ultra" | "Galaxy Tab S7" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "LG G6" | "LG Optimus L70" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Huawei Mate 50 Pro" | "Huawei Matepad 11" | "OnePlus 7T" | "OnePlus 7T Pro" | "Nokia N9" | "Nokia Lumia 520" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch"; screenOrientation?: ScreenOrientationPlain; }; } | { iosDeviceInfo: { deviceName: "iPhone X" | "iPhone XR" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad Air 2" | "iPhone 6s" | "iPhone 6s Plus" | "iPhone 7" | "iPhone 7 Plus" | "iPhone 8" | "iPhone 8 Plus" | "iPhone Xs" | "iPhone Xs Max" | "iPhone 12" | "iPhone 12 mini" | "iPhone 12 Pro" | "iPhone 12 Pro Max" | "iPhone 13" | "iPhone 13 mini" | "iPhone 13 Pro" | "iPhone 13 Pro Max" | "iPhone 14" | "iPhone 14 Plus" | "iPhone 14 Pro" | "iPhone 14 Pro Max" | "iPhone SE (1st generation)" | "iPhone SE (2nd generation)" | "iPhone SE (3rd generation)" | "iPad (5th generation)" | "iPad (6th generation)" | "iPad (7th generation)" | "iPad (8th generation)" | "iPad (9th generation)" | "iPad (10th generation)" | "iPad Air (3rd generation)" | "iPad Air (4th generation)" | "iPad Air (5th generation)" | "iPad mini 4" | "iPad mini (5th generation)" | "iPad mini (6th generation)" | "iPad Pro (9.7-inch)" | "iPad Pro (10.5-inch)" | "iPad Pro (11-inch) (1st generation)" | "iPad Pro (12.9-inch) (1st generation)" | "iPad Pro (11-inch) (2nd generation)" | "iPad Pro (12.9-inch) (2nd generation)" | "iPad Pro (11-inch) (3rd generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad Pro (11-inch) (4th generation)" | "iPad Pro (12.9-inch) (4th generation)" | "iPad Pro (12.9-inch) (5th generation)" | "iPad Pro (12.9-inch) (6th generation)" | "iPod touch (7th generation)"; iosVersion?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { androidDeviceInfo: { deviceName: "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy Tab S7" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Pixel 6" | "Galaxy S20 Plus" | "Galaxy S21 Plus" | "Galaxy S22 Plus" | "Galaxy Tab S8" | "Xiaomi Redmi Note 10 JE" | "Xiaomi Redmi Note 11" | "Xiaomi Redmi Note 11 Pro" | "Sony Xperia 1 II" | "Sony Xperia Ace II" | "Huawei P30 Lite"; version?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { deviceName: DeviceName; screenOrientation?: ScreenOrientationPlain; name?: string; }>;
|
|
216
216
|
};
|
|
217
217
|
export type CypressEyesConfig = {
|
|
218
218
|
debugScreenshots?: { save: boolean; path?: string; prefix?: string; };
|
|
@@ -335,12 +335,12 @@ export type CypressEyesConfig = {
|
|
|
335
335
|
rotation?: 0 | 270 | -270 | 180 | -180 | 90 | -90;
|
|
336
336
|
scaleRatio?: number;
|
|
337
337
|
concurrentSessions?: number;
|
|
338
|
-
browsersInfo?: Array<{ name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "
|
|
338
|
+
browsersInfo?: Array<{ name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "safari" | "safari-earlyaccess" | "safari-one-version-back" | "safari-two-versions-back" | "edgechromium" | "edgechromium-one-version-back" | "edgechromium-two-versions-back" | "edge" | "edgelegacy" | "ie" | "ie10"; width: number; height: number; } | { chromeEmulationInfo: { deviceName: "Kindle Fire HDX" | "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy Note 2" | "Galaxy S3" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy A5" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy Note 8" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy Note 9" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy S22 Ultra" | "Galaxy Tab S7" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "LG G6" | "LG Optimus L70" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Huawei Mate 50 Pro" | "Huawei Matepad 11" | "OnePlus 7T" | "OnePlus 7T Pro" | "Nokia N9" | "Nokia Lumia 520" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch"; screenOrientation?: ScreenOrientationPlain; }; } | { iosDeviceInfo: { deviceName: "iPhone X" | "iPhone XR" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad Air 2" | "iPhone 6s" | "iPhone 6s Plus" | "iPhone 7" | "iPhone 7 Plus" | "iPhone 8" | "iPhone 8 Plus" | "iPhone Xs" | "iPhone Xs Max" | "iPhone 12" | "iPhone 12 mini" | "iPhone 12 Pro" | "iPhone 12 Pro Max" | "iPhone 13" | "iPhone 13 mini" | "iPhone 13 Pro" | "iPhone 13 Pro Max" | "iPhone 14" | "iPhone 14 Plus" | "iPhone 14 Pro" | "iPhone 14 Pro Max" | "iPhone SE (1st generation)" | "iPhone SE (2nd generation)" | "iPhone SE (3rd generation)" | "iPad (5th generation)" | "iPad (6th generation)" | "iPad (7th generation)" | "iPad (8th generation)" | "iPad (9th generation)" | "iPad (10th generation)" | "iPad Air (3rd generation)" | "iPad Air (4th generation)" | "iPad Air (5th generation)" | "iPad mini 4" | "iPad mini (5th generation)" | "iPad mini (6th generation)" | "iPad Pro (9.7-inch)" | "iPad Pro (10.5-inch)" | "iPad Pro (11-inch) (1st generation)" | "iPad Pro (12.9-inch) (1st generation)" | "iPad Pro (11-inch) (2nd generation)" | "iPad Pro (12.9-inch) (2nd generation)" | "iPad Pro (11-inch) (3rd generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad Pro (11-inch) (4th generation)" | "iPad Pro (12.9-inch) (4th generation)" | "iPad Pro (12.9-inch) (5th generation)" | "iPad Pro (12.9-inch) (6th generation)" | "iPod touch (7th generation)"; iosVersion?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { androidDeviceInfo: { deviceName: "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy Tab S7" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Pixel 6" | "Galaxy S20 Plus" | "Galaxy S21 Plus" | "Galaxy S22 Plus" | "Galaxy Tab S8" | "Xiaomi Redmi Note 10 JE" | "Xiaomi Redmi Note 11" | "Xiaomi Redmi Note 11 Pro" | "Sony Xperia 1 II" | "Sony Xperia Ace II" | "Huawei P30 Lite"; version?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; }>;
|
|
339
339
|
visualGridOptions?: Record<string, any>;
|
|
340
340
|
layoutBreakpoints?: boolean | Array<number> | { breakpoints: boolean | Array<number>; reload?: boolean; };
|
|
341
341
|
disableBrowserFetching?: boolean;
|
|
342
342
|
waitBeforeCapture?: number;
|
|
343
|
-
browser?: MaybeArray<{ name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "
|
|
343
|
+
browser?: MaybeArray<{ name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "safari" | "safari-earlyaccess" | "safari-one-version-back" | "safari-two-versions-back" | "edgechromium" | "edgechromium-one-version-back" | "edgechromium-two-versions-back" | "edge" | "edgelegacy" | "ie" | "ie10"; width: number; height: number; } | { chromeEmulationInfo: { deviceName: "Kindle Fire HDX" | "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy Note 2" | "Galaxy S3" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy A5" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy Note 8" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy Note 9" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy S22 Ultra" | "Galaxy Tab S7" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "LG G6" | "LG Optimus L70" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Huawei Mate 50 Pro" | "Huawei Matepad 11" | "OnePlus 7T" | "OnePlus 7T Pro" | "Nokia N9" | "Nokia Lumia 520" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch"; screenOrientation?: ScreenOrientationPlain; }; } | { iosDeviceInfo: { deviceName: "iPhone X" | "iPhone XR" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad Air 2" | "iPhone 6s" | "iPhone 6s Plus" | "iPhone 7" | "iPhone 7 Plus" | "iPhone 8" | "iPhone 8 Plus" | "iPhone Xs" | "iPhone Xs Max" | "iPhone 12" | "iPhone 12 mini" | "iPhone 12 Pro" | "iPhone 12 Pro Max" | "iPhone 13" | "iPhone 13 mini" | "iPhone 13 Pro" | "iPhone 13 Pro Max" | "iPhone 14" | "iPhone 14 Plus" | "iPhone 14 Pro" | "iPhone 14 Pro Max" | "iPhone SE (1st generation)" | "iPhone SE (2nd generation)" | "iPhone SE (3rd generation)" | "iPad (5th generation)" | "iPad (6th generation)" | "iPad (7th generation)" | "iPad (8th generation)" | "iPad (9th generation)" | "iPad (10th generation)" | "iPad Air (3rd generation)" | "iPad Air (4th generation)" | "iPad Air (5th generation)" | "iPad mini 4" | "iPad mini (5th generation)" | "iPad mini (6th generation)" | "iPad Pro (9.7-inch)" | "iPad Pro (10.5-inch)" | "iPad Pro (11-inch) (1st generation)" | "iPad Pro (12.9-inch) (1st generation)" | "iPad Pro (11-inch) (2nd generation)" | "iPad Pro (12.9-inch) (2nd generation)" | "iPad Pro (11-inch) (3rd generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad Pro (11-inch) (4th generation)" | "iPad Pro (12.9-inch) (4th generation)" | "iPad Pro (12.9-inch) (5th generation)" | "iPad Pro (12.9-inch) (6th generation)" | "iPod touch (7th generation)"; iosVersion?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { androidDeviceInfo: { deviceName: "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy Tab S7" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Pixel 6" | "Galaxy S20 Plus" | "Galaxy S21 Plus" | "Galaxy S22 Plus" | "Galaxy Tab S8" | "Xiaomi Redmi Note 10 JE" | "Xiaomi Redmi Note 11" | "Xiaomi Redmi Note 11 Pro" | "Sony Xperia 1 II" | "Sony Xperia Ace II" | "Huawei P30 Lite"; version?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { deviceName: DeviceName; screenOrientation?: ScreenOrientationPlain; name?: string; }>;
|
|
344
344
|
batchId?: string;
|
|
345
345
|
batchName?: string;
|
|
346
346
|
batchSequence?: string;
|
|
@@ -354,6 +354,152 @@ export type CypressEyesConfig = {
|
|
|
354
354
|
useDom?: boolean;
|
|
355
355
|
enablePatterns?: boolean;
|
|
356
356
|
scriptHooks?: { beforeCaptureScreenshot: string; };
|
|
357
|
+
};
|
|
358
|
+
export type appliConfFile = {
|
|
359
|
+
debugScreenshots?: { save: boolean; path?: string; prefix?: string; };
|
|
360
|
+
agentId?: string;
|
|
361
|
+
apiKey?: string;
|
|
362
|
+
serverUrl?: string;
|
|
363
|
+
proxy?: { url: string; username?: string; password?: string; };
|
|
364
|
+
autProxy?: {
|
|
365
|
+
url: string;
|
|
366
|
+
username?: string;
|
|
367
|
+
password?: string;
|
|
368
|
+
mode?: "Allow" | "Block";
|
|
369
|
+
domains?: Array<string>;
|
|
370
|
+
};
|
|
371
|
+
isDisabled?: boolean;
|
|
372
|
+
connectionTimeout?: number;
|
|
373
|
+
removeSession?: boolean;
|
|
374
|
+
appName?: string;
|
|
375
|
+
testName?: string;
|
|
376
|
+
displayName?: string;
|
|
377
|
+
viewportSize?: { width: number; height: number; };
|
|
378
|
+
sessionType?: "SEQUENTIAL" | "PROGRESSION";
|
|
379
|
+
properties?: Array<{ name: string; value: string; }>;
|
|
380
|
+
batch?: {
|
|
381
|
+
id?: string;
|
|
382
|
+
name?: string;
|
|
383
|
+
sequenceName?: string;
|
|
384
|
+
startedAt?: string | Date;
|
|
385
|
+
notifyOnCompletion?: boolean;
|
|
386
|
+
properties?: Array<{ name: string; value: string; }>;
|
|
387
|
+
};
|
|
388
|
+
defaultMatchSettings?: {
|
|
389
|
+
exact?: { minDiffIntensity: number; minDiffWidth: number; minDiffHeight: number; matchThreshold: number; };
|
|
390
|
+
matchLevel?: "None" | "Layout1" | "Layout" | "Layout2" | "Content" | "IgnoreColors" | "Strict" | "Exact";
|
|
391
|
+
ignoreCaret?: boolean;
|
|
392
|
+
useDom?: boolean;
|
|
393
|
+
enablePatterns?: boolean;
|
|
394
|
+
ignoreDisplacements?: boolean;
|
|
395
|
+
ignoreRegions?: Array<{
|
|
396
|
+
x: number;
|
|
397
|
+
y: number;
|
|
398
|
+
width: number;
|
|
399
|
+
height: number;
|
|
400
|
+
}>;
|
|
401
|
+
layoutRegions?: Array<{
|
|
402
|
+
x: number;
|
|
403
|
+
y: number;
|
|
404
|
+
width: number;
|
|
405
|
+
height: number;
|
|
406
|
+
}>;
|
|
407
|
+
strictRegions?: Array<{
|
|
408
|
+
x: number;
|
|
409
|
+
y: number;
|
|
410
|
+
width: number;
|
|
411
|
+
height: number;
|
|
412
|
+
}>;
|
|
413
|
+
contentRegions?: Array<{
|
|
414
|
+
x: number;
|
|
415
|
+
y: number;
|
|
416
|
+
width: number;
|
|
417
|
+
height: number;
|
|
418
|
+
}>;
|
|
419
|
+
floatingRegions?: Array<{
|
|
420
|
+
x: number;
|
|
421
|
+
y: number;
|
|
422
|
+
width: number;
|
|
423
|
+
height: number;
|
|
424
|
+
} | {
|
|
425
|
+
region: {
|
|
426
|
+
x: number;
|
|
427
|
+
y: number;
|
|
428
|
+
width: number;
|
|
429
|
+
height: number;
|
|
430
|
+
};
|
|
431
|
+
maxUpOffset?: number;
|
|
432
|
+
maxDownOffset?: number;
|
|
433
|
+
maxLeftOffset?: number;
|
|
434
|
+
maxRightOffset?: number;
|
|
435
|
+
}>;
|
|
436
|
+
accessibilityRegions?: Array<{
|
|
437
|
+
x: number;
|
|
438
|
+
y: number;
|
|
439
|
+
width: number;
|
|
440
|
+
height: number;
|
|
441
|
+
} | { region: {
|
|
442
|
+
x: number;
|
|
443
|
+
y: number;
|
|
444
|
+
width: number;
|
|
445
|
+
height: number;
|
|
446
|
+
}; type?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; }>;
|
|
447
|
+
accessibilitySettings?: AccessibilityValidation;
|
|
448
|
+
};
|
|
449
|
+
hostApp?: string;
|
|
450
|
+
hostOS?: string;
|
|
451
|
+
hostAppInfo?: string;
|
|
452
|
+
hostOSInfo?: string;
|
|
453
|
+
deviceInfo?: string;
|
|
454
|
+
baselineEnvName?: string;
|
|
455
|
+
environmentName?: string;
|
|
456
|
+
branchName?: string;
|
|
457
|
+
parentBranchName?: string;
|
|
458
|
+
baselineBranchName?: string;
|
|
459
|
+
compareWithParentBranch?: boolean;
|
|
460
|
+
ignoreBaseline?: boolean;
|
|
461
|
+
ignoreGitMergeBase?: boolean;
|
|
462
|
+
saveFailedTests?: boolean;
|
|
463
|
+
saveNewTests?: boolean;
|
|
464
|
+
saveDiffs?: boolean;
|
|
465
|
+
dontCloseBatches?: boolean;
|
|
466
|
+
sendDom?: boolean;
|
|
467
|
+
matchTimeout?: number;
|
|
468
|
+
forceFullPageScreenshot?: boolean;
|
|
469
|
+
waitBeforeScreenshots?: number;
|
|
470
|
+
stitchMode?: "Scroll" | "CSS" | "Resize";
|
|
471
|
+
hideScrollbars?: boolean;
|
|
472
|
+
hideCaret?: boolean;
|
|
473
|
+
stitchOverlap?: number;
|
|
474
|
+
scrollRootElement?: Element | EyesSelector<Selector>;
|
|
475
|
+
cut?: { top: number; right: number; bottom: number; left: number; } | { x: number; y: number; width: number; height: number; };
|
|
476
|
+
rotation?: 0 | 270 | -270 | 180 | -180 | 90 | -90;
|
|
477
|
+
scaleRatio?: number;
|
|
478
|
+
concurrentSessions?: number;
|
|
479
|
+
browsersInfo?: Array<{ name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "safari" | "safari-earlyaccess" | "safari-one-version-back" | "safari-two-versions-back" | "edgechromium" | "edgechromium-one-version-back" | "edgechromium-two-versions-back" | "edge" | "edgelegacy" | "ie" | "ie10"; width: number; height: number; } | { chromeEmulationInfo: { deviceName: "Kindle Fire HDX" | "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy Note 2" | "Galaxy S3" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy A5" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy Note 8" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy Note 9" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy S22 Ultra" | "Galaxy Tab S7" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "LG G6" | "LG Optimus L70" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Huawei Mate 50 Pro" | "Huawei Matepad 11" | "OnePlus 7T" | "OnePlus 7T Pro" | "Nokia N9" | "Nokia Lumia 520" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch"; screenOrientation?: ScreenOrientationPlain; }; } | { iosDeviceInfo: { deviceName: "iPhone X" | "iPhone XR" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad Air 2" | "iPhone 6s" | "iPhone 6s Plus" | "iPhone 7" | "iPhone 7 Plus" | "iPhone 8" | "iPhone 8 Plus" | "iPhone Xs" | "iPhone Xs Max" | "iPhone 12" | "iPhone 12 mini" | "iPhone 12 Pro" | "iPhone 12 Pro Max" | "iPhone 13" | "iPhone 13 mini" | "iPhone 13 Pro" | "iPhone 13 Pro Max" | "iPhone 14" | "iPhone 14 Plus" | "iPhone 14 Pro" | "iPhone 14 Pro Max" | "iPhone SE (1st generation)" | "iPhone SE (2nd generation)" | "iPhone SE (3rd generation)" | "iPad (5th generation)" | "iPad (6th generation)" | "iPad (7th generation)" | "iPad (8th generation)" | "iPad (9th generation)" | "iPad (10th generation)" | "iPad Air (3rd generation)" | "iPad Air (4th generation)" | "iPad Air (5th generation)" | "iPad mini 4" | "iPad mini (5th generation)" | "iPad mini (6th generation)" | "iPad Pro (9.7-inch)" | "iPad Pro (10.5-inch)" | "iPad Pro (11-inch) (1st generation)" | "iPad Pro (12.9-inch) (1st generation)" | "iPad Pro (11-inch) (2nd generation)" | "iPad Pro (12.9-inch) (2nd generation)" | "iPad Pro (11-inch) (3rd generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad Pro (11-inch) (4th generation)" | "iPad Pro (12.9-inch) (4th generation)" | "iPad Pro (12.9-inch) (5th generation)" | "iPad Pro (12.9-inch) (6th generation)" | "iPod touch (7th generation)"; iosVersion?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { androidDeviceInfo: { deviceName: "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy Tab S7" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Pixel 6" | "Galaxy S20 Plus" | "Galaxy S21 Plus" | "Galaxy S22 Plus" | "Galaxy Tab S8" | "Xiaomi Redmi Note 10 JE" | "Xiaomi Redmi Note 11" | "Xiaomi Redmi Note 11 Pro" | "Sony Xperia 1 II" | "Sony Xperia Ace II" | "Huawei P30 Lite"; version?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; }>;
|
|
480
|
+
visualGridOptions?: Record<string, any>;
|
|
481
|
+
layoutBreakpoints?: boolean | Array<number> | { breakpoints: boolean | Array<number>; reload?: boolean; };
|
|
482
|
+
disableBrowserFetching?: boolean;
|
|
483
|
+
waitBeforeCapture?: number;
|
|
484
|
+
browser?: MaybeArray<{ name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "safari" | "safari-earlyaccess" | "safari-one-version-back" | "safari-two-versions-back" | "edgechromium" | "edgechromium-one-version-back" | "edgechromium-two-versions-back" | "edge" | "edgelegacy" | "ie" | "ie10"; width: number; height: number; } | { chromeEmulationInfo: { deviceName: "Kindle Fire HDX" | "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy Note 2" | "Galaxy S3" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy A5" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy Note 8" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy Note 9" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy S22 Ultra" | "Galaxy Tab S7" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "LG G6" | "LG Optimus L70" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Huawei Mate 50 Pro" | "Huawei Matepad 11" | "OnePlus 7T" | "OnePlus 7T Pro" | "Nokia N9" | "Nokia Lumia 520" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch"; screenOrientation?: ScreenOrientationPlain; }; } | { iosDeviceInfo: { deviceName: "iPhone X" | "iPhone XR" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad Air 2" | "iPhone 6s" | "iPhone 6s Plus" | "iPhone 7" | "iPhone 7 Plus" | "iPhone 8" | "iPhone 8 Plus" | "iPhone Xs" | "iPhone Xs Max" | "iPhone 12" | "iPhone 12 mini" | "iPhone 12 Pro" | "iPhone 12 Pro Max" | "iPhone 13" | "iPhone 13 mini" | "iPhone 13 Pro" | "iPhone 13 Pro Max" | "iPhone 14" | "iPhone 14 Plus" | "iPhone 14 Pro" | "iPhone 14 Pro Max" | "iPhone SE (1st generation)" | "iPhone SE (2nd generation)" | "iPhone SE (3rd generation)" | "iPad (5th generation)" | "iPad (6th generation)" | "iPad (7th generation)" | "iPad (8th generation)" | "iPad (9th generation)" | "iPad (10th generation)" | "iPad Air (3rd generation)" | "iPad Air (4th generation)" | "iPad Air (5th generation)" | "iPad mini 4" | "iPad mini (5th generation)" | "iPad mini (6th generation)" | "iPad Pro (9.7-inch)" | "iPad Pro (10.5-inch)" | "iPad Pro (11-inch) (1st generation)" | "iPad Pro (12.9-inch) (1st generation)" | "iPad Pro (11-inch) (2nd generation)" | "iPad Pro (12.9-inch) (2nd generation)" | "iPad Pro (11-inch) (3rd generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad Pro (11-inch) (4th generation)" | "iPad Pro (12.9-inch) (4th generation)" | "iPad Pro (12.9-inch) (5th generation)" | "iPad Pro (12.9-inch) (6th generation)" | "iPod touch (7th generation)"; iosVersion?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { androidDeviceInfo: { deviceName: "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy Tab S7" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Pixel 6" | "Galaxy S20 Plus" | "Galaxy S21 Plus" | "Galaxy S22 Plus" | "Galaxy Tab S8" | "Xiaomi Redmi Note 10 JE" | "Xiaomi Redmi Note 11" | "Xiaomi Redmi Note 11 Pro" | "Sony Xperia 1 II" | "Sony Xperia Ace II" | "Huawei P30 Lite"; version?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { deviceName: DeviceName; screenOrientation?: ScreenOrientationPlain; name?: string; }>;
|
|
485
|
+
batchId?: string;
|
|
486
|
+
batchName?: string;
|
|
487
|
+
batchSequence?: string;
|
|
488
|
+
notifyOnCompletion?: boolean;
|
|
489
|
+
batchSequenceName?: string;
|
|
490
|
+
envName?: string;
|
|
491
|
+
accessibilityValidation?: AccessibilityValidation;
|
|
492
|
+
matchLevel?: "None" | "Layout1" | "Layout" | "Layout2" | "Content" | "IgnoreColors" | "Strict" | "Exact";
|
|
493
|
+
ignoreCaret?: boolean;
|
|
494
|
+
ignoreDisplacements?: boolean;
|
|
495
|
+
useDom?: boolean;
|
|
496
|
+
enablePatterns?: boolean;
|
|
497
|
+
scriptHooks?: { beforeCaptureScreenshot: string; };
|
|
498
|
+
failCypressAfterAllSpecs?: boolean;
|
|
499
|
+
tapDirPath?: string;
|
|
500
|
+
tapFileName?: string;
|
|
501
|
+
showLogs?: boolean;
|
|
502
|
+
shouldDoPostSpecTasks?: boolean;
|
|
357
503
|
isComponentTest?: boolean;
|
|
358
504
|
};
|
|
359
505
|
export type CypressTestResultsSummary = { getAllResults(): Array<{ getTestResults(): {
|
|
@@ -466,7 +612,7 @@ export type CypressTestResultsSummary = { getAllResults(): Array<{ getTestResult
|
|
|
466
612
|
isPassed(): boolean;
|
|
467
613
|
delete(): Promise<void>;
|
|
468
614
|
deleteSession(): Promise<void>;
|
|
469
|
-
}; getException(): Error; getBrowserInfo(): { name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "
|
|
615
|
+
}; getException(): Error; getBrowserInfo(): { name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "safari" | "safari-earlyaccess" | "safari-one-version-back" | "safari-two-versions-back" | "edgechromium" | "edgechromium-one-version-back" | "edgechromium-two-versions-back" | "edge" | "edgelegacy" | "ie" | "ie10"; width: number; height: number; } | { chromeEmulationInfo: { deviceName: "Kindle Fire HDX" | "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy Note 2" | "Galaxy S3" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy A5" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy Note 8" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy Note 9" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy S22 Ultra" | "Galaxy Tab S7" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "LG G6" | "LG Optimus L70" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Huawei Mate 50 Pro" | "Huawei Matepad 11" | "OnePlus 7T" | "OnePlus 7T Pro" | "Nokia N9" | "Nokia Lumia 520" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch"; screenOrientation?: ScreenOrientationPlain; }; } | { iosDeviceInfo: { deviceName: "iPhone X" | "iPhone XR" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad Air 2" | "iPhone 6s" | "iPhone 6s Plus" | "iPhone 7" | "iPhone 7 Plus" | "iPhone 8" | "iPhone 8 Plus" | "iPhone Xs" | "iPhone Xs Max" | "iPhone 12" | "iPhone 12 mini" | "iPhone 12 Pro" | "iPhone 12 Pro Max" | "iPhone 13" | "iPhone 13 mini" | "iPhone 13 Pro" | "iPhone 13 Pro Max" | "iPhone 14" | "iPhone 14 Plus" | "iPhone 14 Pro" | "iPhone 14 Pro Max" | "iPhone SE (1st generation)" | "iPhone SE (2nd generation)" | "iPhone SE (3rd generation)" | "iPad (5th generation)" | "iPad (6th generation)" | "iPad (7th generation)" | "iPad (8th generation)" | "iPad (9th generation)" | "iPad (10th generation)" | "iPad Air (3rd generation)" | "iPad Air (4th generation)" | "iPad Air (5th generation)" | "iPad mini 4" | "iPad mini (5th generation)" | "iPad mini (6th generation)" | "iPad Pro (9.7-inch)" | "iPad Pro (10.5-inch)" | "iPad Pro (11-inch) (1st generation)" | "iPad Pro (12.9-inch) (1st generation)" | "iPad Pro (11-inch) (2nd generation)" | "iPad Pro (12.9-inch) (2nd generation)" | "iPad Pro (11-inch) (3rd generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad Pro (11-inch) (4th generation)" | "iPad Pro (12.9-inch) (4th generation)" | "iPad Pro (12.9-inch) (5th generation)" | "iPad Pro (12.9-inch) (6th generation)" | "iPod touch (7th generation)"; iosVersion?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { androidDeviceInfo: { deviceName: "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy Tab S7" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Pixel 6" | "Galaxy S20 Plus" | "Galaxy S21 Plus" | "Galaxy S22 Plus" | "Galaxy Tab S8" | "Xiaomi Redmi Note 10 JE" | "Xiaomi Redmi Note 11" | "Xiaomi Redmi Note 11 Pro" | "Sony Xperia 1 II" | "Sony Xperia Ace II" | "Huawei P30 Lite"; version?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { deviceName: "Kindle Fire HDX" | "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy Note 2" | "Galaxy S3" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy A5" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy Note 8" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy Note 9" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy S22 Ultra" | "Galaxy Tab S7" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "LG G6" | "LG Optimus L70" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Huawei Mate 50 Pro" | "Huawei Matepad 11" | "OnePlus 7T" | "OnePlus 7T Pro" | "Nokia N9" | "Nokia Lumia 520" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch"; screenOrientation?: ScreenOrientationPlain; }; }>; [Symbol.iterator](): Iterator<{ getTestResults(): {
|
|
470
616
|
getId(): string;
|
|
471
617
|
setId(_id: string): void;
|
|
472
618
|
getName(): string;
|
|
@@ -576,7 +722,7 @@ export type CypressTestResultsSummary = { getAllResults(): Array<{ getTestResult
|
|
|
576
722
|
isPassed(): boolean;
|
|
577
723
|
delete(): Promise<void>;
|
|
578
724
|
deleteSession(): Promise<void>;
|
|
579
|
-
}; getException(): Error; getBrowserInfo(): { name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "
|
|
725
|
+
}; getException(): Error; getBrowserInfo(): { name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "safari" | "safari-earlyaccess" | "safari-one-version-back" | "safari-two-versions-back" | "edgechromium" | "edgechromium-one-version-back" | "edgechromium-two-versions-back" | "edge" | "edgelegacy" | "ie" | "ie10"; width: number; height: number; } | { chromeEmulationInfo: { deviceName: "Kindle Fire HDX" | "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy Note 2" | "Galaxy S3" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy A5" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy Note 8" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy Note 9" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy S22 Ultra" | "Galaxy Tab S7" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "LG G6" | "LG Optimus L70" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Huawei Mate 50 Pro" | "Huawei Matepad 11" | "OnePlus 7T" | "OnePlus 7T Pro" | "Nokia N9" | "Nokia Lumia 520" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch"; screenOrientation?: ScreenOrientationPlain; }; } | { iosDeviceInfo: { deviceName: "iPhone X" | "iPhone XR" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad Air 2" | "iPhone 6s" | "iPhone 6s Plus" | "iPhone 7" | "iPhone 7 Plus" | "iPhone 8" | "iPhone 8 Plus" | "iPhone Xs" | "iPhone Xs Max" | "iPhone 12" | "iPhone 12 mini" | "iPhone 12 Pro" | "iPhone 12 Pro Max" | "iPhone 13" | "iPhone 13 mini" | "iPhone 13 Pro" | "iPhone 13 Pro Max" | "iPhone 14" | "iPhone 14 Plus" | "iPhone 14 Pro" | "iPhone 14 Pro Max" | "iPhone SE (1st generation)" | "iPhone SE (2nd generation)" | "iPhone SE (3rd generation)" | "iPad (5th generation)" | "iPad (6th generation)" | "iPad (7th generation)" | "iPad (8th generation)" | "iPad (9th generation)" | "iPad (10th generation)" | "iPad Air (3rd generation)" | "iPad Air (4th generation)" | "iPad Air (5th generation)" | "iPad mini 4" | "iPad mini (5th generation)" | "iPad mini (6th generation)" | "iPad Pro (9.7-inch)" | "iPad Pro (10.5-inch)" | "iPad Pro (11-inch) (1st generation)" | "iPad Pro (12.9-inch) (1st generation)" | "iPad Pro (11-inch) (2nd generation)" | "iPad Pro (12.9-inch) (2nd generation)" | "iPad Pro (11-inch) (3rd generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad Pro (11-inch) (4th generation)" | "iPad Pro (12.9-inch) (4th generation)" | "iPad Pro (12.9-inch) (5th generation)" | "iPad Pro (12.9-inch) (6th generation)" | "iPod touch (7th generation)"; iosVersion?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { androidDeviceInfo: { deviceName: "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy Tab S7" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Pixel 6" | "Galaxy S20 Plus" | "Galaxy S21 Plus" | "Galaxy S22 Plus" | "Galaxy Tab S8" | "Xiaomi Redmi Note 10 JE" | "Xiaomi Redmi Note 11" | "Xiaomi Redmi Note 11 Pro" | "Sony Xperia 1 II" | "Sony Xperia Ace II" | "Huawei P30 Lite"; version?: "latest" | "latest-1"; screenOrientation?: ScreenOrientationPlain; }; } | { deviceName: "Kindle Fire HDX" | "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy Note 2" | "Galaxy S3" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy A5" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy Note 8" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy Note 9" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy S20" | "Galaxy S21" | "Galaxy S21 Ultra" | "Galaxy S22" | "Galaxy S22 Ultra" | "Galaxy Tab S7" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "LG G6" | "LG Optimus L70" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Sony Xperia 10 II" | "Huawei Mate 50 Pro" | "Huawei Matepad 11" | "OnePlus 7T" | "OnePlus 7T Pro" | "Nokia N9" | "Nokia Lumia 520" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch"; screenOrientation?: ScreenOrientationPlain; }; }, any, undefined>; };
|
|
580
726
|
export type EyesPluginConfig = {
|
|
581
727
|
tapDirPath: string;
|
|
582
728
|
tapFileName: string;
|
|
File without changes
|
|
File without changes
|