@progress/kendo-e2e 0.13.0 → 1.1.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
  ```
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getWCTSpecViolations = void 0;
13
+ /* eslint-disable @typescript-eslint/ban-types */
13
14
  /* eslint-disable @typescript-eslint/no-explicit-any */
14
15
  const selenium_webdriver_1 = require("selenium-webdriver");
15
16
  /**
@@ -28,120 +29,144 @@ function getWCTSpecViolations(driver, spec, excludeErrors = []) {
28
29
  const skipped = [];
29
30
  const errors = [];
30
31
  const result = { passed, skipped, errors };
32
+ const RULES = 'rules';
33
+ const SELECTOR = 'selector';
34
+ const CHECKS = 'checks';
35
+ const ID = 'id';
36
+ const WHEN = 'when';
37
+ const ATTRIBUTE = 'attribute';
38
+ const VALUE = 'value';
39
+ const STRING = 'string';
40
+ const TABINDEX = 'tabindex';
41
+ const INPUT = 'INPUT';
42
+ const BUTTON = 'BUTTON';
43
+ const ANCHOR = 'A';
44
+ const ZERO = '0';
45
+ const COMMA = ',';
46
+ const EMPTY = ' ';
47
+ const ANIMATION_CONTAINER = '.k-animation-container';
48
+ const LIST = '.k-list-ul';
49
+ const LIST_ITEM = '.k-list-item';
50
+ const LIST_FILTER = '.k-list-filter';
51
+ const DISABLED = '.k-disabled';
52
+ const ELMENTS_MAP = {
53
+ buttongroup: '.k-button-group',
54
+ floatingactionbutton: '.k-fab',
55
+ pager: '.k-pager-wrap'
56
+ };
31
57
  for (const key of Object.keys(spec)) {
32
58
  const component = spec[key];
33
- const rules = component['rules'];
34
- const keySelector = `.k-${key}`;
59
+ const rules = component[RULES];
60
+ const keySelector = ELMENTS_MAP[key] || `.k-${key}`;
35
61
  if ((yield driver.findElements(selenium_webdriver_1.By.css(keySelector))).length > 0) {
36
62
  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);
63
+ const selector = rule[SELECTOR];
64
+ let arraySelector = selector.split(COMMA);
65
+ if (selector.indexOf(DISABLED) > -1) {
66
+ if (selector.indexOf(keySelector) === -1) {
67
+ arraySelector = arraySelector.map((s) => keySelector + s);
68
+ }
69
+ }
70
+ else if (selector !== keySelector &&
71
+ selector.indexOf(ANIMATION_CONTAINER) === -1 &&
72
+ selector.indexOf(LIST) === -1 &&
73
+ selector.indexOf(LIST_ITEM) === -1 &&
74
+ selector.indexOf(LIST_FILTER) === -1) {
75
+ arraySelector = arraySelector.map((s) => keySelector + EMPTY + s);
45
76
  }
46
- arraySelector.forEach((sel) => __awaiter(this, void 0, void 0, function* () {
77
+ for (const sel of arraySelector) {
47
78
  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
- });
79
+ const checks = rule[CHECKS];
55
80
  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];
81
+ const checkId = check[ID];
82
+ const conditionalCheck = check[WHEN];
83
+ const attribute = check[ATTRIBUTE];
84
+ let expectedValue = check[VALUE];
85
+ if (typeof expectedValue === STRING && expectedValue.includes(EMPTY)) {
86
+ const refElementSelector = expectedValue.split(EMPTY)[0];
87
+ const refElementAttribute = expectedValue.split(EMPTY)[1];
62
88
  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]);
89
+ expectedValue = yield Promise.all((yield driver.findElements(selenium_webdriver_1.By.css(refElementSelector))).map((el) => __awaiter(this, void 0, void 0, function* () {
90
+ return yield el.getAttribute(refElementAttribute);
91
+ })));
64
92
  }
65
93
  else {
66
- result.skipped.push(`[${checkId}]: Skip check for ${sel}, as no ${refElementSelector} was found.`);
94
+ skipped.push(`[${checkId}]: Skip check for ${sel}, as no ${refElementSelector} was found.`);
67
95
  continue;
68
96
  }
69
97
  }
70
98
  if (conditionalCheck !== undefined) {
71
- result.skipped.push(`[${checkId}]: Skip check for ${sel}, conditional checks not supported.`);
99
+ skipped.push(`[${checkId}]: Skip check for ${sel}, conditional checks not supported.`);
100
+ }
101
+ else if (excludeErrors.includes(checkId)) {
102
+ skipped.push(`[${checkId}]: Skip check for ${sel}, explicitly excluded.`);
72
103
  }
73
104
  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();
105
+ const elements = yield driver.findElements(selenium_webdriver_1.By.css(sel));
106
+ for (const el of elements) {
107
+ const pass = yield asyncSome(attribute, (attr) => __awaiter(this, void 0, void 0, function* () {
108
+ return yield iterateAttributeArray(driver, attr, expectedValue, el);
109
+ }));
110
+ if (pass) {
111
+ passed.push(`${sel} has ${attribute} attribute.`);
89
112
  }
90
113
  else {
91
- attributeValue = yield (yield driver.findElement(selenium_webdriver_1.By.css(sel))).getAttribute(attr);
114
+ errors.push(`[${checkId}]: ${sel} has no "${attribute}"`);
92
115
  }
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
116
  }
106
117
  }
107
118
  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}".`);
