@progress/kendo-e2e 1.4.1 → 1.4.3
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/README.md
CHANGED
|
@@ -40,9 +40,9 @@ Selenium based e2e testing for web.
|
|
|
40
40
|
|
|
41
41
|
## Usage
|
|
42
42
|
|
|
43
|
-
###
|
|
43
|
+
### Setup Browser Drivers
|
|
44
44
|
|
|
45
|
-
This framework
|
|
45
|
+
This framework does not manage browser drivers, so the user should take care appropriate driver to be in `PATH`.
|
|
46
46
|
|
|
47
47
|
#### Linux and macOS
|
|
48
48
|
|
|
@@ -74,6 +74,11 @@ Add following to your `PATH`:
|
|
|
74
74
|
- `%APPDATA%\npm\node_modules\msedgedriver\lib\msedgedriver`
|
|
75
75
|
- `%APPDATA%\npm\node_modules\geckodriver`
|
|
76
76
|
|
|
77
|
+
#### Notes (applicable for all OSs)
|
|
78
|
+
|
|
79
|
+
- Repeat `npm i -g chromedriver` each time when browser on your machine time is updated
|
|
80
|
+
- Repeat `npm i -g chromedriver` when changing NodeJS version with `nvm`
|
|
81
|
+
|
|
77
82
|
### Managing browsers
|
|
78
83
|
|
|
79
84
|
Example:
|
|
@@ -20,7 +20,9 @@ function compareHtml(actualHtml, expectedHtml, options) {
|
|
|
20
20
|
const passed = [];
|
|
21
21
|
const missing = [];
|
|
22
22
|
const extra = [];
|
|
23
|
-
|
|
23
|
+
let actualSelectors = [];
|
|
24
|
+
let expectedSelectors = [];
|
|
25
|
+
const result = { passed, missing, extra, actualSelectors, expectedSelectors };
|
|
24
26
|
const config = {
|
|
25
27
|
allowedTags: false,
|
|
26
28
|
allowVulnerableTags: true,
|
|
@@ -28,18 +30,16 @@ function compareHtml(actualHtml, expectedHtml, options) {
|
|
|
28
30
|
};
|
|
29
31
|
const actualDom = new jsdom_1.default.JSDOM((0, sanitize_html_1.default)(actualHtml, config)).window.document.documentElement;
|
|
30
32
|
const expectedDom = new jsdom_1.default.JSDOM((0, sanitize_html_1.default)(expectedHtml, config)).window.document.documentElement;
|
|
31
|
-
let actualSelectors = [];
|
|
32
33
|
let parent = "";
|
|
33
34
|
parseDom(actualDom, actualSelectors, parent);
|
|
34
35
|
parent = "";
|
|
35
|
-
let expectedSelectors = [];
|
|
36
36
|
parseDom(expectedDom, expectedSelectors);
|
|
37
37
|
let actualWithoutExtra = [];
|
|
38
38
|
if ((options === null || options === void 0 ? void 0 : options.allowExtra) !== undefined) {
|
|
39
39
|
for (const selector of actualSelectors) {
|
|
40
40
|
let replacedSelector = selector;
|
|
41
41
|
for (const extraItem of options === null || options === void 0 ? void 0 : options.allowExtra) {
|
|
42
|
-
replacedSelector = replacedSelector.replace(extraItem,
|
|
42
|
+
replacedSelector = replacedSelector.replace(new RegExp(extraItem, 'g'), '').replace(new RegExp(' ', 'g'), ' ').trim();
|
|
43
43
|
}
|
|
44
44
|
actualWithoutExtra.push(replacedSelector);
|
|
45
45
|
}
|
|
@@ -48,9 +48,25 @@ function compareHtml(actualHtml, expectedHtml, options) {
|
|
|
48
48
|
else {
|
|
49
49
|
actualWithoutExtra = actualSelectors;
|
|
50
50
|
}
|
|
51
|
+
let expectedSelectorsWithoutMissing = [];
|
|
52
|
+
if ((options === null || options === void 0 ? void 0 : options.allowMissing) !== undefined) {
|
|
53
|
+
for (const selector of expectedSelectors) {
|
|
54
|
+
let replacedSelector = selector;
|
|
55
|
+
for (const missingItem of options === null || options === void 0 ? void 0 : options.allowMissing) {
|
|
56
|
+
replacedSelector = replacedSelector.replace(new RegExp(missingItem, 'g'), '').replace(new RegExp(' ', 'g'), ' ').trim();
|
|
57
|
+
}
|
|
58
|
+
expectedSelectorsWithoutMissing.push(replacedSelector);
|
|
59
|
+
}
|
|
60
|
+
expectedSelectorsWithoutMissing = [...new Set(expectedSelectorsWithoutMissing)];
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
expectedSelectorsWithoutMissing = expectedSelectors;
|
|
64
|
+
}
|
|
51
65
|
result.passed = actualWithoutExtra.filter((element) => expectedSelectors.includes(element));
|
|
52
|
-
result.extra = actualSelectors.filter((element) => !
|
|
66
|
+
result.extra = actualSelectors.filter((element) => !expectedSelectorsWithoutMissing.includes(element));
|
|
53
67
|
result.missing = expectedSelectors.filter((element) => !actualWithoutExtra.includes(element));
|
|
68
|
+
result.actualSelectors = actualSelectors;
|
|
69
|
+
result.expectedSelectors = expectedSelectors;
|
|
54
70
|
if ((options === null || options === void 0 ? void 0 : options.allowMissing) !== undefined) {
|
|
55
71
|
for (const missingItem of options === null || options === void 0 ? void 0 : options.allowMissing) {
|
|
56
72
|
result.missing = result.missing.filter((item) => !item.includes(missingItem));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-comparer.js","sourceRoot":"","sources":["../../src/rendering/html-comparer.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAiC;AACjC,kEAAyC;AACzC,kDAA0B;
|
|
1
|
+
{"version":3,"file":"html-comparer.js","sourceRoot":"","sources":["../../src/rendering/html-comparer.ts"],"names":[],"mappings":"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"}
|