@progress/kendo-e2e 0.11.0 → 1.0.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/README.md CHANGED
@@ -132,19 +132,33 @@ To check available mobile devices and capabilities please visit [this](https://w
132
132
 
133
133
  ### Find Elements and Wait for Conditions
134
134
 
135
- TODO
135
+ Selenium default behavior when you search for element is to return it if available and throw if not available (do not try to wait until element is available).
136
136
 
137
- ### Take Screenshots
137
+ To make writing e2e tests easier and tests more stable in `kendo-e2e` we have:
138
138
 
139
- TODO
139
+ ```js
140
+ const element = await browser.find(locator, timeout);
141
+ ```
142
+
143
+ This `find` with wait until element is available (until timeout reached), if timeout reached and element still not found it will throw.
140
144
 
141
145
  ### Detect JavaScript errors in Browser Logs
142
146
 
143
- TODO
147
+ ```js
148
+ await browser.getErrorLogs()
149
+ ```
150
+
151
+ Will return all errors in browser console and it is nice check we can perform after each test to ensure we have no missing resources or scripts throwing errors.
144
152
 
145
153
  ### Detect Accessibility Violations
146
154
 
147
- TODO
155
+ ```js
156
+ const disableRules = ['aria-allowed-role', 'label'];
157
+ const errors = await browser.getAccessibilityViolations('#table', disableRules);
158
+ expect(errors).toEqual([]);
159
+ ```
160
+
161
+ `getAccessibilityViolations` uses [axe](https://www.deque.com/axe/) to detect WCAG 2.1 violations.
148
162
 
149
163
  ### Kendo UI Components Abstractions
150
164
 
@@ -169,5 +183,7 @@ npm run build
169
183
  Run tests:
170
184
 
171
185
  ```bash
186
+ npm run tests:a11y
172
187
  npm run tests:e2e
188
+ npm run tests:visual
173
189
  ```
@@ -0,0 +1,18 @@
1
+ import { ThenableWebDriver } from "selenium-webdriver";
2
+ declare type WCTSpecResult = {
3
+ passed: string[];
4
+ skipped: string[];
5
+ errors: string[];
6
+ };
7
+ /**
8
+ * Check current page for violations against WCT A11y Spec.
9
+ *
10
+ * @example
11
+ * await getWCTSpecViolations(browser, spec, ['k-multiselect-autocomplete']});
12
+ *
13
+ * @param driver WebDriver instance
14
+ * @param spec A spec object (like https://unpkg.com/@progress/wct-a11y-spec@1.0.3/dist/jquery/test-def/test-definitions.json).
15
+ * @param excludeErrors Array of validation IDs that will be skipped.
16
+ */
17
+ export declare function getWCTSpecViolations(driver: ThenableWebDriver, spec: any, excludeErrors?: string[]): Promise<WCTSpecResult>;
18
+ export {};
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getWCTSpecViolations = void 0;
13
+ /* eslint-disable @typescript-eslint/no-explicit-any */
14
+ const selenium_webdriver_1 = require("selenium-webdriver");
15
+ /**
16
+ * Check current page for violations against WCT A11y Spec.
17
+ *
18
+ * @example
19
+ * await getWCTSpecViolations(browser, spec, ['k-multiselect-autocomplete']});
20
+ *
21
+ * @param driver WebDriver instance
22
+ * @param spec A spec object (like https://unpkg.com/@progress/wct-a11y-spec@1.0.3/dist/jquery/test-def/test-definitions.json).
23
+ * @param excludeErrors Array of validation IDs that will be skipped.
24
+ */
25
+ function getWCTSpecViolations(driver, spec, excludeErrors = []) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ const passed = [];
28
+ const skipped = [];
29
+ const errors = [];
30
+ const result = { passed, skipped, errors };
31
+ for (const key of Object.keys(spec)) {
32
+ const component = spec[key];
33
+ const rules = component['rules'];
34
+ const keySelector = `.k-${key}`;
35
+ if ((yield driver.findElements(selenium_webdriver_1.By.css(keySelector))).length > 0) {
36
+ for (const rule of rules) {
37
+ const selector = rule['selector'];
38
+ let arraySelector = selector.split(',');
39
+ if (selector !== keySelector &&
40
+ selector.indexOf('.k-animation-container') === -1 &&
41
+ selector.indexOf('.k-list-ul') === -1 &&
42
+ selector.indexOf('.k-list-item') === -1 &&
43
+ selector.indexOf('.k-list-filter') === -1) {
44
+ arraySelector = arraySelector.map(s => keySelector + ' ' + s);
45
+ }
46
+ arraySelector.forEach((sel) => __awaiter(this, void 0, void 0, function* () {
47
+ if ((yield driver.findElements(selenium_webdriver_1.By.css(sel))).length > 0) {
48
+ const checks = rule['checks'], asyncSome = (arr, predicate) => __awaiter(this, void 0, void 0, function* () {
49
+ for (const e of arr) {
50
+ if (yield predicate(e))
51
+ return true;
52
+ }
53
+ return false;
54
+ });
55
+ for (const check of checks) {
56
+ const checkId = check['id'];
57
+ const conditionalCheck = check['when'];
58
+ const attribute = check['attribute'];
59
+ let expectedValue = check['value'];
60
+ if (typeof expectedValue === 'string' && expectedValue.includes(' ')) {
61
+ const refElementSelector = expectedValue.split(' ')[0];
62
+ if ((yield driver.findElements(selenium_webdriver_1.By.css(refElementSelector))).length > 0) {
63
+ expectedValue = yield (yield driver.findElement(selenium_webdriver_1.By.css(refElementSelector))).getAttribute(expectedValue.split(' ')[1]);
64
+ }
65
+ else {
66
+ result.skipped.push(`[${checkId}]: Skip check for ${sel}, as no ${refElementSelector} was found.`);
67
+ continue;
68
+ }
69
+ }
70
+ if (conditionalCheck !== undefined) {
71
+ result.skipped.push(`[${checkId}]: Skip check for ${sel}, conditional checks not supported.`);
72
+ }
73
+ else if (Array.isArray(attribute)) {
74
+ const pass = yield asyncSome(attribute, (attr) => __awaiter(this, void 0, void 0, function* () {
75
+ let attributeValue;
76
+ if (attr.indexOf('=') > -1) {
77
+ expectedValue = attr.split('=')[1];
78
+ attr = attr.split('=')[0];
79
+ }
80
+ if (attr === 'label for') {
81
+ attributeValue = yield (yield driver.findElement(selenium_webdriver_1.By.css(sel))).getAttribute('id');
82
+ const locator = selenium_webdriver_1.By.css(`label[for='${attributeValue}']`);
83
+ if ((yield driver.findElements(locator)).length > 0) {
84
+ return true;
85
+ }
86
+ }
87
+ else if (attr === 'nodeName') {
88
+ attributeValue = (yield (yield driver.findElement(selenium_webdriver_1.By.css(sel))).getTagName()).toLowerCase();
89
+ }
90
+ else {
91
+ attributeValue = yield (yield driver.findElement(selenium_webdriver_1.By.css(sel))).getAttribute(attr);
92
+ }
93
+ if (expectedValue) {
94
+ return attributeValue === expectedValue;
95
+ }
96
+ else {
97
+ return attributeValue !== null;
98
+ }
99
+ }));
100
+ if (pass) {
101
+ result.passed.push(`[${checkId}]: ${sel} has ${attribute} attribute.`);
102
+ }
103
+ else {
104
+ result.errors.push(`[${checkId}]: ${sel} has no "${attribute}"`);
105
+ }
106
+ }
107
+ else {
108
+ const attributeValue = yield (yield driver.findElement(selenium_webdriver_1.By.css(sel))).getAttribute(attribute);
109
+ const elType = (yield (yield driver.findElement(selenium_webdriver_1.By.css(sel))).getTagName()).toLowerCase();
110
+ if (attribute === 'tabindex' && expectedValue === '0') {
111
+ if ((elType === 'input' || elType === 'button' || elType === 'a') &&
112
+ (attributeValue === "0" || attributeValue === null)) {
113
+ result.passed.push(`[${checkId}]: ${sel} has ${attribute} attribute with ${expectedValue} value.`);
114
+ }
115
+ else if (attributeValue === expectedValue) {
116
+ result.passed.push(`[${checkId}]: ${sel} has ${attribute} attribute with ${expectedValue} value.`);
117
+ }
118
+ else {
119
+ result.errors.push(`[${checkId}]: ${sel} does not have "${attribute}" attribute with "${expectedValue}" value.`);
120
+ }
121
+ }
122
+ else if (Array.isArray(expectedValue)) {
123
+ if (expectedValue.includes(attributeValue)) {
124
+ result.passed.push(`[${checkId}]: ${sel} has ${attribute} attribute with ${expectedValue} value.`);
125
+ }
126
+ else {
127
+ result.errors.push(`[${checkId}]: ${sel} has "${attribute}" which does not contain any of "${expectedValue}".`);
128
+ }
129
+ }
130
+ else {
131
+ if (expectedValue === undefined && !attributeValue) {
132
+ result.errors.push(`[${checkId}]: ${sel} does not have "${attribute}" attribute with value.`);
133
+ }
134
+ else if (attributeValue !== expectedValue && expectedValue !== undefined) {
135
+ result.errors.push(`[${checkId}]: ${sel} does not have "${attribute}" attribute with "${expectedValue}" value.`);
136
+ }
137
+ else {
138
+ result.passed.push(`[${checkId}]: ${sel} has ${attribute} attribute with ${expectedValue} value.`);
139
+ }
140
+ }
141
+ }
142
+ }
143
+ }
144
+ }));
145
+ }
146
+ }
147
+ }
148
+ for (const error of excludeErrors) {
149
+ result.errors = result.errors.filter(item => !item.includes(error));
150
+ }
151
+ return result;
152
+ });
153
+ }
154
+ exports.getWCTSpecViolations = getWCTSpecViolations;
155
+ //# sourceMappingURL=a11y-wct-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a11y-wct-spec.js","sourceRoot":"","sources":["../../src/a11y/a11y-wct-spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { getWCTSpecViolations } from './a11y-wct-spec';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWCTSpecViolations = void 0;
4
+ var a11y_wct_spec_1 = require("./a11y-wct-spec");
5
+ Object.defineProperty(exports, "getWCTSpecViolations", { enumerable: true, get: function () { return a11y_wct_spec_1.getWCTSpecViolations; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/a11y/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuD;AAA9C,qHAAA,oBAAoB,OAAA"}
@@ -6,21 +6,21 @@ export declare class Grid extends UIComponent {
6
6
  protected parentElement?: WebElement;
7
7
  static get Selector(): string;
8
8
  constructor(driver: ThenableWebDriver, locator?: By, parentElement?: WebElement);
9
- Pager(): Promise<Pager>;
10
- DataRows(): Promise<WebElement[]>;
11
- DataRowsCount(): Promise<number>;
12
- IsEmpty(): Promise<boolean>;
13
- Header(column: number): Promise<WebElement>;
14
- HeaderFilter(column: number): Promise<WebElement>;
15
- HeaderByText(text: string, exactMatch?: boolean): Promise<WebElement>;
16
- HeaderSortType(text: string, exactMatch?: boolean): Promise<SortType>;
17
- GetSortOrder(text: string, exactMatch?: boolean): Promise<number>;
18
- HeaderCell(column: number): Promise<WebElement>;
9
+ pager(): Promise<Pager>;
10
+ dataRows(): Promise<WebElement[]>;
11
+ dataRowsCount(): Promise<number>;
12
+ isEmpty(): Promise<boolean>;
13
+ header(column: number): Promise<WebElement>;
14
+ headerFilter(column: number): Promise<WebElement>;
15
+ headerByText(text: string, exactMatch?: boolean): Promise<WebElement>;
16
+ headerSortType(text: string, exactMatch?: boolean): Promise<SortType>;
17
+ getSortOrder(text: string, exactMatch?: boolean): Promise<number>;
18
+ headerCell(column: number): Promise<WebElement>;
19
19
  HeaderCellInput(column: number): Promise<WebElement>;
20
20
  HeaderCellFilterDropDown(column: number): Promise<WebElement>;
21
21
  HeaderCellCleanFilterButton(column: number): Promise<WebElement>;
22
22
  Cell(row: number, column: number): Promise<WebElement>;
23
- CellInput(row: number, column: number): Promise<WebElement>;
24
- CellsByColumn(column: number, limit?: number): Promise<WebElement[]>;
25
- private GetGridElement;
23
+ cellInput(row: number, column: number): Promise<WebElement>;
24
+ cellsByColumn(column: number, limit?: number): Promise<WebElement[]>;
25
+ private getGridElement;
26
26
  }
@@ -24,44 +24,44 @@ class Grid extends ui_component_1.UIComponent {
24
24
  static get Selector() {
25
25
  return ".k-grid";
26
26
  }
27
- Pager() {
27
+ pager() {
28
28
  return __awaiter(this, void 0, void 0, function* () {
29
29
  const rootElement = yield this.getRootElement();
30
30
  return new pager_1.Pager(this.driver, selenium_webdriver_1.By.css(".k-grid-pager"), rootElement);
31
31
  });
32
32
  }
33
- DataRows() {
33
+ dataRows() {
34
34
  return __awaiter(this, void 0, void 0, function* () {
35
35
  const rootElement = yield this.getRootElement();
36
36
  return yield rootElement.findElements(selenium_webdriver_1.By.css("tbody tr"));
37
37
  });
38
38
  }
39
- DataRowsCount() {
39
+ dataRowsCount() {
40
40
  return __awaiter(this, void 0, void 0, function* () {
41
- return (yield this.DataRows()).length;
41
+ return (yield this.dataRows()).length;
42
42
  });
43
43
  }
44
- IsEmpty() {
44
+ isEmpty() {
45
45
  return __awaiter(this, void 0, void 0, function* () {
46
46
  const rootElement = yield this.getRootElement();
47
47
  return (yield rootElement.findElements(selenium_webdriver_1.By.css(".k-grid-norecords"))).length === 1;
48
48
  });
49
49
  }
50
- Header(column) {
50
+ header(column) {
51
51
  return __awaiter(this, void 0, void 0, function* () {
52
52
  const locator = selenium_webdriver_1.By.css(`thead tr th:nth-of-type(${column})`);
53
- return yield this.GetGridElement(locator, `Failed to find header at column ${column}.`);
53
+ return yield this.getGridElement(locator, `Failed to find header at column ${column}.`);
54
54
  });
55
55
  }
56
- HeaderFilter(column) {
56
+ headerFilter(column) {
57
57
  return __awaiter(this, void 0, void 0, function* () {
58
58
  const defaultLocator = `thead tr th:nth-of-type(${column}) .k-grid-filter`;
59
59
  const reactLocator = `thead tr th:nth-of-type(${column}) span.k-i-more-vertical`;
60
60
  const errorMessage = `Failed to find filter menu inside header at column ${column}.`;
61
- return yield this.GetGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${reactLocator}`), errorMessage);
61
+ return yield this.getGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${reactLocator}`), errorMessage);
62
62
  });
63
63
  }
64
- HeaderByText(text, exactMatch = true) {
64
+ headerByText(text, exactMatch = true) {
65
65
  return __awaiter(this, void 0, void 0, function* () {
66
66
  // Angular and Blazor: Header text is in span with class "k-column-title"
67
67
  // jQuery, React and Vue: Header text is in span with class "k-link"
@@ -72,12 +72,12 @@ class Grid extends ui_component_1.UIComponent {
72
72
  else {
73
73
  locator = selenium_webdriver_1.By.xpath(`//thead//tr//th[.//*[(@class='k-column-title' or @class='k-link') and contains(.,'${text}')]]`);
74
74
  }
75
- return yield this.GetGridElement(locator, `Failed to find header with "${text}" text.`);
75
+ return yield this.getGridElement(locator, `Failed to find header with "${text}" text.`);
76
76
  });
77
77
  }
78
- HeaderSortType(text, exactMatch = true) {
78
+ headerSortType(text, exactMatch = true) {
79
79
  return __awaiter(this, void 0, void 0, function* () {
80
- const rootElement = yield this.HeaderByText(text, exactMatch);
80
+ const rootElement = yield this.headerByText(text, exactMatch);
81
81
  if ((yield rootElement.findElements(selenium_webdriver_1.By.css(".k-i-sort-asc-sm"))).length > 0) {
82
82
  return enums_1.SortType.Asc;
83
83
  }
@@ -89,10 +89,10 @@ class Grid extends ui_component_1.UIComponent {
89
89
  }
90
90
  });
91
91
  }
92
- GetSortOrder(text, exactMatch = true) {
92
+ getSortOrder(text, exactMatch = true) {
93
93
  return __awaiter(this, void 0, void 0, function* () {
94
94
  const locator = selenium_webdriver_1.By.css(".k-sort-order");
95
- const rootElement = yield this.HeaderByText(text, exactMatch);
95
+ const rootElement = yield this.headerByText(text, exactMatch);
96
96
  if ((yield rootElement.findElements(locator)).length > 0) {
97
97
  const element = yield rootElement.findElement(locator);
98
98
  return +(yield element.getText());
@@ -102,12 +102,12 @@ class Grid extends ui_component_1.UIComponent {
102
102
  }
103
103
  });
104
104
  }
105
- HeaderCell(column) {
105
+ headerCell(column) {
106
106
  return __awaiter(this, void 0, void 0, function* () {
107
107
  const defaultLocator = `thead tr td:nth-of-type(${column})`;
108
108
  const reactLocator = `thead tr.k-filter-row th:nth-of-type(${column})`;
109
109
  const errorMessage = `Failed to find header cell at column ${column}.`;
110
- return yield this.GetGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${reactLocator}`), errorMessage);
110
+ return yield this.getGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${reactLocator}`), errorMessage);
111
111
  });
112
112
  }
113
113
  HeaderCellInput(column) {
@@ -115,7 +115,7 @@ class Grid extends ui_component_1.UIComponent {
115
115
  const defaultLocator = `thead tr td:nth-of-type(${column}) input`;
116
116
  const reactLocator = `thead tr.k-filter-row th:nth-of-type(${column}) input`;
117
117
  const errorMessage = `Failed to find input inside header cell at column ${column}.`;
118
- return yield this.GetGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${reactLocator}`), errorMessage);
118
+ return yield this.getGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${reactLocator}`), errorMessage);
119
119
  });
120
120
  }
121
121
  HeaderCellFilterDropDown(column) {
@@ -123,7 +123,7 @@ class Grid extends ui_component_1.UIComponent {
123
123
  const defaultLocator = `thead tr td:nth-of-type(${column}) .k-dropdown`;
124
124
  const reactLocator = `thead tr.k-filter-row th:nth-of-type(${column}) .k-dropdown`;
125
125
  const errorMessage = `Failed to find filter dropdown inside header cell at column ${column}.`;
126
- return yield this.GetGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${reactLocator}`), errorMessage);
126
+ return yield this.getGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${reactLocator}`), errorMessage);
127
127
  });
128
128
  }
129
129
  HeaderCellCleanFilterButton(column) {
@@ -131,7 +131,7 @@ class Grid extends ui_component_1.UIComponent {
131
131
  const defaultLocator = `thead tr td:nth-of-type(${column}) button[title='Clear']`;
132
132
  const reactLocator = `thead tr.k-filter-row th:nth-of-type(${column}) button[title='Clear']`;
133
133
  const errorMessage = `Failed to find clear filter button inside header cell at column ${column}.`;
134
- return yield this.GetGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${reactLocator}`), errorMessage);
134
+ return yield this.getGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${reactLocator}`), errorMessage);
135
135
  });
136
136
  }
137
137
  Cell(row, column) {
@@ -139,18 +139,18 @@ class Grid extends ui_component_1.UIComponent {
139
139
  const defaultLocator = `tr:nth-of-type(${row}) td[role='gridcell']:nth-of-type(${column})`;
140
140
  const vueLocator = `tr.k-master-row:nth-of-type(${row}) td:nth-of-type(${column})`;
141
141
  const errorMessage = `Failed to find cell at {${row}, ${column}}.`;
142
- return yield this.GetGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${vueLocator}`), errorMessage);
142
+ return yield this.getGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${vueLocator}`), errorMessage);
143
143
  });
144
144
  }