119
+ const elements = yield driver.findElements(selenium_webdriver_1.By.css(sel));
120
+ for (const el of elements) {
121
+ const attributeValue = yield el.getAttribute(attribute);
122
+ const elType = yield el.getTagName();
123
+ if (attribute === TABINDEX && expectedValue === ZERO) {
124
+ if ((elType === INPUT || elType === BUTTON || elType === ANCHOR) &&
125
+ (attributeValue === ZERO || attributeValue === null)) {
126
+ passed.push(`${sel} has ${attribute} attribute with ${expectedValue} value.`);
127
+ }
128
+ else if (attributeValue === expectedValue) {
129
+ passed.push(`${sel} has ${attribute} attribute with ${expectedValue} value.`);
130
+ }
131
+ else {
132
+ errors.push(`[${checkId}]: ${sel} does not have "${attribute}" attribute with "${expectedValue}" value.`);
133
+ }
128
134
  }
129
- }
130
- else {
131
- if (expectedValue === undefined && !attributeValue) {
132
- result.errors.push(`[${checkId}]: ${sel} does not have "${attribute}" attribute with value.`);
135
+ else if (attribute === TABINDEX && expectedValue === '-1') {
136
+ if (elType !== INPUT && elType !== BUTTON && elType !== ANCHOR && attributeValue === null) {
137
+ passed.push(`${sel} has ${attribute} attribute with ${expectedValue} value.`);
138
+ }
139
+ else if (attributeValue === expectedValue) {
140
+ passed.push(`${sel} has ${attribute} attribute with ${expectedValue} value.`);
141
+ }
142
+ else {
143
+ errors.push(`[${checkId}]: ${sel} does not have "${attribute}" attribute with "${expectedValue}" value.`);
144
+ }
133
145
  }
134
- else if (attributeValue !== expectedValue && expectedValue !== undefined) {
135
- result.errors.push(`[${checkId}]: ${sel} does not have "${attribute}" attribute with "${expectedValue}" value.`);
146
+ else if (Array.isArray(expectedValue)) {
147
+ if (expectedValue.includes(attributeValue)) {
148
+ passed.push(`${sel} has ${attribute} attribute with ${expectedValue} value.`);
149
+ }
150
+ else {
151
+ errors.push(`[${checkId}]: ${sel} has "${attribute}" which does not contain any of "${expectedValue}".`);
152
+ }
136
153
  }
137
154
  else {
138
- result.passed.push(`[${checkId}]: ${sel} has ${attribute} attribute with ${expectedValue} value.`);
155
+ if (expectedValue === undefined && !attributeValue) {
156
+ errors.push(`[${checkId}]: ${sel} does not have "${attribute}" attribute with value.`);
157
+ }
158
+ else if (attributeValue !== expectedValue && expectedValue !== undefined) {
159
+ errors.push(`[${checkId}]: ${sel} does not have "${attribute}" attribute with "${expectedValue}" value.`);
160
+ }
161
+ else {
162
+ passed.push(`${sel} has ${attribute} attribute with ${expectedValue} value.`);
163
+ }
139
164
  }
140
165
  }
141
166
  }
142
167
  }
