@applitools/core 1.4.6 → 1.4.7
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/dist/automation/get-viewport-size.js +1 -1
- package/dist/automation/locate.js +1 -1
- package/dist/automation/set-viewport-size.js +1 -1
- package/dist/automation/utils/take-screenshot.js +2 -2
- package/dist/{utils → automation/utils}/to-base-check-settings.js +3 -2
- package/dist/{utils → automation/utils}/wait-for-lazy-load.js +2 -2
- package/dist/check-and-close.js +7 -5
- package/dist/check.js +7 -5
- package/dist/classic/abort.js +1 -1
- package/dist/classic/check-and-close.js +9 -5
- package/dist/classic/check.js +12 -8
- package/dist/classic/close.js +1 -1
- package/dist/classic/core.js +5 -5
- package/dist/classic/extract-text.js +11 -5
- package/dist/classic/locate-text.js +2 -0
- package/dist/classic/open-eyes.js +16 -14
- package/dist/classic/utils/take-dom-capture.js +35 -54
- package/dist/close-manager.js +4 -3
- package/dist/core.js +5 -5
- package/dist/get-typed-eyes.js +1 -4
- package/dist/make-ec-client.js +1 -9
- package/dist/make-manager.js +25 -27
- package/dist/troubleshoot/check-network.js +41 -34
- package/dist/troubleshoot/eyes.js +2 -2
- package/dist/troubleshoot/ufg.js +3 -2
- package/dist/troubleshoot/utils.js +1 -25
- package/dist/ufg/abort.js +2 -7
- package/dist/ufg/check-and-close.js +50 -46
- package/dist/ufg/check.js +31 -24
- package/dist/ufg/core.js +5 -5
- package/dist/ufg/get-base-eyes.js +2 -0
- package/dist/ufg/open-eyes.js +11 -2
- package/dist/ufg/utils/extract-broker-url.js +52 -0
- package/dist/ufg/utils/generate-safe-selectors.js +10 -5
- package/dist/ufg/utils/take-dom-snapshot.js +37 -36
- package/dist/ufg/utils/take-dom-snapshots.js +13 -17
- package/dist/ufg/utils/take-snapshots.js +3 -3
- package/dist/ufg/utils/take-vhses.js +60 -166
- package/dist/utils/format-results.js +37 -37
- package/package.json +19 -36
- package/types/automation/get-viewport-size.d.ts +2 -2
- package/types/automation/locate.d.ts +3 -3
- package/types/automation/set-viewport-size.d.ts +2 -2
- package/types/automation/types.d.ts +7 -7
- package/types/automation/utils/take-screenshot.d.ts +6 -6
- package/types/automation/utils/to-base-check-settings.d.ts +24 -0
- package/types/{utils → automation/utils}/wait-for-lazy-load.d.ts +0 -0
- package/types/check-and-close.d.ts +7 -7
- package/types/check.d.ts +6 -6
- package/types/classic/abort.d.ts +2 -2
- package/types/classic/check-and-close.d.ts +8 -4
- package/types/classic/check.d.ts +4 -4
- package/types/classic/close.d.ts +2 -2
- package/types/classic/core.d.ts +1 -1
- package/types/classic/extract-text.d.ts +3 -3
- package/types/classic/get-base-eyes.d.ts +4 -4
- package/types/classic/locate-text.d.ts +3 -3
- package/types/classic/open-eyes.d.ts +4 -4
- package/types/classic/utils/take-dom-capture.d.ts +3 -3
- package/types/close-batch.d.ts +1 -1
- package/types/close-manager.d.ts +4 -4
- package/types/close.d.ts +3 -3
- package/types/delete-test.d.ts +1 -1
- package/types/errors/abort-error.d.ts +0 -1
- package/types/extract-text.d.ts +3 -3
- package/types/get-typed-eyes.d.ts +3 -3
- package/types/locate-text.d.ts +3 -3
- package/types/locate.d.ts +4 -4
- package/types/make-ec-client.d.ts +3 -3
- package/types/make-manager.d.ts +8 -8
- package/types/open-eyes.d.ts +6 -6
- package/types/troubleshoot/check-network.d.ts +3 -3
- package/types/troubleshoot/utils.d.ts +0 -2
- package/types/types.d.ts +6 -4
- package/types/ufg/abort.d.ts +3 -4
- package/types/ufg/check-and-close.d.ts +20 -8
- package/types/ufg/check.d.ts +4 -4
- package/types/ufg/close.d.ts +2 -2
- package/types/ufg/get-base-eyes.d.ts +6 -6
- package/types/ufg/open-eyes.d.ts +4 -4
- package/types/ufg/types.d.ts +2 -2
- package/types/ufg/utils/extract-broker-url.d.ts +6 -0
- package/types/ufg/utils/generate-safe-selectors.d.ts +9 -5
- package/types/ufg/utils/take-dom-snapshot.d.ts +31 -6
- package/types/ufg/utils/take-snapshots.d.ts +1 -1
- package/types/ufg/utils/take-vhses.d.ts +1 -1
- package/types/utils/format-results.d.ts +1 -1
- package/dist/utils/extract-broker-url.js +0 -24
- package/types/utils/extract-broker-url.d.ts +0 -2
- package/types/utils/to-base-check-settings.d.ts +0 -18
|
@@ -4,13 +4,13 @@ exports.toJsonOutput = exports.toXmlOutput = exports.toFlattenedTAPString = expo
|
|
|
4
4
|
const OK = 'ok';
|
|
5
5
|
const NOT_OK = 'not ok';
|
|
6
6
|
function toFormatterString(results, { includeSubTests = true, markNewAsPassed = false } = {}) {
|
|
7
|
-
|
|
7
|
+
var _a;
|
|
8
|
+
if (results.length === 0)
|
|
8
9
|
return 'No results found.';
|
|
9
|
-
}
|
|
10
10
|
let formattedString = '[EYES: TEST RESULTS]:\n';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const testTitle = `${currentResult.name} [${currentResult.hostDisplaySize.width}x${currentResult.hostDisplaySize.height}]`;
|
|
11
|
+
results.forEach(currentResult => {
|
|
12
|
+
var _a, _b, _c, _d;
|
|
13
|
+
const testTitle = `${currentResult.name} [${(_a = currentResult.hostDisplaySize) === null || _a === void 0 ? void 0 : _a.width}x${(_b = currentResult.hostDisplaySize) === null || _b === void 0 ? void 0 : _b.height}]`;
|
|
14
14
|
let testResult = '';
|
|
15
15
|
if (currentResult.isNew) {
|
|
16
16
|
testResult = markNewAsPassed ? 'Passed' : 'New';
|
|
@@ -19,39 +19,35 @@ function toFormatterString(results, { includeSubTests = true, markNewAsPassed =
|
|
|
19
19
|
testResult = 'Passed';
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
|
-
const stepsFailed = currentResult.mismatches + currentResult.missing;
|
|
22
|
+
const stepsFailed = ((_c = currentResult.mismatches) !== null && _c !== void 0 ? _c : 0) + ((_d = currentResult.missing) !== null && _d !== void 0 ? _d : 0);
|
|
23
23
|
testResult = `Failed ${stepsFailed} of ${currentResult.steps}`;
|
|
24
24
|
}
|
|
25
25
|
formattedString += `${testTitle} - ${testResult}\n`;
|
|
26
26
|
if (includeSubTests) {
|
|
27
|
-
if (currentResult.stepsInfo.length > 0) {
|
|
28
|
-
|
|
29
|
-
const currentStep = currentResult.stepsInfo[j];
|
|
27
|
+
if (currentResult.stepsInfo && currentResult.stepsInfo.length > 0) {
|
|
28
|
+
currentResult.stepsInfo.forEach(currentStep => {
|
|
30
29
|
const subTestTitle = currentStep.name;
|
|
31
30
|
const subTestResult = currentStep.isDifferent ? 'Passed' : 'Failed';
|
|
32
31
|
formattedString += `\t> ${subTestTitle} - ${subTestResult}\n`;
|
|
33
|
-
}
|
|
32
|
+
});
|
|
34
33
|
}
|
|
35
34
|
else {
|
|
36
35
|
formattedString += '\tNo steps exist for this test.\n';
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
|
-
}
|
|
40
|
-
formattedString += `See details at ${results[0].appUrls.batch}`;
|
|
38
|
+
});
|
|
39
|
+
formattedString += `See details at ${(_a = results[0].appUrls) === null || _a === void 0 ? void 0 : _a.batch}`;
|
|
41
40
|
return formattedString;
|
|
42
41
|
}
|
|
43
42
|
exports.toFormatterString = toFormatterString;
|
|
44
43
|
function toHierarchicTAPString(results, { includeSubTests = true, markNewAsPassed = false } = {}) {
|
|
45
|
-
if (results.length === 0)
|
|
44
|
+
if (results.length === 0)
|
|
46
45
|
return '';
|
|
47
|
-
}
|
|
48
46
|
let tapString = `1..${results.length}\n`;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const tapIndex = i + 1;
|
|
52
|
-
if (i > 0) {
|
|
47
|
+
results.forEach((currentResult, index) => {
|
|
48
|
+
if (index > 0)
|
|
53
49
|
tapString += '#\n';
|
|
54
|
-
|
|
50
|
+
const tapIndex = index + 1;
|
|
55
51
|
const name = `Test: '${currentResult.name}', Application: '${currentResult.appName}'`;
|
|
56
52
|
if (!currentResult.isDifferent) {
|
|
57
53
|
tapString += `${OK} ${tapIndex} - [PASSED TEST] ${name}\n`;
|
|
@@ -73,24 +69,26 @@ function toHierarchicTAPString(results, { includeSubTests = true, markNewAsPasse
|
|
|
73
69
|
}
|
|
74
70
|
tapString += `#\tMismatches: ${currentResult.mismatches}\n`;
|
|
75
71
|
}
|
|
76
|
-
const url = currentResult.appUrls && currentResult.appUrls.session
|
|
72
|
+
const url = currentResult.appUrls && currentResult.appUrls.session
|
|
73
|
+
? currentResult.appUrls.session
|
|
74
|
+
: "No URL (session didn't start).";
|
|
77
75
|
tapString += `#\tTest url: ${url}\n`;
|
|
78
76
|
tapString += `#\tBrowser: ${currentResult.hostApp}, Viewport: ${currentResult.hostDisplaySize}\n`;
|
|
79
77
|
if (includeSubTests) {
|
|
80
|
-
if (currentResult.stepsInfo.length > 0) {
|
|
78
|
+
if (currentResult.stepsInfo && currentResult.stepsInfo.length > 0) {
|
|
81
79
|
tapString += `\t1..${currentResult.stepsInfo.length}\n`;
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
currentResult.stepsInfo.forEach(currentStep => {
|
|
81
|
+
var _a;
|
|
84
82
|
tapString += '\t';
|
|
85
83
|
tapString += currentStep.isDifferent ? NOT_OK : OK;
|
|
86
|
-
tapString += ` '${currentStep.name}', URL: ${currentStep.appUrls.step}\n`;
|
|
87
|
-
}
|
|
84
|
+
tapString += ` '${currentStep.name}', URL: ${(_a = currentStep.appUrls) === null || _a === void 0 ? void 0 : _a.step}\n`;
|
|
85
|
+
});
|
|
88
86
|
}
|
|
89
87
|
else {
|
|
90
88
|
tapString += '\tNo steps exist for this test.\n';
|
|
91
89
|
}
|
|
92
90
|
}
|
|
93
|
-
}
|
|
91
|
+
});
|
|
94
92
|
return tapString;
|
|
95
93
|
}
|
|
96
94
|
exports.toHierarchicTAPString = toHierarchicTAPString;
|
|
@@ -98,10 +96,9 @@ function toFlattenedTAPString(results, { markNewAsPassed = false } = {}) {
|
|
|
98
96
|
let tapString = '';
|
|
99
97
|
let stepsCounter = 0;
|
|
100
98
|
// We'll add the TAP plan at the beginning, after we calculate the total number of steps.
|
|
101
|
-
|
|
99
|
+
results.forEach((currentResult, index) => {
|
|
102
100
|
tapString += '#\n';
|
|
103
|
-
|
|
104
|
-
const tapIndex = i + 1;
|
|
101
|
+
const tapIndex = index + 1;
|
|
105
102
|
const name = `Test: '${currentResult.name}', Application: '${currentResult.appName}'`;
|
|
106
103
|
if (!currentResult.isDifferent) {
|
|
107
104
|
tapString += `# ${OK} ${tapIndex} - [PASSED TEST] ${name}\n`;
|
|
@@ -123,20 +120,22 @@ function toFlattenedTAPString(results, { markNewAsPassed = false } = {}) {
|
|
|
123
120
|
}
|
|
124
121
|
tapString += `#\tMismatches: ${currentResult.mismatches}\n`;
|
|
125
122
|
}
|
|
126
|
-
const url = currentResult.appUrls && currentResult.appUrls.session
|
|
123
|
+
const url = currentResult.appUrls && currentResult.appUrls.session
|
|
124
|
+
? currentResult.appUrls.session
|
|
125
|
+
: "No URL (session didn't start).";
|
|
127
126
|
tapString += `#\tTest url: ${url}\n`;
|
|
128
|
-
if (currentResult.stepsInfo.length > 0) {
|
|
129
|
-
|
|
127
|
+
if (currentResult.stepsInfo && currentResult.stepsInfo.length > 0) {
|
|
128
|
+
currentResult.stepsInfo.forEach(currentStep => {
|
|
129
|
+
var _a;
|
|
130
130
|
stepsCounter += 1;
|
|
131
|
-
const currentStep = currentResult.stepsInfo[j];
|
|
132
131
|
tapString += currentStep.isDifferent ? NOT_OK : OK;
|
|
133
|
-
tapString += ` ${stepsCounter} '${currentStep.name}', URL: ${currentStep.appUrls.step}\n`;
|
|
134
|
-
}
|
|
132
|
+
tapString += ` ${stepsCounter} '${currentStep.name}', URL: ${(_a = currentStep.appUrls) === null || _a === void 0 ? void 0 : _a.step}\n`;
|
|
133
|
+
});
|
|
135
134
|
}
|
|
136
135
|
else {
|
|
137
136
|
tapString += '#\tNo steps exist for this test.\n';
|
|
138
137
|
}
|
|
139
|
-
}
|
|
138
|
+
});
|
|
140
139
|
if (stepsCounter > 0) {
|
|
141
140
|
tapString = `1..${stepsCounter}\n${tapString}`;
|
|
142
141
|
}
|
|
@@ -148,6 +147,7 @@ function toXmlOutput(results, { totalTime } = {}) {
|
|
|
148
147
|
let output = `<?xml version="1.0" encoding="UTF-8" ?>`;
|
|
149
148
|
output += `\n<testsuite name="${suiteName}" tests="${results.length}" time="${totalTime}">`;
|
|
150
149
|
results.forEach(result => {
|
|
150
|
+
var _a;
|
|
151
151
|
output += `\n<testcase name="${result.name}"${result.duration ? ` time="${result.duration}"` : ''}>`;
|
|
152
152
|
const properties = {};
|
|
153
153
|
if (result.hostOS)
|
|
@@ -165,7 +165,7 @@ function toXmlOutput(results, { totalTime } = {}) {
|
|
|
165
165
|
}
|
|
166
166
|
if (result.isDifferent) {
|
|
167
167
|
output += `\n<failure>`;
|
|
168
|
-
output += `\nDifference found. See ${result.appUrls.batch} for details.`;
|
|
168
|
+
output += `\nDifference found. See ${(_a = result.appUrls) === null || _a === void 0 ? void 0 : _a.batch} for details.`;
|
|
169
169
|
output += `\n</failure>`;
|
|
170
170
|
}
|
|
171
171
|
else if (result.isAborted) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/core",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.7",
|
|
4
4
|
"homepage": "https://applitools.com",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -40,74 +40,57 @@
|
|
|
40
40
|
"types"
|
|
41
41
|
],
|
|
42
42
|
"scripts": {
|
|
43
|
-
"lint": "eslint '**/*.ts'",
|
|
44
|
-
"build": "tsc --project ./tsconfig.build.json",
|
|
43
|
+
"lint": "node ../../node_modules/.bin/eslint '**/*.ts'",
|
|
44
|
+
"build": "node ../../node_modules/.bin/tsc --project ./tsconfig.build.json",
|
|
45
45
|
"test": "mocha --no-timeouts -r ts-node/register --parallel --jobs 15 './test/**/*.spec.ts'",
|
|
46
46
|
"test:sanity": "yarn test:unit",
|
|
47
47
|
"test:e2e": "mocha --no-timeouts -r ts-node/register --parallel --jobs 15 './test/e2e/**/*.spec.ts'",
|
|
48
48
|
"test:it": "mocha --no-timeouts -r ts-node/register './test/it/**/*.spec.ts'",
|
|
49
49
|
"test:unit": "mocha --no-timeouts -r ts-node/register './test/unit/**/*.spec.ts'",
|
|
50
50
|
"setup": "yarn docker:setup",
|
|
51
|
-
"docker:setup": "node
|
|
51
|
+
"docker:setup": "node ../../scripts/generate-docker-compose-config.js && docker-compose up -d",
|
|
52
52
|
"docker:teardown": "docker-compose down",
|
|
53
53
|
"deps": "bongo deps",
|
|
54
54
|
"preversion": "bongo preversion",
|
|
55
55
|
"version": "bongo version",
|
|
56
56
|
"postversion": "bongo postversion --skip-release-notification"
|
|
57
57
|
},
|
|
58
|
-
"husky": {
|
|
59
|
-
"hooks": {
|
|
60
|
-
"pre-push": "yarn bongo lint"
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
58
|
"dependencies": {
|
|
64
|
-
"@applitools/core-base": "1.1.
|
|
59
|
+
"@applitools/core-base": "1.1.33",
|
|
65
60
|
"@applitools/dom-capture": "11.2.1",
|
|
66
61
|
"@applitools/dom-snapshot": "4.7.3",
|
|
67
|
-
"@applitools/driver": "1.11.
|
|
68
|
-
"@applitools/logger": "1.1.
|
|
69
|
-
"@applitools/nml-client": "1.3.
|
|
70
|
-
"@applitools/req": "1.1.
|
|
71
|
-
"@applitools/screenshoter": "3.7.
|
|
72
|
-
"@applitools/snippets": "2.4.
|
|
73
|
-
"@applitools/ufg-client": "1.1.
|
|
74
|
-
"@applitools/utils": "1.3.
|
|
62
|
+
"@applitools/driver": "1.11.28",
|
|
63
|
+
"@applitools/logger": "1.1.45",
|
|
64
|
+
"@applitools/nml-client": "1.3.31",
|
|
65
|
+
"@applitools/req": "1.1.30",
|
|
66
|
+
"@applitools/screenshoter": "3.7.24",
|
|
67
|
+
"@applitools/snippets": "2.4.15",
|
|
68
|
+
"@applitools/ufg-client": "1.1.24",
|
|
69
|
+
"@applitools/utils": "1.3.30",
|
|
75
70
|
"abort-controller": "3.0.0",
|
|
76
71
|
"chalk": "4.1.2",
|
|
77
72
|
"node-fetch": "2.6.7",
|
|
78
73
|
"throat": "6.0.1"
|
|
79
74
|
},
|
|
80
75
|
"optionalDependencies": {
|
|
81
|
-
"@applitools/ec-client": "
|
|
76
|
+
"@applitools/ec-client": "1.2.6"
|
|
82
77
|
},
|
|
83
78
|
"devDependencies": {
|
|
84
79
|
"@applitools/bongo": "^2.2.2",
|
|
85
|
-
"@applitools/
|
|
86
|
-
"@applitools/spec-driver-
|
|
87
|
-
"@applitools/spec-driver-
|
|
88
|
-
"@applitools/
|
|
89
|
-
"@applitools/test-
|
|
90
|
-
"@applitools/test-utils": "^1.5.10",
|
|
80
|
+
"@applitools/spec-driver-puppeteer": "^1.1.39",
|
|
81
|
+
"@applitools/spec-driver-selenium": "^1.5.26",
|
|
82
|
+
"@applitools/spec-driver-webdriverio": "^1.4.23",
|
|
83
|
+
"@applitools/test-server": "^1.1.24",
|
|
84
|
+
"@applitools/test-utils": "^1.5.12",
|
|
91
85
|
"@types/mocha": "^9.1.1",
|
|
92
86
|
"@types/node": "12",
|
|
93
87
|
"@types/selenium-webdriver": "^4.1.2",
|
|
94
|
-
"@typescript-eslint/eslint-plugin": "^5.38.0",
|
|
95
|
-
"@typescript-eslint/parser": "^5.38.0",
|
|
96
88
|
"chromedriver": "^106.0.0",
|
|
97
|
-
"eslint": "^8.23.1",
|
|
98
|
-
"eslint-config-prettier": "^8.5.0",
|
|
99
|
-
"eslint-plugin-no-only-tests": "^3.0.0",
|
|
100
|
-
"eslint-plugin-node": "^11.1.0",
|
|
101
|
-
"eslint-plugin-prettier": "^4.0.0",
|
|
102
|
-
"husky": "^4.3.7",
|
|
103
89
|
"mocha": "^10.0.0",
|
|
104
90
|
"nock": "^13.2.8",
|
|
105
91
|
"png-async": "^0.9.4",
|
|
106
|
-
"prettier": "^2.6.2",
|
|
107
92
|
"puppeteer": "^16.2.0",
|
|
108
93
|
"selenium-webdriver": "4.4",
|
|
109
|
-
"ts-node": "^10.7.0",
|
|
110
|
-
"typescript": "^4.9.4",
|
|
111
94
|
"webdriverio": "^7.25.0"
|
|
112
95
|
},
|
|
113
96
|
"engines": {
|
|
@@ -3,10 +3,10 @@ import { type Logger } from '@applitools/logger';
|
|
|
3
3
|
import { type SpecDriver } from '@applitools/driver';
|
|
4
4
|
type Options<TDriver, TContext, TElement, TSelector> = {
|
|
5
5
|
spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
6
|
-
logger
|
|
6
|
+
logger: Logger;
|
|
7
7
|
};
|
|
8
8
|
export declare function makeGetViewportSize<TDriver, TContext, TElement, TSelector>({ spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, logger, }: {
|
|
9
9
|
target: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
10
|
-
logger?: Logger;
|
|
10
|
+
logger?: Logger | undefined;
|
|
11
11
|
}) => Promise<import("@applitools/utils").Size>;
|
|
12
12
|
export {};
|
|
@@ -4,12 +4,12 @@ import { type Logger } from '@applitools/logger';
|
|
|
4
4
|
import { type SpecDriver } from '@applitools/driver';
|
|
5
5
|
type Options<TDriver, TContext, TElement, TSelector> = {
|
|
6
6
|
core: BaseCore;
|
|
7
|
-
spec
|
|
8
|
-
logger
|
|
7
|
+
spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
8
|
+
logger: Logger;
|
|
9
9
|
};
|
|
10
10
|
export declare function makeLocate<TDriver, TContext, TElement, TSelector>({ spec, core, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): <TLocator extends string>({ settings, target, logger, }: {
|
|
11
11
|
target: DriverTarget<TDriver, TContext, TElement, TSelector> | ImageTarget;
|
|
12
12
|
settings: LocateSettings<TLocator, TElement, TSelector>;
|
|
13
|
-
logger?: Logger;
|
|
13
|
+
logger?: Logger | undefined;
|
|
14
14
|
}) => Promise<LocateResult<TLocator>>;
|
|
15
15
|
export {};
|
|
@@ -4,11 +4,11 @@ import { type Logger } from '@applitools/logger';
|
|
|
4
4
|
import { type SpecDriver } from '@applitools/driver';
|
|
5
5
|
type Options<TDriver, TContext, TElement, TSelector> = {
|
|
6
6
|
spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
7
|
-
logger
|
|
7
|
+
logger: Logger;
|
|
8
8
|
};
|
|
9
9
|
export declare function makeSetViewportSize<TDriver, TContext, TElement, TSelector>({ spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, size, logger, }: {
|
|
10
10
|
target: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
11
11
|
size: Size;
|
|
12
|
-
logger?: Logger;
|
|
12
|
+
logger?: Logger | undefined;
|
|
13
13
|
}) => Promise<void>;
|
|
14
14
|
export {};
|
|
@@ -5,14 +5,14 @@ import { type Logger } from '@applitools/logger';
|
|
|
5
5
|
export * from '@applitools/core-base/types';
|
|
6
6
|
export type DriverTarget<TDriver, TContext, TElement, TSelector> = TDriver | Driver<TDriver, TContext, TElement, TSelector>;
|
|
7
7
|
export interface Core<TDriver, TContext, TElement, TSelector, TEyes = Eyes<TDriver, TContext, TElement, TSelector>> extends BaseCore.Core<TEyes> {
|
|
8
|
-
isDriver(driver: any): driver is TDriver;
|
|
9
|
-
isElement(element: any): element is TElement;
|
|
10
|
-
isSelector(selector: any): selector is TSelector;
|
|
11
|
-
getViewportSize(options: {
|
|
8
|
+
isDriver?(driver: any): driver is TDriver;
|
|
9
|
+
isElement?(element: any): element is TElement;
|
|
10
|
+
isSelector?(selector: any): selector is TSelector;
|
|
11
|
+
getViewportSize?(options: {
|
|
12
12
|
target: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
13
13
|
logger?: Logger;
|
|
14
14
|
}): Promise<Size>;
|
|
15
|
-
setViewportSize(options: {
|
|
15
|
+
setViewportSize?(options: {
|
|
16
16
|
target: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
17
17
|
size: Size;
|
|
18
18
|
logger?: Logger;
|
|
@@ -43,12 +43,12 @@ export interface Eyes<TDriver, TContext, TElement, TSelector, TTarget = DriverTa
|
|
|
43
43
|
settings?: CheckSettings<TElement, TSelector> & BaseCore.CloseSettings;
|
|
44
44
|
logger?: Logger;
|
|
45
45
|
}): Promise<BaseCore.TestResult[]>;
|
|
46
|
-
locateText
|
|
46
|
+
locateText<TPattern extends string>(options: {
|
|
47
47
|
target?: TTarget;
|
|
48
48
|
settings: LocateTextSettings<TPattern, TElement, TSelector>;
|
|
49
49
|
logger?: Logger;
|
|
50
50
|
}): Promise<BaseCore.LocateTextResult<TPattern>>;
|
|
51
|
-
extractText
|
|
51
|
+
extractText(options: {
|
|
52
52
|
target?: TTarget;
|
|
53
53
|
settings: MaybeArray<ExtractTextSettings<TElement, TSelector>>;
|
|
54
54
|
logger?: Logger;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { Region } from '@applitools/utils';
|
|
2
2
|
import type { ScreenshotSettings } from '../../classic/types';
|
|
3
3
|
import { type Logger } from '@applitools/logger';
|
|
4
|
-
import { type Driver, type Element } from '@applitools/driver';
|
|
5
|
-
export type Screenshot = {
|
|
4
|
+
import { type Driver, type Element, type ElementReference } from '@applitools/driver';
|
|
5
|
+
export type Screenshot<TElement, TSelector> = {
|
|
6
6
|
image: any;
|
|
7
7
|
region: Region;
|
|
8
|
-
element: Element<unknown, unknown,
|
|
9
|
-
scrollingElement: Element<unknown, unknown,
|
|
8
|
+
element: Element<unknown, unknown, TElement, TSelector>;
|
|
9
|
+
scrollingElement: Element<unknown, unknown, TElement, TSelector>;
|
|
10
10
|
restoreState(): Promise<void>;
|
|
11
11
|
calculatedRegions: [];
|
|
12
12
|
};
|
|
13
13
|
export declare function takeScreenshot<TDriver, TContext, TElement, TSelector>({ driver, settings, logger, }: {
|
|
14
14
|
driver: Driver<TDriver, TContext, TElement, TSelector>;
|
|
15
15
|
settings: ScreenshotSettings<TElement, TSelector> & {
|
|
16
|
-
regionsToCalculate?:
|
|
16
|
+
regionsToCalculate?: ElementReference<TElement, TSelector>[];
|
|
17
17
|
};
|
|
18
18
|
logger: Logger;
|
|
19
|
-
}): Promise<Screenshot
|
|
19
|
+
}): Promise<Screenshot<TElement, TSelector>>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Region } from '@applitools/utils';
|
|
2
|
+
import type { CheckSettings as BaseCheckSettings } from '@applitools/core-base';
|
|
3
|
+
import type { CheckSettings } from '../types';
|
|
4
|
+
import { type Selector } from '@applitools/driver';
|
|
5
|
+
export declare function toBaseCheckSettings<TElement, TSelector>({ settings }: {
|
|
6
|
+
settings: CheckSettings<TElement, TSelector>;
|
|
7
|
+
}): {
|
|
8
|
+
elementReferencesToCalculate: (TElement | Selector<TSelector>)[];
|
|
9
|
+
elementReferenceToTarget: string | TElement | TSelector | {
|
|
10
|
+
selector: string | TSelector;
|
|
11
|
+
type?: string | undefined;
|
|
12
|
+
child?: Selector<TSelector> | undefined;
|
|
13
|
+
shadow?: Selector<TSelector> | undefined;
|
|
14
|
+
frame?: Selector<TSelector> | undefined;
|
|
15
|
+
fallback?: Selector<TSelector> | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
getBaseCheckSettings: ({ calculatedRegions, preserveTransformation, }: {
|
|
18
|
+
calculatedRegions: {
|
|
19
|
+
selector?: Selector;
|
|
20
|
+
regions: Region[];
|
|
21
|
+
}[];
|
|
22
|
+
preserveTransformation?: boolean | undefined;
|
|
23
|
+
}) => BaseCheckSettings;
|
|
24
|
+
};
|
|
File without changes
|
|
@@ -9,12 +9,12 @@ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | '
|
|
|
9
9
|
logger: Logger;
|
|
10
10
|
};
|
|
11
11
|
export declare function makeCheckAndClose<TDriver, TContext, TElement, TSelector, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, target, settings, config, logger, }?: {
|
|
12
|
-
type?: TType;
|
|
13
|
-
target?: Target<TDriver, TContext, TElement, TSelector, TType
|
|
14
|
-
settings?: CheckSettings<TElement, TSelector, TDefaultType> & (TDefaultType extends "ufg" ? import("@applitools/core-base").CloseSettings : import("@applitools/core-base").CloseSettings) & {
|
|
15
|
-
throwErr?: boolean;
|
|
16
|
-
} & CheckSettings<TElement, TSelector, TType> & (TType extends "ufg" ? import("@applitools/core-base").CloseSettings : import("@applitools/core-base").CloseSettings);
|
|
17
|
-
config?: Config<TElement, TSelector, TDefaultType> & Config<TElement, TSelector, TType
|
|
18
|
-
logger?: Logger;
|
|
12
|
+
type?: TType | undefined;
|
|
13
|
+
target?: Target<TDriver, TContext, TElement, TSelector, TType> | undefined;
|
|
14
|
+
settings?: (CheckSettings<TElement, TSelector, TDefaultType> & (TDefaultType extends "ufg" ? import("@applitools/core-base").CloseSettings : import("@applitools/core-base").CloseSettings) & {
|
|
15
|
+
throwErr?: boolean | undefined;
|
|
16
|
+
} & CheckSettings<TElement, TSelector, TType> & (TType extends "ufg" ? import("@applitools/core-base").CloseSettings : import("@applitools/core-base").CloseSettings)) | undefined;
|
|
17
|
+
config?: (Config<TElement, TSelector, TDefaultType> & Config<TElement, TSelector, TType>) | undefined;
|
|
18
|
+
logger?: Logger | undefined;
|
|
19
19
|
}) => Promise<TestResult<TType>[]>;
|
|
20
20
|
export {};
|
package/types/check.d.ts
CHANGED
|
@@ -6,13 +6,13 @@ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | '
|
|
|
6
6
|
eyes: Eyes<TDriver, TContext, TElement, TSelector, TType>;
|
|
7
7
|
target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
8
8
|
spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
9
|
-
logger
|
|
9
|
+
logger: Logger;
|
|
10
10
|
};
|
|
11
11
|
export declare function makeCheck<TDriver, TContext, TElement, TSelector, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, target, settings, config, logger, }?: {
|
|
12
|
-
type?: TType;
|
|
13
|
-
target?: Target<TDriver, TContext, TElement, TSelector, TType
|
|
14
|
-
settings?: CheckSettings<TElement, TSelector, TType
|
|
15
|
-
config?: Config<TElement, TSelector, TType
|
|
16
|
-
logger?: Logger;
|
|
12
|
+
type?: TType | undefined;
|
|
13
|
+
target?: Target<TDriver, TContext, TElement, TSelector, TType> | undefined;
|
|
14
|
+
settings?: CheckSettings<TElement, TSelector, TType> | undefined;
|
|
15
|
+
config?: Config<TElement, TSelector, TType> | undefined;
|
|
16
|
+
logger?: Logger | undefined;
|
|
17
17
|
}) => Promise<CheckResult<TType>[]>;
|
|
18
18
|
export {};
|
package/types/classic/abort.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ type Options<TDriver, TContext, TElement, TSelector> = {
|
|
|
10
10
|
logger: Logger;
|
|
11
11
|
};
|
|
12
12
|
export declare function makeAbort<TDriver, TContext, TElement, TSelector>({ eyes, target, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ settings, logger, }?: {
|
|
13
|
-
settings?: AbortSettings;
|
|
14
|
-
logger?: Logger;
|
|
13
|
+
settings?: AbortSettings | undefined;
|
|
14
|
+
logger?: Logger | undefined;
|
|
15
15
|
}) => Promise<TestResult[]>;
|
|
16
16
|
export {};
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import type { ClassicTarget, DriverTarget, Eyes, CheckSettings, CloseSettings, TestResult } from './types';
|
|
2
|
+
import type { CheckSettings as BaseCheckSettings } from '@applitools/core-base';
|
|
2
3
|
import { type Logger } from '@applitools/logger';
|
|
3
4
|
import { type SpecDriver } from '@applitools/driver';
|
|
5
|
+
import * as utils from '@applitools/utils';
|
|
4
6
|
type Options<TDriver, TContext, TElement, TSelector> = {
|
|
5
7
|
eyes: Eyes<TDriver, TContext, TElement, TSelector>;
|
|
6
8
|
target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
7
9
|
spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
8
|
-
logger
|
|
10
|
+
logger: Logger;
|
|
9
11
|
};
|
|
10
12
|
export declare function makeCheckAndClose<TDriver, TContext, TElement, TSelector>({ eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }?: {
|
|
11
|
-
target?: ClassicTarget<TDriver, TContext, TElement, TSelector
|
|
12
|
-
settings?:
|
|
13
|
-
|
|
13
|
+
target?: ClassicTarget<TDriver, TContext, TElement, TSelector> | undefined;
|
|
14
|
+
settings?: (BaseCheckSettings<utils.Region | (TElement | import("@applitools/driver").Selector<TSelector>)> & import("./types").ScreenshotSettings<TElement, TSelector> & {
|
|
15
|
+
retryTimeout?: number | undefined;
|
|
16
|
+
} & CloseSettings) | undefined;
|
|
17
|
+
logger?: Logger | undefined;
|
|
14
18
|
}) => Promise<TestResult[]>;
|
|
15
19
|
export {};
|
package/types/classic/check.d.ts
CHANGED
|
@@ -5,11 +5,11 @@ type Options<TDriver, TContext, TElement, TSelector> = {
|
|
|
5
5
|
eyes: Eyes<TDriver, TContext, TElement, TSelector>;
|
|
6
6
|
target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
7
7
|
spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
8
|
-
logger
|
|
8
|
+
logger: Logger;
|
|
9
9
|
};
|
|
10
10
|
export declare function makeCheck<TDriver, TContext, TElement, TSelector>({ eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }?: {
|
|
11
|
-
target?: ClassicTarget<TDriver, TContext, TElement, TSelector
|
|
12
|
-
settings?: CheckSettings<TElement, TSelector
|
|
13
|
-
logger?: Logger;
|
|
11
|
+
target?: ClassicTarget<TDriver, TContext, TElement, TSelector> | undefined;
|
|
12
|
+
settings?: CheckSettings<TElement, TSelector> | undefined;
|
|
13
|
+
logger?: Logger | undefined;
|
|
14
14
|
}) => Promise<CheckResult[]>;
|
|
15
15
|
export {};
|
package/types/classic/close.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ type Options<TDriver, TContext, TElement, TSelector> = {
|
|
|
10
10
|
logger: Logger;
|
|
11
11
|
};
|
|
12
12
|
export declare function makeClose<TDriver, TContext, TElement, TSelector>({ eyes, target, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ settings, logger, }?: {
|
|
13
|
-
settings?: CloseSettings;
|
|
14
|
-
logger?: Logger;
|
|
13
|
+
settings?: CloseSettings | undefined;
|
|
14
|
+
logger?: Logger | undefined;
|
|
15
15
|
}) => Promise<TestResult[]>;
|
|
16
16
|
export {};
|
package/types/classic/core.d.ts
CHANGED
|
@@ -9,5 +9,5 @@ type Options<TDriver, TContext, TElement, TSelector> = {
|
|
|
9
9
|
cwd?: string;
|
|
10
10
|
logger?: Logger;
|
|
11
11
|
};
|
|
12
|
-
export declare function makeCore<TDriver, TContext, TElement, TSelector>({ spec, core, agentId, cwd, logger, }: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TContext, TElement, TSelector>;
|
|
12
|
+
export declare function makeCore<TDriver, TContext, TElement, TSelector>({ spec, core, agentId, cwd, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TContext, TElement, TSelector>;
|
|
13
13
|
export {};
|
|
@@ -6,11 +6,11 @@ type Options<TDriver, TContext, TElement, TSelector> = {
|
|
|
6
6
|
eyes: Eyes<TDriver, TContext, TElement, TSelector>;
|
|
7
7
|
target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
8
8
|
spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
9
|
-
logger
|
|
9
|
+
logger: Logger;
|
|
10
10
|
};
|
|
11
11
|
export declare function makeExtractText<TDriver, TContext, TElement, TSelector>({ eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }: {
|
|
12
|
-
target?: ClassicTarget<TDriver, TContext, TElement, TSelector
|
|
12
|
+
target?: ClassicTarget<TDriver, TContext, TElement, TSelector> | undefined;
|
|
13
13
|
settings: MaybeArray<ExtractTextSettings<TElement, TSelector>>;
|
|
14
|
-
logger?: Logger;
|
|
14
|
+
logger?: Logger | undefined;
|
|
15
15
|
}) => Promise<string[]>;
|
|
16
16
|
export {};
|
|
@@ -2,13 +2,13 @@ import type { OpenSettings } from './types';
|
|
|
2
2
|
import type { Core as BaseCore, Eyes as BaseEyes } from '@applitools/core-base';
|
|
3
3
|
import { type Logger } from '@applitools/logger';
|
|
4
4
|
type Options = {
|
|
5
|
-
settings
|
|
5
|
+
settings: OpenSettings;
|
|
6
|
+
core: BaseCore;
|
|
6
7
|
eyes?: BaseEyes[];
|
|
7
|
-
|
|
8
|
-
logger?: Logger;
|
|
8
|
+
logger: Logger;
|
|
9
9
|
};
|
|
10
10
|
export declare function makeGetBaseEyes({ settings, core, eyes, logger: defaultLogger }: Options): (({ logger }?: {
|
|
11
|
-
logger?: Logger;
|
|
11
|
+
logger?: Logger | undefined;
|
|
12
12
|
}) => Promise<BaseEyes[]>) & {
|
|
13
13
|
getCachedValues(): Promise<BaseEyes<import("@applitools/core-base").ImageTarget>[]>[];
|
|
14
14
|
setCachedValue(key: any, value: Promise<BaseEyes<import("@applitools/core-base").ImageTarget>[]>): void;
|
|
@@ -5,11 +5,11 @@ type Options<TDriver, TContext, TElement, TSelector> = {
|
|
|
5
5
|
eyes: Eyes<TDriver, TContext, TElement, TSelector>;
|
|
6
6
|
target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
|
|
7
7
|
spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
8
|
-
logger
|
|
8
|
+
logger: Logger;
|
|
9
9
|
};
|
|
10
10
|
export declare function makeLocateText<TDriver, TContext, TElement, TSelector>({ eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): <TPattern extends string>({ target, settings, logger, }: {
|
|
11
|
-
target?: ClassicTarget<TDriver, TContext, TElement, TSelector
|
|
11
|
+
target?: ClassicTarget<TDriver, TContext, TElement, TSelector> | undefined;
|
|
12
12
|
settings: LocateTextSettings<TPattern, TElement, TSelector>;
|
|
13
|
-
logger?: Logger;
|
|
13
|
+
logger?: Logger | undefined;
|
|
14
14
|
}) => Promise<LocateTextResult<TPattern>>;
|
|
15
15
|
export {};
|
|
@@ -5,12 +5,12 @@ import { type SpecDriver } from '@applitools/driver';
|
|
|
5
5
|
type Options<TDriver, TContext, TElement, TSelector> = {
|
|
6
6
|
core: BaseCore;
|
|
7
7
|
spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
8
|
-
logger
|
|
8
|
+
logger: Logger;
|
|
9
9
|
};
|
|
10
10
|
export declare function makeOpenEyes<TDriver, TContext, TElement, TSelector>({ core, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, eyes, logger, }: {
|
|
11
|
-
target?: DriverTarget<TDriver, TContext, TElement, TSelector
|
|
11
|
+
target?: DriverTarget<TDriver, TContext, TElement, TSelector> | undefined;
|
|
12
12
|
settings: OpenSettings;
|
|
13
|
-
eyes?: BaseEyes[];
|
|
14
|
-
logger?: Logger;
|
|
13
|
+
eyes?: BaseEyes<import("@applitools/core-base").ImageTarget>[] | undefined;
|
|
14
|
+
logger?: Logger | undefined;
|
|
15
15
|
}) => Promise<Eyes<TDriver, TContext, TElement, TSelector>>;
|
|
16
16
|
export {};
|
|
@@ -7,8 +7,8 @@ export type DomCaptureSettings = {
|
|
|
7
7
|
pollTimeout?: number;
|
|
8
8
|
chunkByteLength?: number;
|
|
9
9
|
};
|
|
10
|
-
export declare function takeDomCapture
|
|
11
|
-
driver:
|
|
10
|
+
export declare function takeDomCapture({ driver, settings, logger, }: {
|
|
11
|
+
driver: Driver<unknown, unknown, unknown, unknown>;
|
|
12
12
|
settings?: DomCaptureSettings;
|
|
13
13
|
logger: Logger;
|
|
14
|
-
}): Promise<
|
|
14
|
+
}): Promise<string>;
|
package/types/close-batch.d.ts
CHANGED
package/types/close-manager.d.ts
CHANGED
|
@@ -7,12 +7,12 @@ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | '
|
|
|
7
7
|
eyes: Eyes<TDriver, TContext, TElement, TSelector, TType>;
|
|
8
8
|
promise?: Promise<TestResult<TType>[]>;
|
|
9
9
|
}[];
|
|
10
|
-
logger
|
|
10
|
+
logger: Logger;
|
|
11
11
|
};
|
|
12
12
|
export declare function makeCloseManager<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg' = 'classic'>({ core, storage, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TType>): ({ settings, logger, }?: {
|
|
13
13
|
settings?: {
|
|
14
|
-
throwErr?: boolean;
|
|
15
|
-
};
|
|
16
|
-
logger?: Logger;
|
|
14
|
+
throwErr?: boolean | undefined;
|
|
15
|
+
} | undefined;
|
|
16
|
+
logger?: Logger | undefined;
|
|
17
17
|
}) => Promise<TestResultSummary<TType>>;
|
|
18
18
|
export {};
|