@progress/kendo-e2e 0.9.0 → 0.11.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.
@@ -7,7 +7,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
7
7
  o[k2] = m[k];
8
8
  }));
9
9
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./enums"), exports);
package/dist/index.js CHANGED
@@ -7,9 +7,10 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
7
7
  o[k2] = m[k];
8
8
  }));
9
9
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.WebElement = exports.until = exports.Key = exports.By = void 0;
13
14
  var selenium_webdriver_1 = require("selenium-webdriver");
14
15
  Object.defineProperty(exports, "By", { enumerable: true, get: function () { return selenium_webdriver_1.By; } });
15
16
  Object.defineProperty(exports, "Key", { enumerable: true, get: function () { return selenium_webdriver_1.Key; } });
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,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,kEAAgD"}
@@ -1,37 +1,18 @@
1
- import { By, ThenableWebDriver, WebElement, WebElementCondition } from "selenium-webdriver";
2
- import { WaitCondition } from "./conditions";
1
+ import { ThenableWebDriver } from "selenium-webdriver";
2
+ import { WebApp } from "./web-app";
3
3
  export { By, ThenableWebDriver, until, WebElement, WebElementCondition } from "selenium-webdriver";
4
- export declare class Browser {
5
- driver: ThenableWebDriver;
6
- constructor();
4
+ /**
5
+ * Extends the {@link WebApp} with browser based capabilities.
6
+ * Essentially, we test browsers (that have nice things like {@link navigateTo}, {@link refresh} etc.),
7
+ * and electron apps, that render within a webview (but have no shell with address bar, refresh button, tabs, etc),
8
+ * and VSCode extensions... which is an electron app.
9
+ */
10
+ export declare class Browser extends WebApp {
11
+ constructor(driver?: ThenableWebDriver);
7
12
  close(): Promise<void>;
8
13
  navigateTo(url: string): Promise<void>;
9
14
  refresh(): Promise<void>;
10
15
  getCurrentUrl(): Promise<string>;
11
- find(locator: By, timeout?: number): Promise<WebElement>;
12
- findAll(locator: By): Promise<WebElement[]>;
13
- findChild(rootElement: WebElement, locator: By, timeout?: number): Promise<WebElement>;
14
- click(locator: By, timeout?: number): Promise<void>;
15
- hover(locator: By, timeout?: number): Promise<void>;
16
- contextClick(locator: By, timeout?: number): Promise<void>;
17
- dragTo(source: WebElement, target: WebElement): Promise<void>;
18
- dragByOffset(source: WebElement, offsetX: number, offsetY: number): Promise<void>;
19
- type(element: WebElement, text: string, clear?: boolean): Promise<void>;
20
- sendKey(key: string): Promise<void>;
21
- sendKeyCombination(key1: string, key2: string): Promise<void>;
22
- isVisible(locator: By, timeout?: number): Promise<boolean>;
23
- isNotVisible(locator: By, timeout?: number): Promise<boolean>;
24
- isInViewport(locator: By, timeout?: number): Promise<boolean>;
25
- isNotInViewport(locator: By, timeout?: number): Promise<boolean>;
26
- hasFocus(element: WebElement): Promise<boolean>;
27
- hasText(element: WebElement, text: string): Promise<boolean>;
28
- hasValue(element: WebElement, value: string): Promise<boolean>;
29
- hasAttribute(element: WebElement, attribute: string, value: string): Promise<boolean>;
30
- hasClass(element: WebElement, value: string): Promise<boolean>;
31
- wait(condition: WebElementCondition | WaitCondition, timeout?: number, message?: any): Promise<void>;
32
- waitSafely(condition: WebElementCondition | WaitCondition, timeout?: number): Promise<boolean>;
33
- sleep(milliseconds: number): Promise<void>;
34
- getScreenshot(): Promise<string>;
35
16
  getAccessibilityViolations(cssSelector?: string, disableRules?: string[]): Promise<[]>;
36
17
  getBrowserName(): Promise<string>;
37
18
  getErrorLogs(excludeList?: string[]): Promise<string[]>;
@@ -12,20 +12,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.Browser = void 0;
15
+ exports.Browser = exports.WebElementCondition = exports.WebElement = exports.until = exports.By = void 0;
16
16
  const webdriverjs_1 = __importDefault(require("@axe-core/webdriverjs"));
17
17
  const selenium_webdriver_1 = require("selenium-webdriver");
18
18
  const logging_1 = require("selenium-webdriver/lib/logging");
19
- const conditions_1 = require("./conditions");
20
19
  const driver_manager_1 = require("./driver-manager");
20
+ const web_app_1 = require("./web-app");
21
21
  var selenium_webdriver_2 = require("selenium-webdriver");
22
22
  Object.defineProperty(exports, "By", { enumerable: true, get: function () { return selenium_webdriver_2.By; } });
23
23
  Object.defineProperty(exports, "until", { enumerable: true, get: function () { return selenium_webdriver_2.until; } });
24
24
  Object.defineProperty(exports, "WebElement", { enumerable: true, get: function () { return selenium_webdriver_2.WebElement; } });
25
25
  Object.defineProperty(exports, "WebElementCondition", { enumerable: true, get: function () { return selenium_webdriver_2.WebElementCondition; } });
26
- class Browser {
27
- constructor() {
28
- this.driver = new driver_manager_1.DriverManager().getDriver();
26
+ /**
27
+ * Extends the {@link WebApp} with browser based capabilities.
28
+ * Essentially, we test browsers (that have nice things like {@link navigateTo}, {@link refresh} etc.),
29
+ * and electron apps, that render within a webview (but have no shell with address bar, refresh button, tabs, etc),
30
+ * and VSCode extensions... which is an electron app.
31
+ */
32
+ class Browser extends web_app_1.WebApp {
33
+ constructor(driver = new driver_manager_1.DriverManager().getDriver()) {
34
+ super(driver);
29
35
  }
30
36
  close() {
31
37
  return __awaiter(this, void 0, void 0, function* () {
@@ -47,150 +53,6 @@ class Browser {
47
53
  return yield this.driver.getCurrentUrl();
48
54
  });
49
55
  }
50
- find(locator, timeout = 10000) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const element = yield this.driver.wait(selenium_webdriver_1.until.elementLocated(locator), timeout, `Failed to find element located by ${locator}.`);
53
- // Hack to handle Safari
54
- const capabilities = yield this.driver.getCapabilities();
55
- const browserName = capabilities.getBrowserName().toLowerCase();
56
- if (browserName === "safari") {
57
- yield this.wait(() => __awaiter(this, void 0, void 0, function* () { return (yield element.getRect()) !== undefined; }));
58
- }
59
- return element;
60
- });
61
- }
62
- findAll(locator) {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- return yield this.driver.findElements(locator);
65
- });
66
- }
67
- findChild(rootElement, locator, timeout = 10000) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- yield this.wait(conditions_1.EC.hasChild(rootElement, locator), timeout, `Failed to find child element located by ${locator}.`);
70
- return rootElement.findElement(locator);
71
- });
72
- }
73
- click(locator, timeout = 10000) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- const element = yield this.find(locator, timeout);
76
- yield element.click();
77
- });
78
- }
79
- hover(locator, timeout = 10000) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- const element = yield this.find(locator, timeout);
82
- const actions = this.driver.actions({ async: true });
83
- yield actions.move({ origin: element }).perform();
84
- });
85
- }
86
- contextClick(locator, timeout = 10000) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- const element = yield this.find(locator, timeout);
89
- const actions = this.driver.actions({ async: true });
90
- yield actions.contextClick(element).perform();
91
- });
92
- }
93
- dragTo(source, target) {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- const actions = this.driver.actions({ async: true });
96
- yield actions.dragAndDrop(source, target).perform();
97
- });
98
- }
99
- dragByOffset(source, offsetX, offsetY) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- const actions = this.driver.actions({ async: true });
102
- yield actions.dragAndDrop(source, { x: offsetX, y: offsetY }).perform();
103
- });
104
- }
105
- type(element, text, clear = true) {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- if (clear) {
108
- yield element.clear();
109
- }
110
- yield element.sendKeys(text);
111
- });
112
- }
113
- sendKey(key) {
114
- return __awaiter(this, void 0, void 0, function* () {
115
- yield this.driver.actions().sendKeys(key).perform();
116
- });
117
- }
118
- sendKeyCombination(key1, key2) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- yield this.driver.actions().keyDown(key1).keyDown(key2).keyUp(key2).keyUp(key1).perform();
121
- });
122
- }
123
- isVisible(locator, timeout = 10000) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- return yield this.waitSafely(conditions_1.EC.isVisible(locator), timeout);
126
- });
127
- }
128
- isNotVisible(locator, timeout = 10000) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- return yield this.waitSafely(conditions_1.EC.notVisible(locator), timeout);
131
- });
132
- }
133
- isInViewport(locator, timeout = 10000) {
134
- return __awaiter(this, void 0, void 0, function* () {
135
- return yield this.waitSafely(conditions_1.EC.isInViewport(locator), timeout);
136
- });
137
- }
138
- isNotInViewport(locator, timeout = 10000) {
139
- return __awaiter(this, void 0, void 0, function* () {
140
- return yield this.waitSafely(conditions_1.EC.notInViewport(locator), timeout);
141
- });
142
- }
143
- hasFocus(element) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- return yield this.waitSafely(conditions_1.EC.hasFocus(element));
146
- });
147
- }
148
- hasText(element, text) {
149
- return __awaiter(this, void 0, void 0, function* () {
150
- return yield this.waitSafely(conditions_1.EC.hasText(element, text));
151
- });
152
- }
153
- hasValue(element, value) {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- return yield this.waitSafely(conditions_1.EC.hasValue(element, value));
156
- });
157
- }
158
- hasAttribute(element, attribute, value) {
159
- return __awaiter(this, void 0, void 0, function* () {
160
- return yield this.waitSafely(conditions_1.EC.hasAttribute(element, attribute, value));
161
- });
162
- }
163
- hasClass(element, value) {
164
- return __awaiter(this, void 0, void 0, function* () {
165
- return yield this.waitSafely(conditions_1.EC.hasClass(element, value));
166
- });
167
- }
168
- wait(condition, timeout = 10000, message = undefined) {
169
- return __awaiter(this, void 0, void 0, function* () {
170
- yield this.driver.wait(condition, timeout, message);
171
- });
172
- }
173
- waitSafely(condition, timeout = 10000) {
174
- return __awaiter(this, void 0, void 0, function* () {
175
- try {
176
- yield this.driver.wait(condition, timeout);
177
- return true;
178
- }
179
- catch (error) {
180
- return false;
181
- }
182
- });
183
- }
184
- sleep(milliseconds) {
185
- return __awaiter(this, void 0, void 0, function* () {
186
- yield this.driver.sleep(milliseconds);
187
- });
188
- }
189
- getScreenshot() {
190
- return __awaiter(this, void 0, void 0, function* () {
191
- return yield this.driver.takeScreenshot();
192
- });
193
- }
194
56
  getAccessibilityViolations(cssSelector = "html", disableRules = ["color-contrast"]) {
195
57
  return __awaiter(this, void 0, void 0, function* () {
196
58
  yield this.find(selenium_webdriver_1.By.css(cssSelector));
@@ -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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"}
@@ -1,9 +1,17 @@
1
1
  import { ThenableWebDriver } from "selenium-webdriver";
2
+ import { Options as ChromeOptions } from "selenium-webdriver/chrome";
3
+ import { Options as EdgeOptions } from "selenium-webdriver/edge";
4
+ import { Options as FirefoxOptions } from "selenium-webdriver/firefox";
5
+ import { Options as SafariOptions } from "selenium-webdriver/safari";
2
6
  export declare class DriverManager {
3
7
  getDriver(): ThenableWebDriver;
4
- private getChromeDriver;
5
- private getEdgeDriver;
6
- private getFirefoxDriver;
7
- private getSafariDriver;
8
- private getBrowserStackDriver;
8
+ getChromeOptions(): ChromeOptions;
9
+ getChromeDriver(options?: ChromeOptions): ThenableWebDriver;
10
+ getEdgeOptions(): EdgeOptions;
11
+ getEdgeDriver(options?: EdgeOptions): ThenableWebDriver;
12
+ getFirefoxOptions(): FirefoxOptions;
13
+ getFirefoxDriver(options?: FirefoxOptions): ThenableWebDriver;
14
+ getSafariOptions(): SafariOptions;
15
+ getSafariDriver(options?: SafariOptions): ThenableWebDriver;
16
+ getBrowserStackDriver(): ThenableWebDriver;
9
17
  }
@@ -28,25 +28,29 @@ class DriverManager {
28
28
  }
29
29
  }
30
30
  }
31
- getChromeDriver() {
31
+ getChromeOptions() {
32
32
  const options = new chrome_1.Options();
33
33
  options.addArguments(`--window-size=${settings_1.Settings.browserWidth},${settings_1.Settings.browserHeight}`);
34
34
  if (settings_1.Settings.headless) {
35
35
  options.headless();
36
36
  }
37
+ return options;
38
+ }
39
+ getChromeDriver(options = this.getChromeOptions()) {
37
40
  return new selenium_webdriver_1.Builder().forBrowser(selenium_webdriver_1.Browser.CHROME).setChromeOptions(options).build();
38
41
  }
39
- getEdgeDriver() {
42
+ getEdgeOptions() {
40
43
  const options = new edge_1.Options();
41
44
  options.addArguments(`--window-size=${settings_1.Settings.browserWidth},${settings_1.Settings.browserHeight}`);
42
45
  if (settings_1.Settings.headless) {
43
46
  options.headless();
44
47
  }
48
+ return options;
49
+ }
50
+ getEdgeDriver(options = this.getEdgeOptions()) {
45
51
  return new selenium_webdriver_1.Builder().forBrowser(selenium_webdriver_1.Browser.EDGE).setEdgeOptions(options).build();
46
52
  }
47
- getFirefoxDriver() {
48
- const prefs = new selenium_webdriver_1.logging.Preferences();
49
- prefs.setLevel(selenium_webdriver_1.logging.Type.BROWSER, selenium_webdriver_1.logging.Level.ALL);
53
+ getFirefoxOptions() {
50
54
  const options = new firefox_1.Options();
51
55
  options.addArguments(`--width=${settings_1.Settings.browserWidth}`);
52
56
  options.addArguments(`--height=${settings_1.Settings.browserHeight}`);
@@ -54,6 +58,11 @@ class DriverManager {
54
58
  if (settings_1.Settings.headless) {
55
59
  options.headless();
56
60
  }
61
+ return options;
62
+ }
63
+ getFirefoxDriver(options = this.getFirefoxOptions()) {
64
+ const prefs = new selenium_webdriver_1.logging.Preferences();
65
+ prefs.setLevel(selenium_webdriver_1.logging.Type.BROWSER, selenium_webdriver_1.logging.Level.ALL);
57
66
  const service = new firefox_1.ServiceBuilder().setStdio("inherit");
58
67
  return new selenium_webdriver_1.Builder()
59
68
  .forBrowser(selenium_webdriver_1.Browser.FIREFOX)
@@ -62,8 +71,11 @@ class DriverManager {
62
71
  .setFirefoxService(service)
63
72
  .build();
64
73
  }
65
- getSafariDriver() {
74
+ getSafariOptions() {
66
75
  const options = new safari_1.Options();
76
+ return options;
77
+ }
78
+ getSafariDriver(options = this.getSafariOptions()) {
67
79
  const driver = new selenium_webdriver_1.Builder().forBrowser(selenium_webdriver_1.Browser.SAFARI).setSafariOptions(options).build();
68
80
  const size = { width: settings_1.Settings.browserWidth, height: settings_1.Settings.browserHeight, x: 0, y: 0 };
69
81
  driver.manage().window().setRect(size);
@@ -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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"}
@@ -0,0 +1,7 @@
1
+ import { WebApp } from "./web-app";
2
+ /**
3
+ * Our VSCode tests would extend the {@link ElectronApp} class.
4
+ * Functionality common for electron apps, but not available for browsers, goes here.
5
+ */
6
+ export declare class ElectronApp extends WebApp {
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ElectronApp = void 0;
4
+ const web_app_1 = require("./web-app");
5
+ /**
6
+ * Our VSCode tests would extend the {@link ElectronApp} class.
7
+ * Functionality common for electron apps, but not available for browsers, goes here.
8
+ */
9
+ class ElectronApp extends web_app_1.WebApp {
10
+ }
11
+ exports.ElectronApp = ElectronApp;
12
+ //# sourceMappingURL=electron-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-app.js","sourceRoot":"","sources":["../../src/selenium/electron-app.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AAEnC;;;GAGG;AACH,MAAa,WAAY,SAAQ,gBAAM;CACtC;AADD,kCACC"}
@@ -1,3 +1,5 @@
1
1
  export * from './browser';
2
2
  export * from './conditions';
3
3
  export * from './driver-manager';
4
+ export * from './electron-app';
5
+ export * from './web-app';
@@ -7,10 +7,12 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
7
7
  o[k2] = m[k];
8
8
  }));
9
9
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./browser"), exports);
14
14
  __exportStar(require("./conditions"), exports);
15
15
  __exportStar(require("./driver-manager"), exports);
16
+ __exportStar(require("./electron-app"), exports);
17
+ __exportStar(require("./web-app"), exports);
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/selenium/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,mDAAiC"}
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"}
@@ -0,0 +1,35 @@
1
+ import { By, ThenableWebDriver, WebElement, WebElementCondition } from "selenium-webdriver";
2
+ import { WaitCondition } from "./conditions";
3
+ /**
4
+ * This class encapsulates common location and interaction functionality over a {@link ThenableWebDriver}.
5
+ */
6
+ export declare class WebApp {
7
+ driver: ThenableWebDriver;
8
+ constructor(driver: ThenableWebDriver);
9
+ find(locator: By, timeout?: number): Promise<WebElement>;
10
+ findAll(locator: By): Promise<WebElement[]>;
11
+ findChild(rootElement: WebElement, locator: By, timeout?: number): Promise<WebElement>;
12
+ click(locator: By, timeout?: number): Promise<void>;
13
+ hover(locator: By, timeout?: number): Promise<void>;
14
+ contextClick(locator: By, timeout?: number): Promise<void>;
15
+ dragTo(source: WebElement, target: WebElement): Promise<void>;
16
+ dragByOffset(source: WebElement, offsetX: number, offsetY: number): Promise<void>;
17
+ type(element: WebElement, text: string, clear?: boolean): Promise<void>;
18
+ sendKey(key: string): Promise<void>;
19
+ sendKeyCombination(key1: string, key2: string): Promise<void>;
20
+ isVisible(locator: By, timeout?: number): Promise<boolean>;
21
+ isNotVisible(locator: By, timeout?: number): Promise<boolean>;
22
+ isInViewport(locator: By, timeout?: number): Promise<boolean>;
23
+ isNotInViewport(locator: By, timeout?: number): Promise<boolean>;
24
+ hasFocus(element: WebElement): Promise<boolean>;
25
+ hasText(element: WebElement, text: string): Promise<boolean>;
26
+ hasValue(element: WebElement, value: string): Promise<boolean>;
27
+ hasAttribute(element: WebElement, attribute: string, value: string): Promise<boolean>;
28
+ hasClass(element: WebElement, value: string): Promise<boolean>;
29
+ wait(condition: WebElementCondition | WaitCondition, timeout?: number, message?: any): Promise<void>;
30
+ waitSafely(condition: WebElementCondition | WaitCondition, timeout?: number): Promise<boolean>;
31
+ sleep(milliseconds: number): Promise<void>;
32
+ getScreenshot(): Promise<string>;
33
+ scrollIntoView(locator: By, timeout?: number): Promise<void>;
34
+ scrollAndClick(locator: By, timeout?: number): Promise<void>;
35
+ }
@@ -0,0 +1,181 @@
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.WebApp = void 0;
13
+ const selenium_webdriver_1 = require("selenium-webdriver");
14
+ const conditions_1 = require("./conditions");
15
+ /**
16
+ * This class encapsulates common location and interaction functionality over a {@link ThenableWebDriver}.
17
+ */
18
+ class WebApp {
19
+ constructor(driver) {
20
+ this.driver = driver;
21
+ }
22
+ find(locator, timeout = 10000) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ const element = yield this.driver.wait(selenium_webdriver_1.until.elementLocated(locator), timeout, `Failed to find element located by ${locator}.`);
25
+ // Hack to handle Safari
26
+ const capabilities = yield this.driver.getCapabilities();
27
+ const browserName = capabilities.getBrowserName().toLowerCase();
28
+ if (browserName === "safari") {
29
+ yield this.wait(() => __awaiter(this, void 0, void 0, function* () { return (yield element.getRect()) !== undefined; }));
30
+ }
31
+ return element;
32
+ });
33
+ }
34
+ findAll(locator) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ return yield this.driver.findElements(locator);
37
+ });
38
+ }
39
+ findChild(rootElement, locator, timeout = 10000) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ yield this.wait(conditions_1.EC.hasChild(rootElement, locator), timeout, `Failed to find child element located by ${locator}.`);
42
+ return rootElement.findElement(locator);
43
+ });
44
+ }
45
+ click(locator, timeout = 10000) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const element = yield this.find(locator, timeout);
48
+ yield element.click();
49
+ });
50
+ }
51
+ hover(locator, timeout = 10000) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ const element = yield this.find(locator, timeout);
54
+ const actions = this.driver.actions({ async: true });
55
+ yield actions.move({ origin: element }).perform();
56
+ });
57
+ }
58
+ contextClick(locator, timeout = 10000) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const element = yield this.find(locator, timeout);
61
+ const actions = this.driver.actions({ async: true });
62
+ yield actions.contextClick(element).perform();
63
+ });
64
+ }
65
+ dragTo(source, target) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const actions = this.driver.actions({ async: true });
68
+ yield actions.dragAndDrop(source, target).perform();
69
+ });
70
+ }
71
+ dragByOffset(source, offsetX, offsetY) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ const actions = this.driver.actions({ async: true });
74
+ yield actions.dragAndDrop(source, { x: offsetX, y: offsetY }).perform();
75
+ });
76
+ }
77
+ type(element, text, clear = true) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ if (clear) {
80
+ yield element.clear();
81
+ }
82
+ yield element.sendKeys(text);
83
+ });
84
+ }
85
+ sendKey(key) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ yield this.driver.actions().sendKeys(key).perform();
88
+ });
89
+ }
90
+ sendKeyCombination(key1, key2) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ yield this.driver.actions().keyDown(key1).keyDown(key2).keyUp(key2).keyUp(key1).perform();
93
+ });
94
+ }
95
+ isVisible(locator, timeout = 10000) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ return yield this.waitSafely(conditions_1.EC.isVisible(locator), timeout);
98
+ });
99
+ }
100
+ isNotVisible(locator, timeout = 10000) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ return yield this.waitSafely(conditions_1.EC.notVisible(locator), timeout);
103
+ });
104
+ }
105
+ isInViewport(locator, timeout = 10000) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ return yield this.waitSafely(conditions_1.EC.isInViewport(locator), timeout);
108
+ });
109
+ }
110
+ isNotInViewport(locator, timeout = 10000) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ return yield this.waitSafely(conditions_1.EC.notInViewport(locator), timeout);
113
+ });
114
+ }
115
+ hasFocus(element) {
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ return yield this.waitSafely(conditions_1.EC.hasFocus(element));
118
+ });
119
+ }
120
+ hasText(element, text) {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ return yield this.waitSafely(conditions_1.EC.hasText(element, text));
123
+ });
124
+ }
125
+ hasValue(element, value) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ return yield this.waitSafely(conditions_1.EC.hasValue(element, value));
128
+ });
129
+ }
130
+ hasAttribute(element, attribute, value) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ return yield this.waitSafely(conditions_1.EC.hasAttribute(element, attribute, value));
133
+ });
134
+ }
135
+ hasClass(element, value) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ return yield this.waitSafely(conditions_1.EC.hasClass(element, value));
138
+ });
139
+ }
140
+ wait(condition, timeout = 10000, message = undefined) {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ yield this.driver.wait(condition, timeout, message);
143
+ });
144
+ }
145
+ waitSafely(condition, timeout = 10000) {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ try {
148
+ yield this.driver.wait(condition, timeout);
149
+ return true;
150
+ }
151
+ catch (error) {
152
+ return false;
153
+ }
154
+ });
155
+ }
156
+ sleep(milliseconds) {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ yield this.driver.sleep(milliseconds);
159
+ });
160
+ }
161
+ getScreenshot() {
162
+ return __awaiter(this, void 0, void 0, function* () {
163
+ return yield this.driver.takeScreenshot();
164
+ });
165
+ }
166
+ scrollIntoView(locator, timeout = 10000) {
167
+ return __awaiter(this, void 0, void 0, function* () {
168
+ const element = yield this.find(locator, timeout);
169
+ yield this.driver.executeScript("arguments[0].scrollIntoView({ behavior: 'auto', block: 'center', inline: 'nearest' });", element);
170
+ });
171
+ }
172
+ scrollAndClick(locator, timeout = 10000) {
173
+ return __awaiter(this, void 0, void 0, function* () {
174
+ const element = yield this.find(locator, timeout);
175
+ yield this.driver.executeScript("arguments[0].scrollIntoView({ behavior: 'auto', block: 'center', inline: 'nearest' });", element);
176
+ yield element.click();
177
+ });
178
+ }
179
+ }
180
+ exports.WebApp = WebApp;
181
+ //# sourceMappingURL=web-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-app.js","sourceRoot":"","sources":["../../src/selenium/web-app.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
7
7
  o[k2] = m[k];