143
168
  }
144
- }));
169
+ }
145
170
  }
146
171
  }
147
172
  }
@@ -152,4 +177,46 @@ function getWCTSpecViolations(driver, spec, excludeErrors = []) {
152
177
  });
153
178
  }
154
179
  exports.getWCTSpecViolations = getWCTSpecViolations;
180
+ function asyncSome(arr, predicate) {
181
+ return __awaiter(this, void 0, void 0, function* () {
182
+ for (const e of arr) {
183
+ if (yield predicate(e)) {
184
+ return true;
185
+ }
186
+ }
187
+ return false;
188
+ });
189
+ }
190
+ function iterateAttributeArray(driver, attr, expectedValue, el) {
191
+ return __awaiter(this, void 0, void 0, function* () {
192
+ const ID = 'id';
193
+ const LABEL_FOR = 'label for';
194
+ const EQUALS = '=';
195
+ let attributeValue;
196
+ if (attr.indexOf(EQUALS) > -1) {
197
+ expectedValue = attr.split(EQUALS)[1];
198
+ attr = attr.split(EQUALS)[0];
199
+ }
200
+ if (attr === LABEL_FOR) {
201
+ attributeValue = yield el.getAttribute(ID);
202
+ if (attributeValue) {
203
+ if ((yield driver.findElements(selenium_webdriver_1.By.css('label[for=' + attributeValue + ']'))).length > 0) {
204
+ return true;
205
+ }
206
+ }
207
+ }
208
+ else if (attr === 'nodeName') {
209
+ attributeValue = (yield el.getTagName()).toLowerCase();
210
+ }
211
+ else {
212
+ attributeValue = yield el.getAttribute(attr);
213
+ }
214
+ if (expectedValue) {
215
+ return attributeValue === expectedValue;
216
+ }
217
+ else {
218
+ return attributeValue !== null;
219
+ }
220
+ });
221
+ }
155
222
  //# sourceMappingURL=a11y-wct-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"a11y-wct-spec.js","sourceRoot":"","sources":["../../src/a11y/a11y-wct-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"a11y-wct-spec.js","sourceRoot":"","sources":["../../src/a11y/a11y-wct-spec.ts"],"names":[],"mappings":"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"}
@@ -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);
@@ -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.13.0",
3
+ "version": "1.1.0",
4
4
  "description": "Kendo UI end-to-end test utilities.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -27,11 +27,11 @@
27
27
  "fallbackTags": {
28
28
  "dev": "latest"
29
29
  },
30
- "analyzeCommits": "@telerik/semantic-prerelease/analyzeCommits",
31
- "generateNotes": "@telerik/semantic-prerelease/generateNotes",
32
- "getLastRelease": "@telerik/semantic-prerelease/getLastRelease",
33
- "verifyConditions": "@telerik/semantic-prerelease/verifyConditions",
34
- "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"
35
35
  },
36
36
  "keywords": [
37
37
  "a11y",
@@ -59,13 +59,13 @@
59
59
  "jsdom": "^16.6.0",
60
60
  "looks-same": "^7.3.0",
61
61
  "pngjs": "^6.0.0",
62
- "selenium-webdriver": "4.3.1"
62
+ "selenium-webdriver": "4.4.0"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@commitlint/cli": "^17.0.3",
66
66
  "@commitlint/config-conventional": "^17.0.3",
67
67
  "@progress/kendo-common-tasks": "^8.0.2",
68
- "@telerik/semantic-prerelease": "^2.0.1",
68
+ "@progress/semantic-prerelease": "^3.0.2",
69
69
  "@types/jest": "^28.1.6",
70
70
  "@types/node": "ts4.3",
71
71
  "@typescript-eslint/eslint-plugin": "^5.31.0",
@@ -80,5 +80,9 @@
80
80
  "ts-node": "^10.9.1",
81
81
  "tslib": "^2.3.0",
82
82
  "typescript": "~4.3.4"
83
+ },
84
+ "engines": {
85
+ "npm": ">=6.0.0",
86
+ "node": ">=14.0.0"
83
87
  }
84
88
  }