145
- CellInput(row, column) {
145
+ cellInput(row, column) {
146
146
  return __awaiter(this, void 0, void 0, function* () {
147
147
  const defaultLocator = `tr:nth-of-type(${row}) td[role='gridcell']:nth-of-type(${column}) input`;
148
148
  const vueLocator = `tr.k-master-row:nth-of-type(${row}) td:nth-of-type(${column}) input`;
149
149
  const errorMessage = `Failed to find input at cell {${row}, ${column}}.`;
150
- return yield this.GetGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${vueLocator}`), errorMessage);
150
+ return yield this.getGridElement(selenium_webdriver_1.By.css(`${defaultLocator}, ${vueLocator}`), errorMessage);
151
151
  });
152
152
  }
153
- CellsByColumn(column, limit) {
153
+ cellsByColumn(column, limit) {
154
154
  return __awaiter(this, void 0, void 0, function* () {
155
155
  const rootElement = yield this.getRootElement();
156
156
  const cells = yield rootElement.findElements(selenium_webdriver_1.By.css(`tr td:nth-of-type(${column})`));
@@ -162,7 +162,7 @@ class Grid extends ui_component_1.UIComponent {
162
162
  }
163
163
  });
164
164
  }
165
- GetGridElement(locator, error) {
165
+ getGridElement(locator, error) {
166
166
  return __awaiter(this, void 0, void 0, function* () {
167
167
  const rootElement = yield this.getRootElement();
168
168
  yield this.driver.wait(conditions_1.EC.hasChild(rootElement, locator), settings_1.Settings.timeout, error);
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { By, Key, until, WebElement, } from 'selenium-webdriver';
2
+ export * from './a11y';
2
3
  export * from './components';
3
4
  export * from './selenium';
4
5
  export * from './settings';
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "By", { enumerable: true, get: function () { retu
16
16
  Object.defineProperty(exports, "Key", { enumerable: true, get: function () { return selenium_webdriver_1.Key; } });
17
17
  Object.defineProperty(exports, "until", { enumerable: true, get: function () { return selenium_webdriver_1.until; } });
18
18
  Object.defineProperty(exports, "WebElement", { enumerable: true, get: function () { return selenium_webdriver_1.WebElement; } });
19
+ __exportStar(require("./a11y"), exports);
19
20
  __exportStar(require("./components"), exports);
20
21
  __exportStar(require("./selenium"), exports);
21
22
  __exportStar(require("./settings"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yDAAiE;AAAxD,wGAAA,EAAE,OAAA;AAAE,yGAAA,GAAG,OAAA;AAAE,2GAAA,KAAK,OAAA;AAAE,gHAAA,UAAU,OAAA;AACnC,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,kEAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yDAAiE;AAAxD,wGAAA,EAAE,OAAA;AAAE,yGAAA,GAAG,OAAA;AAAE,2GAAA,KAAK,OAAA;AAAE,gHAAA,UAAU,OAAA;AACnC,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,kEAAgD"}
@@ -13,7 +13,7 @@ export declare class Browser extends WebApp {
13
13
  navigateTo(url: string): Promise<void>;
14
14
  refresh(): Promise<void>;
15
15
  getCurrentUrl(): Promise<string>;
16
- getAccessibilityViolations(cssSelector?: string, disableRules?: string[]): Promise<[]>;
17
16
  getBrowserName(): Promise<string>;
17
+ getAccessibilityViolations(cssSelector?: string, disableRules?: string[]): Promise<[]>;
18
18
  getErrorLogs(excludeList?: string[]): Promise<string[]>;
19
19
  }
@@ -53,6 +53,13 @@ class Browser extends web_app_1.WebApp {
53
53
  return yield this.driver.getCurrentUrl();
54
54
  });
55
55
  }
56
+ getBrowserName() {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ const capabilities = (yield (yield this.driver).getCapabilities());
59
+ const browserName = capabilities.getBrowserName().toLowerCase();
60
+ return browserName;
61
+ });
62
+ }
56
63
  getAccessibilityViolations(cssSelector = "html", disableRules = ["color-contrast"]) {
57
64
  return __awaiter(this, void 0, void 0, function* () {
58
65
  yield this.find(selenium_webdriver_1.By.css(cssSelector));
@@ -63,13 +70,6 @@ class Browser extends web_app_1.WebApp {
63
70
  return result.violations;
64
71
  });
65
72
  }
66
- getBrowserName() {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- const capabilities = (yield (yield this.driver).getCapabilities());
69
- const browserName = capabilities.getBrowserName().toLowerCase();
70
- return browserName;
71
- });
72
- }
73
73
  getErrorLogs(excludeList = ["favicon.ico"]) {
74
74
  return __awaiter(this, void 0, void 0, function* () {
75
75
  const errors = [];
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/selenium/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/selenium/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Browser } from "./browser";
2
+ export { By, ThenableWebDriver, until, WebElement, WebElementCondition } from "selenium-webdriver";
3
+ /**
4
+ * Extends the {@link Browser} with Chrome based capabilities.
5
+ * Allows custom args to be passed as a string[].
6
+ */
7
+ export declare class ChromeBrowser extends Browser {
8
+ constructor(args?: string[]);
9
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChromeBrowser = exports.WebElementCondition = exports.WebElement = exports.until = exports.By = void 0;
4
+ const browser_1 = require("./browser");
5
+ const driver_manager_1 = require("./driver-manager");
6
+ var selenium_webdriver_1 = require("selenium-webdriver");
7
+ Object.defineProperty(exports, "By", { enumerable: true, get: function () { return selenium_webdriver_1.By; } });
8
+ Object.defineProperty(exports, "until", { enumerable: true, get: function () { return selenium_webdriver_1.until; } });
9
+ Object.defineProperty(exports, "WebElement", { enumerable: true, get: function () { return selenium_webdriver_1.WebElement; } });
10
+ Object.defineProperty(exports, "WebElementCondition", { enumerable: true, get: function () { return selenium_webdriver_1.WebElementCondition; } });
11
+ /**
12
+ * Extends the {@link Browser} with Chrome based capabilities.
13
+ * Allows custom args to be passed as a string[].
14
+ */
15
+ class ChromeBrowser extends browser_1.Browser {
16
+ constructor(args = []) {
17
+ const driverManager = new driver_manager_1.DriverManager();
18
+ const options = driverManager.getChromeOptions(args);
19
+ const driver = driverManager.getChromeDriver(options);
20
+ super(driver);
21
+ }
22
+ }
23
+ exports.ChromeBrowser = ChromeBrowser;
24
+ //# sourceMappingURL=chrome-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome-browser.js","sourceRoot":"","sources":["../../src/selenium/chrome-browser.ts"],"names":[],"mappings":";;;AAAA,uCAAuD;AACvD,qDAAiD;AAEjD,yDAAmG;AAA1F,wGAAA,EAAE,OAAA;AAAqB,2GAAA,KAAK,OAAA;AAAE,gHAAA,UAAU,OAAA;AAAE,yHAAA,mBAAmB,OAAA;AAEtE;;;GAGG;AACH,MAAa,aAAc,SAAQ,iBAAO;IACtC,YAAa,OAAiB,EAAE;QAC5B,MAAM,aAAa,GAAG,IAAI,8BAAa,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAsB,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;CACJ;AAPD,sCAOC"}
@@ -4,10 +4,11 @@ import { Options as EdgeOptions } from "selenium-webdriver/edge";
4
4
  import { Options as FirefoxOptions } from "selenium-webdriver/firefox";
5
5
  import { Options as SafariOptions } from "selenium-webdriver/safari";
6
6
  export declare class DriverManager {
7
+ DEFAULT_CHROMIUM_OPTIONS: string[];
7
8
  getDriver(): ThenableWebDriver;
8
- getChromeOptions(): ChromeOptions;
9
+ getChromeOptions(args?: string[]): ChromeOptions;
9
10
  getChromeDriver(options?: ChromeOptions): ThenableWebDriver;
10
- getEdgeOptions(): EdgeOptions;
11
+ getEdgeOptions(args?: string[]): EdgeOptions;
11
12
  getEdgeDriver(options?: EdgeOptions): ThenableWebDriver;
12
13
  getFirefoxOptions(): FirefoxOptions;
13
14
  getFirefoxDriver(options?: FirefoxOptions): ThenableWebDriver;
@@ -9,6 +9,16 @@ const safari_1 = require("selenium-webdriver/safari");
9
9
  const browserstack_settings_1 = require("../settings/browserstack-settings");
10
10
  const settings_1 = require("../settings/settings");
11
11
  class DriverManager {
12
+ constructor() {
13
+ this.DEFAULT_CHROMIUM_OPTIONS = [
14
+ `--window-size=${settings_1.Settings.browserWidth},${settings_1.Settings.browserHeight}`,
15
+ '--force-device-scale-factor=1',
16
+ '--log-level=1',
17
+ '--disable-extensions',
18
+ '--disable-notifications',
19
+ '--ignore-certificate-errors'
20
+ ];
21
+ }
12
22
  getDriver() {
13
23
  switch (settings_1.Settings.browserName) {
14
24
  case selenium_webdriver_1.Browser.CHROME: {
@@ -28,9 +38,11 @@ class DriverManager {
28
38
  }
29
39
  }
30
40
  }
31
- getChromeOptions() {
41
+ getChromeOptions(args = this.DEFAULT_CHROMIUM_OPTIONS) {
32
42
  const options = new chrome_1.Options();
33
- options.addArguments(`--window-size=${settings_1.Settings.browserWidth},${settings_1.Settings.browserHeight}`);
43
+ args.forEach(argument => {
44
+ options.addArguments(argument);
45
+ });
34
46
  if (settings_1.Settings.headless) {
35
47
  options.headless();
36
48
  }
@@ -39,9 +51,11 @@ class DriverManager {
39
51
  getChromeDriver(options = this.getChromeOptions()) {
40
52
  return new selenium_webdriver_1.Builder().forBrowser(selenium_webdriver_1.Browser.CHROME).setChromeOptions(options).build();
41
53
  }
42
- getEdgeOptions() {
54
+ getEdgeOptions(args = this.DEFAULT_CHROMIUM_OPTIONS) {
43
55
  const options = new edge_1.Options();
44
- options.addArguments(`--window-size=${settings_1.Settings.browserWidth},${settings_1.Settings.browserHeight}`);
56
+ args.forEach(argument => {
57
+ options.addArguments(argument);
58
+ });
45
59
  if (settings_1.Settings.headless) {
46
60
  options.headless();
47
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"driver-manager.js","sourceRoot":"","sources":["../../src/selenium/driver-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver-manager.js","sourceRoot":"","sources":["../../src/selenium/driver-manager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './browser';
2
+ export * from './chrome-browser';
2
3
  export * from './conditions';
3
4
  export * from './driver-manager';
4
5
  export * from './electron-app';
@@ -11,6 +11,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./browser"), exports);
14
+ __exportStar(require("./chrome-browser"), exports);
14
15
  __exportStar(require("./conditions"), exports);
15
16
  __exportStar(require("./driver-manager"), exports);
16
17
  __exportStar(require("./electron-app"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/selenium/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,mDAAiC;AACjC,iDAA+B;AAC/B,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/selenium/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,mDAAiC;AACjC,+CAA6B;AAC7B,mDAAiC;AACjC,iDAA+B;AAC/B,4CAA0B"}
@@ -44,8 +44,16 @@ class WebApp {
44
44
  }
45
45
  click(locator, timeout = 10000) {
46
46
  return __awaiter(this, void 0, void 0, function* () {
47
- const element = yield this.find(locator, timeout);
48
- yield element.click();
47
+ try {
48
+ const element = yield this.find(locator, timeout);
49
+ yield element.click();
50
+ }
51
+ catch (_a) {
52
+ const element = yield this.find(locator, timeout);
53
+ yield this.wait(selenium_webdriver_1.until.elementIsVisible(element), timeout, `Element located by ${locator} is not visible.`);
54
+ yield this.wait(selenium_webdriver_1.until.elementIsEnabled(element), timeout, `Element located by ${locator} is not enabled.`);
55
+ yield element.click();
56
+ }
49
57
  });
50
58
  }
51
59
  hover(locator, timeout = 10000) {
@@ -1 +1 @@
1
- {"version":3,"file":"web-app.js","sourceRoot":"","sources":["../../src/selenium/web-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-app.js","sourceRoot":"","sources":["../../src/selenium/web-app.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": "0.11.0",
3
+ "version": "1.0.0",
4
4
  "description": "Kendo UI end-to-end test utilities.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -10,6 +10,7 @@
10
10
  "scripts": {
11
11
  "lint": "npx eslint src/**/*.ts tests/**/*.ts",
12
12
  "build": "npm run lint && npx tsc",
13
+ "test:a11y": "npx jest tests/a11y",
13
14
  "test:e2e": "npx jest tests/e2e",
14
15
  "test:visual": "npx jest tests/visual",
15
16
  "semantic-release": "semantic-release pre && semantic-prerelease publish --public && semantic-release post"
@@ -26,11 +27,11 @@
26
27
  "fallbackTags": {
27
28
  "dev": "latest"
28
29
  },
29
- "analyzeCommits": "@telerik/semantic-prerelease/analyzeCommits",
30
- "generateNotes": "@telerik/semantic-prerelease/generateNotes",
31
- "getLastRelease": "@telerik/semantic-prerelease/getLastRelease",
32
- "verifyConditions": "@telerik/semantic-prerelease/verifyConditions",
33
- "verifyRelease": "@telerik/semantic-prerelease/verifyRelease"
30
+ "analyzeCommits": "@progress/semantic-prerelease/analyzeCommits",
31
+ "generateNotes": "@progress/semantic-prerelease/generateNotes",
32
+ "getLastRelease": "@progress/semantic-prerelease/getLastRelease",
33
+ "verifyConditions": "@progress/semantic-prerelease/verifyConditions",
34
+ "verifyRelease": "@progress/semantic-prerelease/verifyRelease"
34
35
  },
35
36
  "keywords": [
36
37
  "a11y",
@@ -52,34 +53,36 @@
52
53
  },
53
54
  "homepage": "https://github.com/telerik/kendo-e2e#readme",
54
55
  "dependencies": {
55
- "@axe-core/webdriverjs": "4.3.1",
56
- "@types/selenium-webdriver": "4.1.1",
56
+ "@axe-core/webdriverjs": "4.4.3",
57
+ "@types/selenium-webdriver": "4.1.2",
57
58
  "js-beautify": "^1.13.13",
58
59
  "jsdom": "^16.6.0",
59
60
  "looks-same": "^7.3.0",
60
61
  "pngjs": "^6.0.0",
61
- "selenium-webdriver": "4.2.0"
62
+ "selenium-webdriver": "4.4.0"
62
63
  },
63
64
  "devDependencies": {
64
- "@commitlint/cli": "^12.1.4",
65
- "@commitlint/config-conventional": "^12.1.4",
66
- "@types/jest": "^27.0.0",
67
- "@progress/kendo-common-tasks": "^7.5.1",
68
- "@telerik/semantic-prerelease": "^1.3.3",
65
+ "@commitlint/cli": "^17.0.3",
66
+ "@commitlint/config-conventional": "^17.0.3",
67
+ "@progress/kendo-common-tasks": "^8.0.2",
68
+ "@progress/semantic-prerelease": "^3.0.2",
69
+ "@types/jest": "^28.1.6",
69
70
  "@types/node": "ts4.3",
70
- "@typescript-eslint/eslint-plugin": "^4.22.1",
71
- "@typescript-eslint/parser": "^4.22.1",
72
- "eslint": "^7.25.0",
73
- "geckodriver": "3.0.1",
74
- "husky": "^4.3.8",
75
- "jest": "^27.0.6",
76
- "jest-image-snapshot": "4.5.1",
77
- "jest-junit": "12.0.0",
78
- "jest-preset-typescript": "^1.2.0",
71
+ "@typescript-eslint/eslint-plugin": "^5.31.0",
72
+ "@typescript-eslint/parser": "^5.31.0",
73
+ "eslint": "^8.20.0",
74
+ "geckodriver": "3.0.2",
75
+ "husky": "^8.0.1",
76
+ "jest": "^28.1.3",
77
+ "jest-junit": "14.0.0",
79
78
  "semantic-release": "^6.3.6",
80
- "ts-jest": "^27.0.4",
81
- "ts-node": "^10.0.0",
79
+ "ts-jest": "^28.0.7",
80
+ "ts-node": "^10.9.1",
82
81
  "tslib": "^2.3.0",
83
82
  "typescript": "~4.3.4"
83
+ },
84
+ "engines": {
85
+ "npm": ">=6.0.0",
86
+ "node": ">=14.0.0"
84
87
  }
85
88
  }