@progress/kendo-e2e 1.1.4 → 1.2.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.
|
@@ -47,7 +47,8 @@ const defaults = {
|
|
|
47
47
|
hideSelectors: [],
|
|
48
48
|
offsetY: 0,
|
|
49
49
|
sleep: 0,
|
|
50
|
-
tolerance: 0
|
|
50
|
+
tolerance: 0,
|
|
51
|
+
timeout: 3000
|
|
51
52
|
};
|
|
52
53
|
/**
|
|
53
54
|
* Takes an image snapshot of an element and stores in the specified location.
|
|
@@ -66,40 +67,52 @@ const defaults = {
|
|
|
66
67
|
*/
|
|
67
68
|
function snapshotImage(driver, selector, outputPath, options) {
|
|
68
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
-
const { hideSelectors, offsetY, sleep, tolerance } = Object.assign(Object.assign({}, defaults), options);
|
|
70
|
+
const { hideSelectors, offsetY, sleep, tolerance, timeout } = Object.assign(Object.assign({}, defaults), options);
|
|
71
|
+
// Wait for element to be present
|
|
70
72
|
const waitCondition = (driver) => __awaiter(this, void 0, void 0, function* () {
|
|
71
73
|
try {
|
|
72
74
|
const element = yield driver.findElement(selenium_webdriver_1.By.css(selector));
|
|
73
75
|
return yield element.isDisplayed();
|
|
74
76
|
}
|
|
75
|
-
catch (
|
|
77
|
+
catch (_b) {
|
|
76
78
|
return false;
|
|
77
79
|
}
|
|
78
80
|
});
|
|
79
81
|
yield driver.wait(waitCondition, 10000, `Failed to find element located by ${selector}.`);
|
|
82
|
+
// Wait until screenshot match expected image
|
|
80
83
|
const snapshotResult = { same: false };
|
|
84
|
+
let same = false;
|
|
85
|
+
let cropped;
|
|
81
86
|
try {
|
|
82
|
-
yield driver.executeScript(scripts_1.hideElements, hideSelectors);
|
|
83
|
-
const viewport = yield driver.executeScript(scripts_1.setViewport, selector, offsetY);
|
|
84
87
|
if (sleep > 0) {
|
|
85
88
|
yield driver.sleep(sleep);
|
|
86
89
|
}
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
yield driver.executeScript(scripts_1.hideElements, hideSelectors);
|
|
91
|
+
const viewport = yield driver.executeScript(scripts_1.setViewport, selector, offsetY);
|
|
92
|
+
yield driver.wait(() => __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
const data = yield driver.takeScreenshot();
|
|
94
|
+
const image = Buffer.from(data, 'base64');
|
|
95
|
+
cropped = crop_1.crop(image, viewport);
|
|
96
|
+
if (yield exists(outputPath)) {
|
|
97
|
+
const result = yield looksSame(cropped, outputPath, { strict: false, tolerance: tolerance });
|
|
98
|
+
return result.equal;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
}), timeout);
|
|
104
|
+
same = true;
|
|
105
|
+
}
|
|
106
|
+
catch (_a) {
|
|
107
|
+
console.warn(`Actual screenshot do not match ${outputPath}`);
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
96
110
|
if (!same) {
|
|
97
111
|
yield writeFile(outputPath, cropped);
|
|
98
112
|
}
|
|
99
|
-
}
|
|
100
|
-
finally {
|
|
101
113
|
yield driver.executeScript(scripts_1.restoreElements, hideSelectors);
|
|
102
114
|
}
|
|
115
|
+
snapshotResult.same = same;
|
|
103
116
|
return snapshotResult;
|
|
104
117
|
});
|
|
105
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-image.js","sourceRoot":"","sources":["../../src/snapshot-image/snapshot-image.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,sEAAsE;AACtE,uCAAyB;AACzB,4DAA2C;AAC3C,2DAAmD;AACnD,+BAAiC;AACjC,iCAA8B;AAC9B,uCAAuE;AAEvE,MAAM,SAAS,GAAG,gBAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1C,MAAM,MAAM,GAAG,gBAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACpC,MAAM,SAAS,GAAG,gBAAS,CAAC,oBAAwB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"snapshot-image.js","sourceRoot":"","sources":["../../src/snapshot-image/snapshot-image.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-e2e",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Kendo UI end-to-end test utilities.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -53,13 +53,13 @@
|
|
|
53
53
|
},
|
|
54
54
|
"homepage": "https://github.com/telerik/kendo-e2e#readme",
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@axe-core/webdriverjs": "4.
|
|
57
|
-
"@types/selenium-webdriver": "4.1.
|
|
58
|
-
"js-beautify": "
|
|
59
|
-
"jsdom": "^
|
|
56
|
+
"@axe-core/webdriverjs": "4.6.0",
|
|
57
|
+
"@types/selenium-webdriver": "4.1.11",
|
|
58
|
+
"js-beautify": "1.14.7",
|
|
59
|
+
"jsdom": "^21.1.0",
|
|
60
60
|
"looks-same": "^7.3.0",
|
|
61
61
|
"pngjs": "^6.0.0",
|
|
62
|
-
"selenium-webdriver": "4.
|
|
62
|
+
"selenium-webdriver": "4.8.1"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@commitlint/cli": "^17.0.3",
|
|
@@ -74,7 +74,6 @@
|
|
|
74
74
|
"geckodriver": "3.0.2",
|
|
75
75
|
"husky": "^8.0.1",
|
|
76
76
|
"jest": "^28.1.3",
|
|
77
|
-
"jest-junit": "14.0.0",
|
|
78
77
|
"semantic-release": "^6.3.6",
|
|
79
78
|
"ts-jest": "^28.0.7",
|
|
80
79
|
"ts-node": "^10.9.1",
|
|
@@ -82,7 +81,7 @@
|
|
|
82
81
|
"typescript": "~4.3.4"
|
|
83
82
|
},
|
|
84
83
|
"engines": {
|
|
85
|
-
"npm": ">=
|
|
86
|
-
"node": ">=
|
|
84
|
+
"npm": ">=8.0.0",
|
|
85
|
+
"node": ">=16.0.0"
|
|
87
86
|
}
|
|
88
87
|
}
|