8
8
  }));
9
9
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./browserstack-settings"), exports);
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.snapshotImage = void 0;
3
4
  var snapshot_image_1 = require("./snapshot-image");
4
5
  Object.defineProperty(exports, "snapshotImage", { enumerable: true, get: function () { return snapshot_image_1.snapshotImage; } });
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/snapshot-image/index.ts"],"names":[],"mappings":";;AAAA,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/snapshot-image/index.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}
@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
14
14
  var __importStar = (this && this.__importStar) || function (mod) {
15
15
  if (mod && mod.__esModule) return mod;
16
16
  var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
18
  __setModuleDefault(result, mod);
19
19
  return result;
20
20
  };
@@ -67,7 +67,16 @@ const defaults = {
67
67
  function snapshotImage(driver, selector, outputPath, options) {
68
68
  return __awaiter(this, void 0, void 0, function* () {
69
69
  const { hideSelectors, offsetY, sleep, tolerance } = Object.assign(Object.assign({}, defaults), options);
70
- const element = yield driver.findElement(selenium_webdriver_1.By.css(selector));
70
+ const waitCondition = (driver) => __awaiter(this, void 0, void 0, function* () {
71
+ try {
72
+ const element = yield driver.findElement(selenium_webdriver_1.By.css(selector));
73
+ return yield element.isDisplayed();
74
+ }
75
+ catch (_a) {
76
+ return false;
77
+ }
78
+ });
79
+ yield driver.wait(waitCondition, 10000, `Failed to find element located by ${selector}.`);
71
80
  const snapshotResult = { same: false };
72
81
  try {
73
82
  yield driver.executeScript(scripts_1.hideElements, hideSelectors);
@@ -75,9 +84,6 @@ function snapshotImage(driver, selector, outputPath, options) {
75
84
  if (sleep > 0) {
76
85
  yield driver.sleep(sleep);
77
86
  }
78
- else {
79
- yield driver.wait(selenium_webdriver_1.until.elementIsVisible(element));
80
- }
81
87
  const data = yield driver.takeScreenshot();
82
88
  const image = Buffer.from(data, 'base64');
83
89
  const cropped = crop_1.crop(image, viewport);
@@ -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,2DAA+C;AAC/C,+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;AAatD,MAAM,QAAQ,GAAyB;IACnC,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,SAAsB,aAAa,CAAC,MAAW,EAAE,QAAgB,EAAE,UAAkB,EAAE,OAA8B;;QACjH,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,mCAAQ,QAAQ,GAAK,OAAO,CAAE,CAAC;QACjF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,uBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAwB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC5D,IAAI;YACA,MAAM,MAAM,CAAC,aAAa,CAAC,sBAAY,EAAE,aAAa,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,qBAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5E,IAAI,KAAK,GAAG,CAAC,EAAE;gBACX,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7B;iBAAM;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,0BAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;aACtD;YAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,WAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAEtC,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC1B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7F,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;gBACpB,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;aAC9B;YAED,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;aACxC;SACJ;gBAAS;YACN,MAAM,MAAM,CAAC,aAAa,CAAC,yBAAe,EAAE,aAAa,CAAC,CAAC;SAC9D;QACD,OAAO,cAAc,CAAC;IAC1B,CAAC;CAAA;AA/BD,sCA+BC"}
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;AAatD,MAAM,QAAQ,GAAyB;IACnC,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,SAAsB,aAAa,CAAC,MAAW,EAAE,QAAgB,EAAE,UAAkB,EAAE,OAA8B;;QACjH,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,mCAAQ,QAAQ,GAAK,OAAO,CAAE,CAAC;QAEjF,MAAM,aAAa,GAAG,CAAO,MAAiB,EAAE,EAAE;YAC9C,IAAI;gBACA,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,uBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3D,OAAO,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;aACtC;YAAC,WAAM;gBACJ,OAAO,KAAK,CAAC;aAChB;QACL,CAAC,CAAA,CAAC;QAEF,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,qCAAqC,QAAQ,GAAG,CAAC,CAAC;QAC1F,MAAM,cAAc,GAAwB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC5D,IAAI;YACA,MAAM,MAAM,CAAC,aAAa,CAAC,sBAAY,EAAE,aAAa,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,qBAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5E,IAAI,KAAK,GAAG,CAAC,EAAE;gBACX,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7B;YAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,WAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAEtC,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC1B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7F,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;gBACpB,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;aAC9B;YAED,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;aACxC;SACJ;gBAAS;YACN,MAAM,MAAM,CAAC,aAAa,CAAC,yBAAe,EAAE,aAAa,CAAC,CAAC;SAC9D;QACD,OAAO,cAAc,CAAC;IAC1B,CAAC;CAAA;AAvCD,sCAuCC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.snapshotMarkup = void 0;
3
4
  var snapshot_markup_1 = require("./snapshot-markup");
4
5
  Object.defineProperty(exports, "snapshotMarkup", { enumerable: true, get: function () { return snapshot_markup_1.snapshotMarkup; } });
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/snapshot-markup/index.ts"],"names":[],"mappings":";;AAAA,qDAAmD;AAA1C,iHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/snapshot-markup/index.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAA1C,iHAAA,cAAc,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-markup.js","sourceRoot":"","sources":["../../src/snapshot-markup/snapshot-markup.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAmC;AACnC,6CAAmD;AACnD,iCAA8B;AAC9B,2DAAwC;AACxC,2DAAuD;AACvD,iEAA4D;AAC5D,mDAA+C;AAC/C,iEAA4D;AAe5D,SAAsB,cAAc,CAAC,MAAW,EAAE,QAAgB,EAAE,UAAkB,EAAE,OAAwB;;;QAC5G,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,uBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,SAAS,CAAC,CAAC;SAChE;QAED,IAAI,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,CAAA,EAAE;YAC9B,oCAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAC/B;QAED,IAAI,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAA,EAAE;YAChC,yCAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACjC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,MAAM,QAAQ,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,OAAO,CAAC;QAC9C,QAAQ,QAAQ,EAAE;YACd,KAAK,aAAa;gBACd,MAAM,GAAG,yCAAkB,CAAC,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;gBACnD,MAAM;YACV,KAAK,OAAO;gBACR,MAAM,GAAG,4BAAY,CAAC,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;gBAC7C,MAAM;YACV;gBACI,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;oBAChC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;iBAC5C;gBACD,MAAM;SACb;QAED,MAAM,eAAe,mBACjB,WAAW,EAAE,CAAC,IACX,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAC9B,CAAC;QACF,MAAM,GAAG,kBAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAE/C,kBAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;;CACrC;AAxCD,wCAwCC"}
1
+ {"version":3,"file":"snapshot-markup.js","sourceRoot":"","sources":["../../src/snapshot-markup/snapshot-markup.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAmC;AACnC,6CAAmD;AACnD,iCAA8B;AAC9B,2DAAwC;AACxC,2DAAuD;AACvD,iEAA4D;AAC5D,mDAA+C;AAC/C,iEAA4D;AAe5D,SAAsB,cAAc,CAAC,MAAW,EAAE,QAAgB,EAAE,UAAkB,EAAE,OAAwB;;;QAC5G,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,uBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,SAAS,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,CAAA,EAAE;YAC9B,oCAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAC/B;QAED,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAA,EAAE;YAChC,yCAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACjC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,OAAO,CAAC;QAC9C,QAAQ,QAAQ,EAAE;YACd,KAAK,aAAa;gBACd,MAAM,GAAG,yCAAkB,CAAC,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;gBACnD,MAAM;YACV,KAAK,OAAO;gBACR,MAAM,GAAG,4BAAY,CAAC,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;gBAC7C,MAAM;YACV;gBACI,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;oBAChC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;iBAC5C;gBACD,MAAM;SACb;QAED,MAAM,eAAe,mBACjB,WAAW,EAAE,CAAC,IACX,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAC9B,CAAC;QACF,MAAM,GAAG,kBAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAE/C,kBAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;;CACrC;AAxCD,wCAwCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"visual-test-template.js","sourceRoot":"","sources":["../../src/snapshot-markup/visual-test-template.ts"],"names":[],"mappings":";;;AAAA,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAc,EAAE,OAA+C;;IAC9F,MAAM,SAAS,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,CAAC,CAAC;IAE1C,OAAO;;;;qBAIU,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;;mEAEgC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;2CACjD,UAAU,CAAC,SAAS,CAAC;2BACrC,UAAU,CAAC,SAAS,CAAC;;;UAGtC,MAAM;;gBAEA,CAAC;AACjB,CAAC;AAjBD,gDAiBC"}
1
+ {"version":3,"file":"visual-test-template.js","sourceRoot":"","sources":["../../src/snapshot-markup/visual-test-template.ts"],"names":[],"mappings":";;;AAAA,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAc,EAAE,OAA+C;;IAC9F,MAAM,SAAS,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,CAAC,CAAC;IAE1C,OAAO;;;;qBAIU,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;;mEAEgC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;2CACjD,UAAU,CAAC,SAAS,CAAC;2BACrC,UAAU,CAAC,SAAS,CAAC;;;UAGtC,MAAM;;gBAEA,CAAC;AACjB,CAAC;AAjBD,gDAiBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-e2e",
3
- "version": "0.9.0",
3
+ "version": "0.11.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,12 +53,12 @@
53
53
  "homepage": "https://github.com/telerik/kendo-e2e#readme",
54
54
  "dependencies": {
55
55
  "@axe-core/webdriverjs": "4.3.1",
56
- "@types/selenium-webdriver": "4.0.16",
56
+ "@types/selenium-webdriver": "4.1.1",
57
57
  "js-beautify": "^1.13.13",
58
58
  "jsdom": "^16.6.0",
59
59
  "looks-same": "^7.3.0",
60
60
  "pngjs": "^6.0.0",
61
- "selenium-webdriver": "4.0.0"
61
+ "selenium-webdriver": "4.2.0"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@commitlint/cli": "^12.1.4",
@@ -66,20 +66,20 @@
66
66
  "@types/jest": "^27.0.0",
67
67
  "@progress/kendo-common-tasks": "^7.5.1",
68
68
  "@telerik/semantic-prerelease": "^1.3.3",
69
- "@types/node": "ts3.9",
69
+ "@types/node": "ts4.3",
70
70
  "@typescript-eslint/eslint-plugin": "^4.22.1",
71
71
  "@typescript-eslint/parser": "^4.22.1",
72
72
  "eslint": "^7.25.0",
73
- "geckodriver": "latest",
73
+ "geckodriver": "3.0.1",
74
74
  "husky": "^4.3.8",
75
75
  "jest": "^27.0.6",
76
- "jest-image-snapshot": "4.5.0",
76
+ "jest-image-snapshot": "4.5.1",
77
77
  "jest-junit": "12.0.0",
78
78
  "jest-preset-typescript": "^1.2.0",
79
79
  "semantic-release": "^6.3.6",
80
80
  "ts-jest": "^27.0.4",
81
81
  "ts-node": "^10.0.0",
82
82
  "tslib": "^2.3.0",
83
- "typescript": "~3.9.6"
83
+ "typescript": "~4.3.4"
84
84
  }
85
85
  }