@applitools/eyes-puppeteer 1.9.0 → 1.10.2

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/CHANGELOG.md CHANGED
@@ -3,6 +3,58 @@
3
3
  ## Unreleased
4
4
 
5
5
 
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+ ## 1.10.2 - 2022/7/5
15
+
16
+ ### Features
17
+ - Added support for taking full screenshots of elements that are scroll by pages only
18
+ - Allowed `` values in custom properties
19
+ - Add special attribute for pseudo elements
20
+ - Add the ability for the SDK to lazy load the page prior to performing a check window
21
+ - Support padding for regions in the following region types - ignoreRegions, layoutRegions, strictRegions, contentRegions
22
+ - Add support for dynamic coded regions
23
+ ### Bug fixes
24
+ - Fixed broken links to enums implementation in the README.md
25
+ - Fixed `forceFullPageScreenshot` option behavior
26
+ - Fix calling `waitBeforeCapture` when failed to set required viewport size
27
+ - Fix rendering issues with Salesforce Lightning design system
28
+ - Fix issue that prevented self-signed certificates from working when connecting through a proxy server
29
+ - Fixed native screenshots of the elements under large collapsing areas
30
+
31
+ ## 1.10.1 - 2022/6/2
32
+
33
+ ### Features
34
+ ### Bug fixes
35
+ - Fix rounding error of image size when scaling introduces fractions
36
+
37
+ ## 1.10.0 - 2022/6/1
38
+
39
+ ### Features
40
+ - Support UFG for native mobile
41
+ - `runner.getAllTestResults` returns the corresponding UFG browser/device configuration for each test. This is available as `runner.getAllTestResults()[i].browserInfo`.
42
+ - Support iPhone SE `IosDeviceName.iPhone_SE` and iPhone 8 Plus `IosDeviceName.iPhone_8_Plus` iOS devices
43
+ - Support Galaxy S22 `DeviceName.Galaxy_S22` emulation device
44
+ - Dorp support for Node.js versions <=12
45
+ ### Bug fixes
46
+ - `runner.getAllTestResults` now aborts unclosed tests
47
+ - `runner.getAllTestResults` now returns all results, including aborted tests
48
+ - `extractText` now supports regions that don't use hints while using `x`/`y` coordinates
49
+ - accept ios and android lowercase as driver platformName capability when using custom grid
50
+ - Fixed check region fully in classic execution when using CSS stitching
51
+ - Support data urls in iframes
52
+ - Allow running with self-signed certificates
53
+ - Fixed `CheckSetting`'s `fully` being overridden by `Configuration`'s `forceFullPageScreenshot`
54
+ - Set EyesExceptions (such as new test, diffs exception and failed test exception) to exception property in TestResultsSummary
55
+ - Improve error message when failed to set viewport size
56
+ - Fixed incorrect calculation of coded regions in classic mode when using CSS stitching
57
+
6
58
  ## 1.9.0 - 2021/11/10
7
59
 
8
60
  - support cookies
package/README.md CHANGED
@@ -356,6 +356,33 @@ Defines a name for the checkpoint in the Eyes Test Manager. The name may be any
356
356
  eyes.check(Target.window().withName('Main page'))
357
357
  ```
358
358
 
359
+ ##### Lazy loading (`lazyLoad`)
360
+
361
+ It's possible to have the SDK scroll the entire page (or a specific length of the page) to make sure all lazyily loaded assets are on the page before performing a check.
362
+
363
+ ```js
364
+ // lazy loads with sensible defaults
365
+ eyes.check(Target.window().lazyLoad())
366
+
367
+ // lazy loads with options specified
368
+ eyes.check(Target.window().lazyLoad({
369
+ maxAmountToScroll: 1000, // total pixels of the page to be scrolled
370
+ scrollLength: 250, // amount of pixels to use for each scroll attempt
371
+ waitingTime: 500, // milliseconds to wait in-between each scroll attempt
372
+ }))
373
+ ```
374
+
375
+ Possible input types are:
376
+
377
+ - nothing (enables sensible defaults)
378
+ - options object (`{maxAmountToScroll, waitingTime, scrollLength}`)
379
+
380
+ Other details:
381
+
382
+ - If an option is omitted, the sensible default for that value will be used
383
+ - The SDK will repeatedly scroll the page using the `scrollLength` until either the page cannot be scrolled further or the `maxAmountToScroll` has been reached (whichever happens first)
384
+ - If more time is needed for additional content to load, then increase the waitingTime to a value higher than 500 milliseconds. If better performance is desired and additional content lazily loads faster than the default waitingTime, then reduce it to a value below 500 milliseconds
385
+
359
386
  ###### Other checkSettings configuration
360
387
 
361
388
  <!-- TODO add explanation -->
@@ -867,7 +894,7 @@ configuration.addBrowser({
867
894
  eyes.setConfiguration(configuration)
868
895
  ```
869
896
 
870
- The list of devices is available at https://github.com/applitools/eyes.sdk.javascript1/blob/master/packages/eyes-sdk-core/lib/config/IosDeviceName.js
897
+ The list of devices is available at https://github.com/applitools/eyes.sdk.javascript1/blob/master/packages/eyes-api/src/enums/IosDeviceName.ts
871
898
 
872
899
  Possible values for `iosVersion` are:
873
900
 
package/dist/api.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
package/dist/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-puppeteer",
3
- "version": "1.9.0",
3
+ "version": "1.10.2",
4
4
  "description": "Applitools Eyes SDK for Puppeteer",
5
5
  "keywords": [
6
6
  "eyes-puppeteer",
@@ -20,20 +20,19 @@
20
20
  "repository": {
21
21
  "type": "git",
22
22
  "url": "git@github.com:applitools/eyes.sdk.javascript1.git",
23
- "directory": "packages/eyes-puppeteer"
23
+ "directory": "js/packages/eyes-puppeteer"
24
24
  },
25
25
  "license": "SEE LICENSE IN LICENSE",
26
26
  "author": {
27
27
  "name": "Applitools Team",
28
28
  "email": "team@applitools.com"
29
29
  },
30
+ "aliases": [
31
+ "puppeteer",
32
+ "pptr"
33
+ ],
30
34
  "main": "./dist/index.js",
31
35
  "types": "./types/index.d.ts",
32
- "directories": {
33
- "lib": "./src",
34
- "example": "./example",
35
- "test": "./test"
36
- },
37
36
  "files": [
38
37
  "dist",
39
38
  "types"
@@ -41,18 +40,20 @@
41
40
  "scripts": {
42
41
  "lint": "eslint '**/*.ts'",
43
42
  "build": "ttsc",
44
- "generate:tests": "coverage-tests generate https://raw.githubusercontent.com/applitools/sdk.coverage.tests/master/js/config.js --name 'eyes-puppeteer'",
43
+ "generate:tests": "coverage-tests generate https://raw.githubusercontent.com/applitools/sdk.coverage.tests/universal-sdk/js/config.js --name 'eyes-puppeteer'",
45
44
  "test": "yarn test:coverage",
45
+ "test:sanity": "echo 'create sanity suite'",
46
46
  "test:coverage": "yarn generate:tests && APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-puppeteer' APPLITOOLS_BATCH_ID=$(uuidgen) XUNIT_FILE=coverage-test-report.xml mocha --exit --config .mocharc.cvg.js",
47
47
  "report": "coverage-tests report https://raw.githubusercontent.com/applitools/sdk.coverage.tests/master/js/config.js --name 'eyes-puppeteer'",
48
48
  "docker:build": "docker build -t applitools/puppeteer-chrome .",
49
49
  "docker:rebuild": "docker build --no-cache -t applitools/puppeteer-chrome .",
50
50
  "docker:run": "yarn docker:build && docker run -e NODE_AUTH_TOKEN --env APPLITOOLS_API_KEY=$APPLITOOLS_API_KEY_SDK --env APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-puppeteer' --env APPLITOOLS_BATCH_ID=$(uuidgen) --env XUNIT_FILE=coverage-test-report.xml -it --init --rm -v $(pwd):/sandbox applitools/puppeteer-chrome",
51
+ "upgrade:framework": "if [ ! -z $APPLITOOLS_PUPPETEER_VERSION ]; then packagejson=`cat package.json`; yarn upgrade --no-lockfile puppeteer@$APPLITOOLS_PUPPETEER_VERSION; echo \"$packagejson\" > package.json; fi",
51
52
  "deps": "bongo deps",
52
- "gh:test": "gh workflow run test.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='puppeteer' -f links='types test-utils sdk-shared eyes-sdk-core visual-grid-client eyes-api spec-driver-puppeteer utils driver snippets screenshoter' -f linking-depth=3",
53
- "gh:publish": "gh workflow run publish.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='puppeteer'",
54
- "preversion": "bongo preversion && yarn build",
55
- "version": "bongo version",
53
+ "gh:test": "gh workflow run test.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='puppeteer' -f links='types test-utils sdk-shared eyes-sdk-core visual-grid-client eyes-api spec-driver-puppeteer utils driver snippets screenshoter'",
54
+ "gh:publish": "gh workflow run publish-puppeteer.yml --ref $(git rev-parse --abbrev-ref HEAD)",
55
+ "preversion": "bongo preversion --verifyPendingChanges && yarn build",
56
+ "version": "bongo version --withPendingChanges",
56
57
  "postversion": "bongo postversion"
57
58
  },
58
59
  "husky": {
@@ -61,39 +62,40 @@
61
62
  }
62
63
  },
63
64
  "dependencies": {
64
- "@applitools/eyes-api": "1.1.6",
65
- "@applitools/eyes-sdk-core": "12.24.0",
66
- "@applitools/spec-driver-puppeteer": "1.1.0",
67
- "@applitools/visual-grid-client": "15.8.44"
65
+ "@applitools/eyes-api": "1.7.3",
66
+ "@applitools/eyes-sdk-core": "13.8.10",
67
+ "@applitools/spec-driver-puppeteer": "1.1.6",
68
+ "@applitools/visual-grid-client": "15.13.4"
68
69
  },
69
70
  "devDependencies": {
70
- "@applitools/api-extractor": "1.2.2",
71
- "@applitools/scripts": "1.0.1",
72
- "@applitools/sdk-coverage-tests": "2.3.16",
73
- "@applitools/sdk-release-kit": "0.13.4",
74
- "@applitools/sdk-shared": "0.9.8",
75
- "@applitools/test-utils": "1.0.9",
76
- "@types/mocha": "^9.0.0",
77
- "@typescript-eslint/eslint-plugin": "^4.15.1",
78
- "@typescript-eslint/parser": "^4.15.1",
79
- "eslint": "^7.9.0",
80
- "eslint-config-prettier": "^7.2.0",
71
+ "@applitools/api-extractor": "1.2.9",
72
+ "@applitools/bongo": "^2.1.6",
73
+ "@applitools/scripts": "1.1.0",
74
+ "@applitools/sdk-coverage-tests": "2.3.19",
75
+ "@applitools/sdk-shared": "0.9.13",
76
+ "@applitools/test-utils": "1.4.2",
77
+ "@types/mocha": "^9.1.1",
78
+ "@types/node": "12",
79
+ "@typescript-eslint/eslint-plugin": "^5.27.0",
80
+ "@typescript-eslint/parser": "^5.27.0",
81
+ "eslint": "^8.16.0",
82
+ "eslint-config-prettier": "^8.5.0",
81
83
  "eslint-plugin-mocha-no-only": "^1.1.1",
82
84
  "eslint-plugin-node": "^11.1.0",
83
- "eslint-plugin-prettier": "^3.3.1",
85
+ "eslint-plugin-prettier": "^4.0.0",
84
86
  "husky": "^4.3.8",
85
- "mocha": "^8.0.1",
86
- "prettier": "^2.1.2",
87
- "puppeteer": "^11.0.0",
87
+ "mocha": "^9.2.2",
88
+ "prettier": "^2.6.2",
89
+ "puppeteer": "^14.1.2",
88
90
  "spec-xunit-file": "0.0.1-3",
89
- "ts-node": "^10.2.1",
90
- "ttypescript": "^1.5.12",
91
- "typescript": "^4.5.0-beta"
91
+ "ts-node": "^10.8.0",
92
+ "ttypescript": "^1.5.13",
93
+ "typescript": "^4.7.2"
92
94
  },
93
95
  "peerDependencies": {
94
96
  "puppeteer": ">=5.3.0"
95
97
  },
96
98
  "engines": {
97
- "node": ">=8.9.0"
99
+ "node": ">=12.13.0"
98
100
  }
99
101
  }
package/types/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  export type Driver = import('puppeteer').Page & { __applitoolsBrand?: never; };
2
- export type Element = import('puppeteer').ElementHandle<globalThis.Element> & { __applitoolsBrand?: never; };
2
+ export type Element = import('puppeteer').ElementHandle & { __applitoolsBrand?: never; };
3
3
  export type Selector = string & { __applitoolsBrand?: never; };
4
4
  export class Eyes {
5
5
  static setViewportSize: (driver: Driver, viewportSize: RectangleSize) => Promise<void>;
6
- constructor(runner: EyesRunner, config: ConfigurationPlain);
7
- constructor(config: ConfigurationPlain);
6
+ constructor(runner?: EyesRunner, config?: ConfigurationPlain);
7
+ constructor(config?: ConfigurationPlain);
8
8
  get logger(): Logger;
9
9
  getLogger(): Logger;
10
10
  get runner(): EyesRunner;
@@ -17,37 +17,15 @@ export class Eyes {
17
17
  setConfiguration(config: ConfigurationPlain): void;
18
18
  get isOpen(): boolean;
19
19
  getIsOpen(): boolean;
20
- on(handler: (event: string, data: Record<string, any>) => any): () => void;
21
- on(event: "setSizeWillStart", handler: (data: { viewportSize: RectangleSizePlain; }) => any): () => void;
22
- on(event: "setSizeEnded", handler: () => any): () => void;
23
- on(event: "initStarted", handler: () => any): () => void;
24
- on(event: "initEnded", handler: () => any): () => void;
25
- on(event: "testStarted", handler: (data: { sessionId: string; }) => any): () => void;
26
- on(event: "validationWillStart", handler: (data: { sessionId: string; validationInfo: ValidationInfoPlain; }) => any): () => void;
27
- on(event: "validationEnded", handler: (data: { sessionId: string; validationId: number; validationResult: ValidationResultPlain; }) => any): () => void;
28
- on(event: "testEnded", handler: (data: { sessionId: string; testResults: TestResultsPlain; }) => any): () => void;
29
- off(event: string): void;
30
- off(handler: (args: Array<any>) => any): void;
31
- open(driver: Driver, config: ConfigurationPlain): Promise<Driver>;
32
- open(driver: Driver, appName: string, testName: string, viewportSize: RectangleSizePlain, sessionType: SessionTypePlain): Promise<Driver>;
33
- checkWindow(name: string, timeout: number, fully: boolean): Promise<MatchResult>;
34
- checkFrame(element: number | Element | EyesSelector<Selector>, timeout: number, name: string): Promise<MatchResult>;
35
- checkElement(element: Element, timeout: number, name: string): Promise<MatchResult>;
36
- checkElementBy(selector: EyesSelector<Selector>, timeout: number, name: string): Promise<MatchResult>;
37
- checkRegion(region: RegionPlain, name: string, timeout: number): Promise<MatchResult>;
38
- checkRegionByElement(element: Element, name: string, timeout: number): Promise<MatchResult>;
39
- checkRegionBy(selector: EyesSelector<Selector>, name: string, timeout: number, fully: boolean): Promise<MatchResult>;
40
- checkRegionInFrame(frame: number | Element | EyesSelector<Selector>, selector: EyesSelector<Selector>, timeout: number, name: string, fully: boolean): Promise<MatchResult>;
20
+ open(driver: Driver, config?: ConfigurationPlain): Promise<Driver>;
21
+ open(driver: Driver, appName?: string, testName?: string, viewportSize?: RectangleSizePlain, sessionType?: SessionTypePlain): Promise<Driver>;
41
22
  check(name: string, checkSettings: CheckSettings): Promise<MatchResult>;
42
- check(checkSettings: CheckSettingsPlain): Promise<MatchResult>;
23
+ check(checkSettings?: CheckSettingsPlain): Promise<MatchResult>;
43
24
  locate<TLocator extends string>(settings: VisualLocatorSettings<TLocator>): Promise<Record<TLocator, Array<RegionPlain>>>;
44
25
  extractTextRegions<TPattern extends string>(settings: OCRSettings<TPattern>): Promise<Record<TPattern, Array<TextRegion>>>;
45
26
  extractText(regions: Array<OCRRegion>): Promise<Array<string>>;
46
- close(throwErr: boolean): Promise<TestResults>;
47
- closeAsync(): Promise<void>;
27
+ close(throwErr?: boolean): Promise<TestResults>;
48
28
  abort(): Promise<TestResults>;
49
- abortAsync(): Promise<void>;
50
- abortIfNotClosed(): Promise<TestResultsPlain>;
51
29
  getViewportSize(): Promise<RectangleSize>;
52
30
  setViewportSize(size: RectangleSizePlain): Promise<void>;
53
31
  getScrollRootElement(): Element | EyesSelector<Selector>;
@@ -71,7 +49,7 @@ export class Eyes {
71
49
  clearProperties(): Configuration;
72
50
  getBatch(): BatchInfo;
73
51
  setBatch(batch: BatchInfoPlain): void;
74
- setBatch(name: string, id: string, startedAt: string | Date): void;
52
+ setBatch(name: string, id?: string, startedAt?: string | Date): void;
75
53
  getApiKey(): string;
76
54
  setApiKey(apiKey: string): void;
77
55
  getTestName(): string;
@@ -80,8 +58,6 @@ export class Eyes {
80
58
  setAppName(appName: string): void;
81
59
  getBaselineBranchName(): string;
82
60
  setBaselineBranchName(baselineBranchName: string): void;
83
- getBaselineName(): string;
84
- setBaselineName(baselineName: string): void;
85
61
  getBaselineEnvName(): string;
86
62
  setBaselineEnvName(baselineEnvName: string): void;
87
63
  getBranchName(): string;
@@ -107,7 +83,7 @@ export class Eyes {
107
83
  getParentBranchName(): string;
108
84
  setParentBranchName(parentBranchName: string): void;
109
85
  setProxy(proxy: ProxySettingsPlain): void;
110
- setProxy(url: string, username: string, password: string, isHttpOnly: boolean): void;
86
+ setProxy(url: string, username?: string, password?: string, isHttpOnly?: boolean): void;
111
87
  setProxy(isEnabled: false): void;
112
88
  getProxy(): ProxySettings;
113
89
  getSaveDiffs(): boolean;
@@ -130,22 +106,14 @@ export class Eyes {
130
106
  setStitchMode(stitchMode: StitchModePlain): void;
131
107
  getStitchOverlap(): number;
132
108
  setStitchOverlap(stitchOverlap: number): void;
133
- getSessionEventHandlers(): SessionEventHandlers;
134
- addSessionEventHandler(handler: SessionEventHandler): void;
135
- removeSessionEventHandler(handler: SessionEventHandler): void;
136
- clearSessionEventHandlers(): void;
137
109
  }
138
110
  export type ConfigurationPlain = {
139
- logs?: LogHandlerPlain;
140
- debugScreenshots?: { save: boolean; path?: string; prefix?: string; };
141
111
  agentId?: string;
142
112
  apiKey?: string;
143
113
  serverUrl?: string;
144
114
  proxy?: ProxySettingsPlain;
115
+ autProxy?: { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; };
145
116
  isDisabled?: boolean;
146
- connectionTimeout?: number;
147
- removeSession?: boolean;
148
- remoteEvents?: { serverUrl: string; accessKey?: string; timeout?: number; };
149
117
  appName?: string;
150
118
  testName?: string;
151
119
  displayName?: string;
@@ -166,10 +134,10 @@ export type ConfigurationPlain = {
166
134
  baselineBranchName?: string;
167
135
  compareWithParentBranch?: boolean;
168
136
  ignoreBaseline?: boolean;
137
+ ignoreGitMergeBase?: boolean;
169
138
  saveFailedTests?: boolean;
170
139
  saveNewTests?: boolean;
171
140
  saveDiffs?: boolean;
172
- dontCloseBatches?: boolean;
173
141
  sendDom?: boolean;
174
142
  matchTimeout?: number;
175
143
  forceFullPageScreenshot?: boolean;
@@ -183,28 +151,13 @@ export type ConfigurationPlain = {
183
151
  rotation?: ImageRotationPlain;
184
152
  scaleRatio?: number;
185
153
  waitBeforeCapture?: number;
186
- concurrentSessions?: number;
187
- browsersInfo?: Array<DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo>;
154
+ browsersInfo?: Array<DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo | AndroidDeviceInfo>;
188
155
  visualGridOptions?: Record<string, any>;
189
156
  layoutBreakpoints?: boolean | Array<number>;
190
157
  disableBrowserFetching?: boolean;
191
158
  };
192
159
  export class Configuration implements Required<ConfigurationPlain> {
193
- constructor(config: ConfigurationPlain);
194
- get logs(): LogHandlerPlain;
195
- set logs(logs: LogHandlerPlain);
196
- getShowLogs(): boolean;
197
- setShowLogs(show: boolean): Configuration;
198
- getLogHandler(): LogHandlerPlain;
199
- setLogHandler(handler: LogHandlerPlain): Configuration;
200
- get debugScreenshots(): { save: boolean; path?: string; prefix?: string; };
201
- set debugScreenshots(debugScreenshots: { save: boolean; path?: string; prefix?: string; });
202
- getSaveDebugScreenshots(): boolean;
203
- setSaveDebugScreenshots(save: boolean): Configuration;
204
- getDebugScreenshotsPath(): string;
205
- setDebugScreenshotsPath(path: string): Configuration;
206
- getDebugScreenshotsPrefix(): string;
207
- setDebugScreenshotsPrefix(prefix: string): Configuration;
160
+ constructor(config?: ConfigurationPlain);
208
161
  get appName(): string;
209
162
  set appName(appName: string);
210
163
  getAppName(): string;
@@ -249,20 +202,12 @@ export class Configuration implements Required<ConfigurationPlain> {
249
202
  set proxy(proxy: ProxySettingsPlain);
250
203
  getProxy(): ProxySettings;
251
204
  setProxy(proxy: ProxySettingsPlain): Configuration;
252
- setProxy(url: string, username: string, password: string, isHttpOnly: boolean): Configuration;
205
+ setProxy(url: string, username?: string, password?: string, isHttpOnly?: boolean): Configuration;
253
206
  setProxy(isEnabled: false): Configuration;
254
- get connectionTimeout(): number;
255
- set connectionTimeout(connectionTimeout: number);
256
- getConnectionTimeout(): number;
257
- setConnectionTimeout(connectionTimeout: number): Configuration;
258
- get removeSession(): boolean;
259
- set removeSession(removeSession: boolean);
260
- getRemoveSession(): boolean;
261
- setRemoveSession(removeSession: boolean): Configuration;
262
- get remoteEvents(): { serverUrl: string; accessKey?: string; timeout?: number; };
263
- set remoteEvents(remoteEvents: { serverUrl: string; accessKey?: string; timeout?: number; });
264
- getRemoteEvents(): { serverUrl: string; accessKey?: string; timeout?: number; };
265
- setRemoteEvents(remoteEvents: { serverUrl: string; accessKey?: string; timeout?: number; }): Configuration;
207
+ get autProxy(): { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; };
208
+ set autProxy(autProxy: { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; });
209
+ getAutProxy(): { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; };
210
+ setAutProxy(autProxy: { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; }): Configuration;
266
211
  get batch(): BatchInfoPlain;
267
212
  set batch(batch: BatchInfoPlain);
268
213
  getBatch(): BatchInfo;
@@ -298,6 +243,10 @@ export class Configuration implements Required<ConfigurationPlain> {
298
243
  set compareWithParentBranch(compareWithParentBranch: boolean);
299
244
  getCompareWithParentBranch(): boolean;
300
245
  setCompareWithParentBranch(compareWithParentBranch: boolean): Configuration;
246
+ get ignoreGitMergeBase(): boolean;
247
+ set ignoreGitMergeBase(ignoreGitMergeBase: boolean);
248
+ getIgnoreGitMergeBase(): boolean;
249
+ setIgnoreGitMergeBase(ignoreGitMergeBase: boolean): Configuration;
301
250
  get ignoreBaseline(): boolean;
302
251
  set ignoreBaseline(ignoreBaseline: boolean);
303
252
  getIgnoreBaseline(): boolean;
@@ -398,18 +347,16 @@ export class Configuration implements Required<ConfigurationPlain> {
398
347
  set scaleRatio(scaleRatio: number);
399
348
  getScaleRatio(): number;
400
349
  setScaleRatio(scaleRatio: number): Configuration;
401
- get concurrentSessions(): number;
402
- set concurrentSessions(concurrentSessions: number);
403
- getConcurrentSessions(): number;
404
- setConcurrentSessions(concurrentSessions: number): Configuration;
405
- get browsersInfo(): Array<DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo>;
406
- set browsersInfo(browsersInfo: Array<DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo>);
407
- getBrowsersInfo(): Array<DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; }>;
408
- setBrowsersInfo(browsersInfo: Array<DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; }>): Configuration;
409
- addBrowsers(browsersInfo: Array<DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; }>): Configuration;
410
- addBrowser(browserInfo: DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; }): Configuration;
411
- addBrowser(width: number, height: number, name: BrowserTypePlain): Configuration;
412
- addDeviceEmulation(deviceName: DeviceNamePlain, screenOrientation: ScreenOrientationPlain): Configuration;
350
+ get browsersInfo(): Array<DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo | AndroidDeviceInfo>;
351
+ set browsersInfo(browsersInfo: Array<DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo | AndroidDeviceInfo>);
352
+ getBrowsersInfo(): Array<DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo | AndroidDeviceInfo>;
353
+ setBrowsersInfo(browsersInfo: Array<DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo | AndroidDeviceInfo>): Configuration;
354
+ addBrowsers(...browsersInfo: Array<DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo | AndroidDeviceInfo>): Configuration;
355
+ addBrowser(browserInfo: DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo | AndroidDeviceInfo): Configuration;
356
+ addBrowser(width: number, height: number, name?: BrowserTypePlain): Configuration;
357
+ addDeviceEmulation(deviceName: DeviceNamePlain, screenOrientation?: ScreenOrientationPlain): Configuration;
358
+ addMobileDevice(deviceName: AndroidDeviceNamePlain, screenOrientation: ScreenOrientationPlain, version?: AndroidVersionPlain): Configuration;
359
+ addMobileDevice(deviceName: IosDeviceNamePlain, screenOrientation: ScreenOrientationPlain, version?: IosVersionPlain): Configuration;
413
360
  get visualGridOptions(): { [key: string]: any; };
414
361
  set visualGridOptions(visualGridOptions: { [key: string]: any; });
415
362
  getVisualGridOptions(): { [key: string]: any; };
@@ -423,10 +370,6 @@ export class Configuration implements Required<ConfigurationPlain> {
423
370
  set disableBrowserFetching(disableBrowserFetching: boolean);
424
371
  getDisableBrowserFetching(): boolean;
425
372
  setDisableBrowserFetching(disableBrowserFetching: boolean): Configuration;
426
- get dontCloseBatches(): boolean;
427
- set dontCloseBatches(dontCloseBatches: boolean);
428
- getDontCloseBatches(): boolean;
429
- setDontCloseBatches(dontCloseBatches: boolean): Configuration;
430
373
  }
431
374
  export type OCRRegion = { target: Element | RegionPlain | EyesSelector<Selector>; hint?: string; minMatch?: number; language?: string; };
432
375
  export type CheckSettingsPlain = {
@@ -441,116 +384,102 @@ export type CheckSettingsPlain = {
441
384
  enablePatterns?: boolean;
442
385
  ignoreDisplacements?: boolean;
443
386
  ignoreCaret?: boolean;
444
- ignoreRegions?: Array<RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))>;
445
- layoutRegions?: Array<RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))>;
446
- strictRegions?: Array<RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))>;
447
- contentRegions?: Array<RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))>;
387
+ ignoreRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }>;
388
+ layoutRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }>;
389
+ strictRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }>;
390
+ contentRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }>;
448
391
  floatingRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
449
392
  region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
450
393
  maxUpOffset?: number;
451
394
  maxDownOffset?: number;
452
395
  maxLeftOffset?: number;
453
396
  maxRightOffset?: number;
397
+ regionId?: string;
454
398
  }>;
455
- accessibilityRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); type?: AccessibilityRegionTypePlain; }>;
399
+ accessibilityRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); type?: AccessibilityRegionTypePlain; regionId?: string; }>;
456
400
  disableBrowserFetching?: boolean;
457
401
  layoutBreakpoints?: boolean | Array<number>;
458
402
  visualGridOptions?: { [key: string]: any; };
459
403
  hooks?: { beforeCaptureScreenshot: string; };
460
404
  renderId?: string;
405
+ pageId?: string;
461
406
  variationGroupId?: string;
462
407
  timeout?: number;
463
408
  waitBeforeCapture?: number;
409
+ lazyLoad?: boolean | { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; };
464
410
  };
465
411
  export class CheckSettings {
466
- constructor(settings: CheckSettingsPlain);
467
- name(name: string): CheckSettings;
412
+ constructor(settings?: CheckSettingsPlain);
468
413
  withName(name: string): CheckSettings;
469
414
  region(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
470
415
  shadow(selector: string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }): CheckSettings;
471
416
  frame(context: { frame: number | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); scrollRootElement?: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }); }): CheckSettings;
472
- frame(frame: number | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })), scrollRootElement: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })): CheckSettings;
473
- ignoreRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
474
- ignoreRegions(regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
475
- ignore(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
476
- ignores(regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
477
- layoutRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
478
- layoutRegions(regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
479
- strictRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
480
- strictRegions(regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
481
- contentRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
482
- contentRegions(regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
417
+ frame(frame: number | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })), scrollRootElement?: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })): CheckSettings;
418
+ ignoreRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }): CheckSettings;
419
+ ignoreRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }>): CheckSettings;
420
+ layoutRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }): CheckSettings;
421
+ layoutRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }>): CheckSettings;
422
+ strictRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }): CheckSettings;
423
+ strictRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }>): CheckSettings;
424
+ contentRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }): CheckSettings;
425
+ contentRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top?: number; right?: number; bottom?: number; left?: number; }; regionId?: string; }>): CheckSettings;
483
426
  floatingRegion(region: {
484
427
  region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
485
428
  maxUpOffset?: number;
486
429
  maxDownOffset?: number;
487
430
  maxLeftOffset?: number;
488
431
  maxRightOffset?: number;
432
+ regionId?: string;
489
433
  }): CheckSettings;
490
- floatingRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))), maxUpOffset: number, maxDownOffset: number, maxLeftOffset: number, maxRightOffset: number): CheckSettings;
491
- floatingRegions(regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
492
- region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
493
- maxUpOffset?: number;
494
- maxDownOffset?: number;
495
- maxLeftOffset?: number;
496
- maxRightOffset?: number;
497
- }>): CheckSettings;
498
- floatingRegions(maxOffset: number, regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
499
- floating(region: {
500
- region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
501
- maxUpOffset?: number;
502
- maxDownOffset?: number;
503
- maxLeftOffset?: number;
504
- maxRightOffset?: number;
505
- }): CheckSettings;
506
- floating(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
507
- floatings(regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
434
+ floatingRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))), maxUpOffset?: number, maxDownOffset?: number, maxLeftOffset?: number, maxRightOffset?: number): CheckSettings;
435
+ floatingRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
508
436
  region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
509
437
  maxUpOffset?: number;
510
438
  maxDownOffset?: number;
511
439
  maxLeftOffset?: number;
512
440
  maxRightOffset?: number;
441
+ regionId?: string;
513
442
  }>): CheckSettings;
514
- floatings(maxOffset: number, regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
515
- accessibilityRegion(region: { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); type?: AccessibilityRegionTypePlain; }): CheckSettings;
516
- accessibilityRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))), type: AccessibilityRegionTypePlain): CheckSettings;
517
- accessibilityRegions(regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); type?: AccessibilityRegionTypePlain; }>): CheckSettings;
518
- accessibilityRegions(type: AccessibilityRegionTypePlain, regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
443
+ floatingRegions(maxOffset: number, ...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
444
+ accessibilityRegion(region: { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); type?: AccessibilityRegionTypePlain; regionId?: string; }): CheckSettings;
445
+ accessibilityRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))), type?: AccessibilityRegionTypePlain): CheckSettings;
446
+ accessibilityRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); type?: AccessibilityRegionTypePlain; regionId?: string; }>): CheckSettings;
447
+ accessibilityRegions(type: AccessibilityRegionTypePlain, ...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
519
448
  scrollRootElement(scrollRootElement: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })): CheckSettings;
520
- fully(fully: boolean): CheckSettings;
521
- stitchContent(stitchContent: boolean): CheckSettings;
449
+ fully(fully?: boolean): CheckSettings;
522
450
  matchLevel(matchLevel: MatchLevelPlain): CheckSettings;
523
451
  layout(): CheckSettings;
524
452
  exact(): CheckSettings;
525
453
  strict(): CheckSettings;
526
454
  content(): CheckSettings;
527
- useDom(useDom: boolean): CheckSettings;
528
- sendDom(sendDom: boolean): CheckSettings;
529
- enablePatterns(enablePatterns: boolean): CheckSettings;
530
- ignoreDisplacements(ignoreDisplacements: boolean): CheckSettings;
531
- ignoreCaret(ignoreCaret: boolean): CheckSettings;
455
+ useDom(useDom?: boolean): CheckSettings;
456
+ sendDom(sendDom?: boolean): CheckSettings;
457
+ enablePatterns(enablePatterns?: boolean): CheckSettings;
458
+ ignoreDisplacements(ignoreDisplacements?: boolean): CheckSettings;
459
+ ignoreCaret(ignoreCaret?: boolean): CheckSettings;
532
460
  disableBrowserFetching(disableBrowserFetching: boolean): CheckSettings;
533
- layoutBreakpoints(layoutBreakpoints: boolean | Array<number>): CheckSettings;
461
+ layoutBreakpoints(layoutBreakpoints?: boolean | Array<number>): CheckSettings;
534
462
  hook(name: string, script: string): CheckSettings;
535
463
  beforeRenderScreenshotHook(script: string): CheckSettings;
536
- webHook(script: string): CheckSettings;
537
464
  visualGridOption(key: string, value: any): CheckSettings;
538
465
  visualGridOptions(options: { [key: string]: any; }): CheckSettings;
539
466
  renderId(renderId: string): CheckSettings;
467
+ pageId(pageId: string): CheckSettings;
540
468
  variationGroupId(variationGroupId: string): CheckSettings;
541
469
  timeout(timeout: number): CheckSettings;
542
470
  waitBeforeCapture(waitBeforeCapture: number): CheckSettings;
471
+ lazyLoad(options: { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; }): CheckSettings;
543
472
  }
544
473
  export const Target: {
545
474
  window(): CheckSettings;
546
475
  region(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
547
476
  frame(context: { frame: number | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); scrollRootElement?: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }); }): CheckSettings;
548
- frame(frame: number | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })), scrollRootElement: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })): CheckSettings;
477
+ frame(frame: number | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })), scrollRootElement?: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })): CheckSettings;
549
478
  shadow(selector: string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }): CheckSettings;
550
479
  };
551
480
  export class BatchClose {
552
481
  static close(settings: { batchIds: Array<string>; serverUrl?: string; apiKey?: string; proxy?: ProxySettingsPlain; }): Promise<void>;
553
- constructor(options: { batchIds: Array<string>; serverUrl?: string; apiKey?: string; proxy?: ProxySettingsPlain; });
482
+ constructor(options?: { batchIds: Array<string>; serverUrl?: string; apiKey?: string; proxy?: ProxySettingsPlain; });
554
483
  close(): Promise<void>;
555
484
  setBatchIds(batchIds: Array<string>): BatchClose;
556
485
  setUrl(serverUrl: string): BatchClose;
@@ -606,7 +535,7 @@ export enum CorsIframeHandle {
606
535
  KEEP = 'KEEP',
607
536
  SNAPSHOT = 'SNAPSHOT'
608
537
  }
609
- export type DeviceNamePlain = "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy A5" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy Note 2" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy Note 8" | "Galaxy Note 9" | "Galaxy S3" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy S20" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "Kindle Fire HDX" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch" | "LG G6" | "LG Optimus L70" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Nokia Lumia 520" | "Nokia N9" | "OnePlus 7T" | "OnePlus 7T Pro" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5";
538
+ export type DeviceNamePlain = "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy A5" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy Note 2" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy Note 8" | "Galaxy Note 9" | "Galaxy S3" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy S20" | "Galaxy S22" | "Galaxy Tab S7" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "Kindle Fire HDX" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch" | "LG G6" | "LG Optimus L70" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Nokia Lumia 520" | "Nokia N9" | "OnePlus 7T" | "OnePlus 7T Pro" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5";
610
539
  export enum DeviceName {
611
540
  Blackberry_PlayBook = 'Blackberry PlayBook',
612
541
  BlackBerry_Z30 = 'BlackBerry Z30',
@@ -627,6 +556,8 @@ export enum DeviceName {
627
556
  Galaxy_S10 = 'Galaxy S10',
628
557
  Galaxy_S10_Plus = 'Galaxy S10 Plus',
629
558
  Galaxy_S20 = 'Galaxy S20',
559
+ Galaxy_S22 = 'Galaxy S22',
560
+ Galaxy_Tab_S7 = 'Galaxy Tab S7',
630
561
  iPad = 'iPad',
631
562
  iPad_6th_Gen = 'iPad 6th Gen',
632
563
  iPad_7th_Gen = 'iPad 7th Gen',
@@ -676,7 +607,7 @@ export enum FailureReport {
676
607
  IMMEDIATE = 'IMMEDIATE',
677
608
  ON_CLOSE = 'ON_CLOSE'
678
609
  }
679
- export type IosDeviceNamePlain = "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone X" | "iPhone XR" | "iPhone 13 Pro Max" | "iPhone 13 Pro" | "iPhone 13" | "iPhone 12 Pro Max" | "iPhone 12 Pro" | "iPhone 12" | "iPhone 12 mini" | "iPhone Xs" | "iPhone 8" | "iPhone 7" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad (7th generation)" | "iPad (9th generation)" | "iPad Air (2nd generation)";
610
+ export type IosDeviceNamePlain = "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone X" | "iPhone XR" | "iPhone 13 Pro Max" | "iPhone 13 Pro" | "iPhone 13" | "iPhone 12 Pro Max" | "iPhone 12 Pro" | "iPhone 12" | "iPhone 12 mini" | "iPhone Xs" | "iPhone 8" | "iPhone 8 Plus" | "iPhone 7" | "iPhone SE (1st generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad (7th generation)" | "iPad (9th generation)" | "iPad Air (2nd generation)" | "iPad Air (4th generation)";
680
611
  export enum IosDeviceName {
681
612
  iPhone_13_Pro_Max = 'iPhone 13 Pro Max',
682
613
  iPhone_13_Pro = 'iPhone 13 Pro',
@@ -692,11 +623,14 @@ export enum IosDeviceName {
692
623
  iPhone_XS = 'iPhone Xs',
693
624
  iPhone_X = 'iPhone X',
694
625
  iPhone_8 = 'iPhone 8',
626
+ iPhone_8_Plus = 'iPhone 8 Plus',
695
627
  iPhone_7 = 'iPhone 7',
628
+ iPhone_SE = 'iPhone SE (1st generation)',
696
629
  iPad_Pro_3 = 'iPad Pro (12.9-inch) (3rd generation)',
697
630
  iPad_7 = 'iPad (7th generation)',
698
631
  iPad_9 = 'iPad (9th generation)',
699
- iPad_Air_2 = 'iPad Air (2nd generation)'
632
+ iPad_Air_2 = 'iPad Air (2nd generation)',
633
+ iPad_Air_4 = 'iPad Air (4th generation)'
700
634
  }
701
635
  export type IosVersionPlain = "latest" | "latest-1";
702
636
  export enum IosVersion {
@@ -704,6 +638,33 @@ export enum IosVersion {
704
638
  ONE_VERSION_BACK = 'latest-1',
705
639
  LATEST_ONE_VERSION_BACK = 'latest-1'
706
640
  }
641
+ export type AndroidDeviceNamePlain = "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy Note 8" | "Galaxy Note 9" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy S20" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Galaxy S20 Plus" | "Galaxy S21" | "Galaxy S21 Plus" | "Galaxy S21 Ultra";
642
+ export enum AndroidDeviceName {
643
+ Pixel_3_XL = 'Pixel 3 XL',
644
+ Pixel_4 = 'Pixel 4',
645
+ Pixel_4_XL = 'Pixel 4 XL',
646
+ Galaxy_Note_8 = 'Galaxy Note 8',
647
+ Galaxy_Note_9 = 'Galaxy Note 9',
648
+ Galaxy_S8 = 'Galaxy S8',
649
+ Galaxy_S8_Plus = 'Galaxy S8 Plus',
650
+ Galaxy_S9 = 'Galaxy S9',
651
+ Galaxy_S9_Plus = 'Galaxy S9 Plus',
652
+ Galaxy_S10 = 'Galaxy S10',
653
+ Galaxy_S10_Plus = 'Galaxy S10 Plus',
654
+ Galaxy_Note_10 = 'Galaxy Note 10',
655
+ Galaxy_Note_10_Plus = 'Galaxy Note 10 Plus',
656
+ Galaxy_S20 = 'Galaxy S20',
657
+ Galaxy_S20_Plus = 'Galaxy S20 Plus',
658
+ Galaxy_S21 = 'Galaxy S21',
659
+ Galaxy_S21_Plus = 'Galaxy S21 Plus',
660
+ Galaxy_S21_Ultra = 'Galaxy S21 Ultra'
661
+ }
662
+ export type AndroidVersionPlain = "latest" | "latest-1" | "latest-2";
663
+ export enum AndroidVersion {
664
+ LATEST = 'latest',
665
+ ONE_VERSION_BACK = 'latest-1',
666
+ TWO_VERSIONS_BACK = 'latest-2'
667
+ }
707
668
  export type MatchLevelPlain = "None" | "Layout1" | "Layout" | "Layout2" | "Content" | "Strict" | "Exact";
708
669
  export enum MatchLevel {
709
670
  None = 'None',
@@ -714,7 +675,7 @@ export enum MatchLevel {
714
675
  Strict = 'Strict',
715
676
  Exact = 'Exact'
716
677
  }
717
- export type ScreenOrientationPlain = "portrait" | "landscape";
678
+ export type ScreenOrientationPlain = "landscape" | "portrait";
718
679
  export enum ScreenOrientation {
719
680
  PORTRAIT = 'portrait',
720
681
  LANDSCAPE = 'landscape'
@@ -724,7 +685,7 @@ export enum SessionType {
724
685
  SEQUENTIAL = 'SEQUENTIAL',
725
686
  PROGRESSION = 'PROGRESSION'
726
687
  }
727
- export type StitchModePlain = "Scroll" | "CSS";
688
+ export type StitchModePlain = "CSS" | "Scroll";
728
689
  export enum StitchMode {
729
690
  SCROLL = 'Scroll',
730
691
  CSS = 'CSS'
@@ -738,24 +699,24 @@ export enum TestResultsStatus {
738
699
  export class EyesError extends Error {
739
700
  }
740
701
  export class TestFailedError extends EyesError {
741
- constructor(message: string, results: TestResultsPlain);
702
+ constructor(message: string, results?: TestResultsPlain);
742
703
  constructor(results: TestResultsPlain);
743
704
  get testResults(): TestResultsPlain;
744
705
  getTestResults(): TestResults;
745
706
  }
746
707
  export class DiffsFoundError extends TestFailedError {
747
- constructor(message: string, results: TestResultsPlain);
708
+ constructor(message: string, results?: TestResultsPlain);
748
709
  constructor(results: TestResultsPlain);
749
710
  }
750
711
  export class NewTestError extends TestFailedError {
751
- constructor(message: string, results: TestResultsPlain);
712
+ constructor(message: string, results?: TestResultsPlain);
752
713
  constructor(results: TestResultsPlain);
753
714
  }
754
715
  export type AccessibilityMatchSettingsPlain = { region: RegionPlain; type?: AccessibilityRegionTypePlain; };
755
716
  export class AccessibilityMatchSettings implements Required<AccessibilityMatchSettingsPlain> {
756
717
  constructor(settings: AccessibilityMatchSettingsPlain);
757
718
  constructor(region: RegionPlain);
758
- constructor(x: number, y: number, width: number, height: number, type: AccessibilityRegionTypePlain);
719
+ constructor(x: number, y: number, width: number, height: number, type?: AccessibilityRegionTypePlain);
759
720
  get region(): RegionPlain;
760
721
  set region(region: RegionPlain);
761
722
  getRegion(): Region;
@@ -784,8 +745,8 @@ export type BatchInfoPlain = {
784
745
  };
785
746
  export class BatchInfo implements Required<BatchInfoPlain> {
786
747
  constructor();
787
- constructor(batch: BatchInfoPlain);
788
- constructor(name: string, startedAt: string | Date, id: string);
748
+ constructor(batch?: BatchInfoPlain);
749
+ constructor(name?: string, startedAt?: string | Date, id?: string);
789
750
  get id(): string;
790
751
  set id(id: string);
791
752
  getId(): string;
@@ -810,7 +771,8 @@ export class BatchInfo implements Required<BatchInfoPlain> {
810
771
  set properties(properties: Array<PropertyDataPlain>);
811
772
  getProperties(): Array<PropertyData>;
812
773
  setProperties(properties: Array<PropertyDataPlain>): BatchInfo;
813
- addProperty(property: PropertyDataPlain): BatchInfo;
774
+ addProperty(name: string, value: string): BatchInfo;
775
+ addProperty(prop: PropertyDataPlain): BatchInfo;
814
776
  }
815
777
  export type CutProviderPlain = { top: number; right: number; bottom: number; left: number; } | { x: number; y: number; width: number; height: number; };
816
778
  export class CutProvider implements Required<{
@@ -870,7 +832,7 @@ export type FloatingMatchSettingsPlain = {
870
832
  export class FloatingMatchSettings implements Required<FloatingMatchSettingsPlain> {
871
833
  constructor(settings: FloatingMatchSettingsPlain);
872
834
  constructor(region: RegionPlain);
873
- constructor(x: number, y: number, width: number, height: number, maxUpOffset: number, maxDownOffset: number, maxLeftOffset: number, maxRightOffset: number);
835
+ constructor(x: number, y: number, width: number, height: number, maxUpOffset?: number, maxDownOffset?: number, maxLeftOffset?: number, maxRightOffset?: number);
874
836
  get region(): RegionPlain;
875
837
  set region(region: RegionPlain);
876
838
  getRegion(): Region;
@@ -911,12 +873,12 @@ export type ImageMatchSettingsPlain = {
911
873
  layoutRegions?: Array<RegionPlain>;
912
874
  strictRegions?: Array<RegionPlain>;
913
875
  contentRegions?: Array<RegionPlain>;
914
- floatingRegions?: Array<FloatingMatchSettingsPlain | RegionPlain>;
915
- accessibilityRegions?: Array<AccessibilityMatchSettingsPlain | RegionPlain>;
876
+ floatingRegions?: Array<RegionPlain | FloatingMatchSettingsPlain>;
877
+ accessibilityRegions?: Array<RegionPlain | AccessibilityMatchSettingsPlain>;
916
878
  accessibilitySettings?: AccessibilitySettings;
917
879
  };
918
880
  export class ImageMatchSettings implements Required<ImageMatchSettingsPlain> {
919
- constructor(settings: ImageMatchSettingsPlain);
881
+ constructor(settings?: ImageMatchSettingsPlain);
920
882
  get exact(): ExactMatchSettingsPlain;
921
883
  set exact(exact: ExactMatchSettingsPlain);
922
884
  getExact(): ExactMatchSettings;
@@ -963,16 +925,16 @@ export class ImageMatchSettings implements Required<ImageMatchSettingsPlain> {
963
925
  set content(content: Array<RegionPlain>);
964
926
  getContentRegions(): Array<Region>;
965
927
  setContentRegions(contentRegions: Array<RegionPlain>): void;
966
- get floatingRegions(): Array<FloatingMatchSettingsPlain | RegionPlain>;
967
- set floatingRegions(floatingRegions: Array<FloatingMatchSettingsPlain | RegionPlain>);
968
- get floating(): Array<FloatingMatchSettingsPlain | RegionPlain>;
969
- set floating(floating: Array<FloatingMatchSettingsPlain | RegionPlain>);
928
+ get floatingRegions(): Array<RegionPlain | FloatingMatchSettingsPlain>;
929
+ set floatingRegions(floatingRegions: Array<RegionPlain | FloatingMatchSettingsPlain>);
930
+ get floating(): Array<RegionPlain | FloatingMatchSettingsPlain>;
931
+ set floating(floating: Array<RegionPlain | FloatingMatchSettingsPlain>);
970
932
  getFloatingRegions(): Array<FloatingMatchSettings>;
971
933
  setFloatingRegions(floatingRegions: Array<FloatingMatchSettingsPlain>): void;
972
- get accessibilityRegions(): Array<AccessibilityMatchSettingsPlain | RegionPlain>;
973
- set accessibilityRegions(accessibilityRegions: Array<AccessibilityMatchSettingsPlain | RegionPlain>);
974
- get accessibility(): Array<AccessibilityMatchSettingsPlain | RegionPlain>;
975
- set accessibility(accessibility: Array<AccessibilityMatchSettingsPlain | RegionPlain>);
934
+ get accessibilityRegions(): Array<RegionPlain | AccessibilityMatchSettingsPlain>;
935
+ set accessibilityRegions(accessibilityRegions: Array<RegionPlain | AccessibilityMatchSettingsPlain>);
936
+ get accessibility(): Array<RegionPlain | AccessibilityMatchSettingsPlain>;
937
+ set accessibility(accessibility: Array<RegionPlain | AccessibilityMatchSettingsPlain>);
976
938
  getAccessibilityRegions(): Array<AccessibilityMatchSettings>;
977
939
  setAccessibilityRegions(accessibilityRegions: Array<AccessibilityMatchSettingsPlain>): void;
978
940
  get accessibilitySettings(): AccessibilitySettings;
@@ -1001,7 +963,7 @@ export class Location implements Required<LocationPlain> {
1001
963
  getY(): number;
1002
964
  setY(y: number): void;
1003
965
  }
1004
- export type LogHandlerPlain = CustomLogHandlerPlain | FileLogHandlerPlain | ConsoleLogHandlerPlain;
966
+ export type LogHandlerPlain = CustomLogHandlerPlain | ConsoleLogHandlerPlain | FileLogHandlerPlain;
1005
967
  export type CustomLogHandlerPlain = {
1006
968
  log(message: any): void;
1007
969
  warn?(message: any): void;
@@ -1013,7 +975,7 @@ export type CustomLogHandlerPlain = {
1013
975
  export type FileLogHandlerPlain = { type: "file"; filename?: string; append?: boolean; };
1014
976
  export type ConsoleLogHandlerPlain = { type: "console"; };
1015
977
  export abstract class LogHandler implements CustomLogHandlerPlain {
1016
- constructor(verbose: boolean);
978
+ constructor(verbose?: boolean);
1017
979
  get verbose(): boolean;
1018
980
  set verbose(verbose: boolean);
1019
981
  getIsVerbose(): boolean;
@@ -1024,7 +986,7 @@ export abstract class LogHandler implements CustomLogHandlerPlain {
1024
986
  abstract close(): void;
1025
987
  }
1026
988
  export class FileLogHandler extends LogHandler implements FileLogHandlerPlain {
1027
- constructor(verbose: boolean, filename: string, append: boolean);
989
+ constructor(verbose?: boolean, filename?: string, append?: boolean);
1028
990
  readonly type: "file";
1029
991
  readonly filename: string;
1030
992
  readonly append: boolean;
@@ -1060,7 +1022,7 @@ export class PropertyData implements Required<PropertyDataPlain> {
1060
1022
  export type ProxySettingsPlain = { url: string; username?: string; password?: string; isHttpOnly?: boolean; };
1061
1023
  export class ProxySettings implements Required<ProxySettingsPlain> {
1062
1024
  constructor(proxy: ProxySettingsPlain);
1063
- constructor(url: string, username: string, password: string, isHttpOnly: boolean);
1025
+ constructor(url: string, username?: string, password?: string, isHttpOnly?: boolean);
1064
1026
  get url(): string;
1065
1027
  getUri(): string;
1066
1028
  getUrl(): string;
@@ -1118,6 +1080,7 @@ export class Region implements Required<RegionPlain> {
1118
1080
  export type DesktopBrowserInfo = { name?: BrowserTypePlain; width: number; height: number; };
1119
1081
  export type ChromeEmulationInfo = { chromeEmulationInfo: { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; }; };
1120
1082
  export type IOSDeviceInfo = { iosDeviceInfo: { deviceName: IosDeviceNamePlain; iosVersion?: IosVersionPlain; screenOrientation?: ScreenOrientationPlain; }; };
1083
+ export type AndroidDeviceInfo = { androidDeviceInfo: { deviceName: AndroidDeviceNamePlain; version?: AndroidVersionPlain; screenOrientation?: ScreenOrientationPlain; }; };
1121
1084
  export type RunnerOptionsPlain = { testConcurrency?: number; };
1122
1085
  export class RunnerOptionsFluent {
1123
1086
  testConcurrency(concurrency: number): RunnerOptionsFluent;
@@ -1134,46 +1097,35 @@ export type ApiUrlsPlain = {
1134
1097
  export class ApiUrls implements Required<ApiUrlsPlain> {
1135
1098
  get baselineImage(): string;
1136
1099
  getBaselineImage(): string;
1137
- setBaselineImage(setBaselineImage: string): void;
1138
1100
  get currentImage(): string;
1139
1101
  getCurrentImage(): string;
1140
- setCurrentImage(currentImage: string): void;
1141
1102
  get checkpointImage(): string;
1142
1103
  getCheckpointImage(): string;
1143
- setCheckpointImage(checkpointImage: string): void;
1144
1104
  get checkpointImageThumbnail(): string;
1145
1105
  getCheckpointImageThumbnail(): string;
1146
- setCheckpointImageThumbnail(checkpointImageThumbnail: string): void;
1147
1106
  get diffImage(): string;
1148
1107
  getDiffImage(): string;
1149
- setDiffImage(diffImage: string): void;
1150
1108
  }
1151
1109
  export type AppUrlsPlain = { readonly step?: string; readonly stepEditor?: string; };
1152
1110
  export class AppUrls implements Required<AppUrlsPlain> {
1153
1111
  get step(): string;
1154
1112
  getStep(): string;
1155
- setStep(step: string): void;
1156
1113
  get stepEditor(): string;
1157
1114
  getStepEditor(): string;
1158
- setStepEditor(stepEditor: string): void;
1159
1115
  }
1160
1116
  export type MatchResultPlain = { readonly asExpected?: boolean; readonly windowId?: number; };
1161
1117
  export class MatchResult implements Required<MatchResultPlain> {
1162
1118
  get asExpected(): boolean;
1163
1119
  getAsExpected(): boolean;
1164
- setAsExpected(asExpected: boolean): void;
1165
1120
  get windowId(): number;
1166
1121
  getWindowId(): number;
1167
- setWindowId(windowId: number): void;
1168
1122
  }
1169
1123
  export type SessionUrlsPlain = { readonly batch?: string; readonly session?: string; };
1170
1124
  export class SessionUrls implements Required<SessionUrlsPlain> {
1171
1125
  get batch(): string;
1172
1126
  getBatch(): string;
1173
- setBatch(batch: string): void;
1174
1127
  get session(): string;
1175
1128
  getSession(): string;
1176
- setSession(session: string): void;
1177
1129
  }
1178
1130
  export type StepInfoPlain = {
1179
1131
  readonly name?: string;
@@ -1187,25 +1139,18 @@ export type StepInfoPlain = {
1187
1139
  export class StepInfo implements Required<StepInfoPlain> {
1188
1140
  get name(): string;
1189
1141
  getName(): string;
1190
- setName(value: string): void;
1191
1142
  get isDifferent(): boolean;
1192
1143
  getIsDifferent(): boolean;
1193
- setIsDifferent(value: boolean): void;
1194
1144
  get hasBaselineImage(): boolean;
1195
1145
  getHasBaselineImage(): boolean;
1196
- setHasBaselineImage(value: boolean): void;
1197
1146
  get hasCurrentImage(): boolean;
1198
1147
  getHasCurrentImage(): boolean;
1199
- setHasCurrentImage(hasCurrentImage: boolean): void;
1200
1148
  get appUrls(): AppUrlsPlain;
1201
1149
  getAppUrls(): AppUrls;
1202
- setAppUrls(appUrls: AppUrlsPlain): void;
1203
1150
  get apiUrls(): ApiUrlsPlain;
1204
1151
  getApiUrls(): ApiUrls;
1205
- setApiUrls(apiUrls: ApiUrlsPlain): void;
1206
1152
  get renderId(): Array<string>;
1207
1153
  getRenderId(): Array<string>;
1208
- setRenderId(renderId: Array<string>): void;
1209
1154
  }
1210
1155
  export type TestAccessibilityStatus = { readonly status: AccessibilityStatusPlain; readonly level: AccessibilityLevelPlain; readonly version: AccessibilityGuidelinesVersionPlain; };
1211
1156
  export type TestResultsPlain = {
@@ -1243,107 +1188,132 @@ export type TestResultsPlain = {
1243
1188
  export class TestResults implements Required<TestResultsPlain> {
1244
1189
  get id(): string;
1245
1190
  getId(): string;
1246
- setId(id: string): void;
1247
1191
  get name(): string;
1248
1192
  getName(): string;
1249
- setName(name: string): void;
1250
1193
  get secretToken(): string;
1251
1194
  getSecretToken(): string;
1252
- setSecretToken(secretToken: string): void;
1253
1195
  get status(): TestResultsStatusPlain;
1254
1196
  getStatus(): TestResultsStatus;
1255
- setStatus(status: TestResultsStatus): void;
1256
1197
  get appName(): string;
1257
1198
  getAppName(): string;
1258
- setAppName(appName: string): void;
1259
1199
  get batchName(): string;
1260
1200
  getBatchName(): string;
1261
- setBatchName(batchName: string): void;
1262
1201
  get batchId(): string;
1263
1202
  getBatchId(): string;
1264
- setBatchId(batchId: string): void;
1265
1203
  get branchName(): string;
1266
1204
  getBranchName(): string;
1267
- setBranchName(branchName: string): void;
1268
1205
  get hostOS(): string;
1269
1206
  getHostOS(): string;
1270
- setHostOS(hostOS: string): void;
1271
1207
  get hostApp(): string;
1272
1208
  getHostApp(): string;
1273
- setHostApp(hostApp: string): void;
1274
1209
  get hostDisplaySize(): RectangleSizePlain;
1275
1210
  getHostDisplaySize(): RectangleSize;
1276
- setHostDisplaySize(hostDisplaySize: RectangleSizePlain): void;
1277
1211
  get accessibilityStatus(): TestAccessibilityStatus;
1278
1212
  getAccessibilityStatus(): TestAccessibilityStatus;
1279
- setAccessibilityStatus(accessibilityStatus: TestAccessibilityStatus): void;
1280
1213
  get startedAt(): string | Date;
1281
1214
  getStartedAt(): Date;
1282
- setStartedAt(startedAt: string | Date): void;
1283
1215
  get duration(): number;
1284
1216
  getDuration(): number;
1285
- setDuration(duration: number): void;
1286
1217
  get isNew(): boolean;
1287
1218
  getIsNew(): boolean;
1288
- setIsNew(isNew: boolean): void;
1289
1219
  get isDifferent(): boolean;
1290
1220
  getIsDifferent(): boolean;
1291
- setIsDifferent(isDifferent: boolean): void;
1292
1221
  get isAborted(): boolean;
1293
1222
  getIsAborted(): boolean;
1294
- setIsAborted(isAborted: boolean): void;
1295
1223
  get appUrls(): SessionUrlsPlain;
1296
1224
  getAppUrls(): SessionUrls;
1297
- setAppUrls(appUrls: SessionUrlsPlain): void;
1298
1225
  get apiUrls(): SessionUrlsPlain;
1299
1226
  getApiUrls(): SessionUrls;
1300
- setApiUrls(apiUrls: SessionUrlsPlain): void;
1301
1227
  get stepsInfo(): Array<StepInfoPlain>;
1302
1228
  getStepsInfo(): Array<StepInfo>;
1303
- setStepsInfo(stepInfo: Array<StepInfoPlain>): void;
1304
1229
  get steps(): number;
1305
1230
  getSteps(): number;
1306
- setSteps(steps: number): void;
1307
1231
  get matches(): number;
1308
1232
  getMatches(): number;
1309
- setMatches(matches: number): void;
1310
1233
  get mismatches(): number;
1311
1234
  getMismatches(): number;
1312
- setMismatches(mismatches: number): void;
1313
1235
  get missing(): number;
1314
1236
  getMissing(): number;
1315
- setMissing(missing: number): void;
1316
1237
  get exactMatches(): number;
1317
1238
  getExactMatches(): number;
1318
- setExactMatches(exactMatches: number): void;
1319
1239
  get strictMatches(): number;
1320
1240
  getStrictMatches(): number;
1321
- setStrictMatches(strictMatches: number): void;
1322
1241
  get contentMatches(): number;
1323
1242
  getContentMatches(): number;
1324
- setContentMatches(contentMatches: number): void;
1325
1243
  get layoutMatches(): number;
1326
1244
  getLayoutMatches(): number;
1327
- setLayoutMatches(layoutMatches: number): void;
1328
1245
  get noneMatches(): number;
1329
1246
  getNoneMatches(): number;
1330
- setNoneMatches(noneMatches: number): void;
1331
1247
  get url(): string;
1332
1248
  getUrl(): string;
1333
- setUrl(url: string): void;
1334
1249
  isPassed(): boolean;
1335
1250
  delete(): Promise<void>;
1336
- deleteSession(): Promise<void>;
1337
1251
  }
1338
- export type TestResultContainerPlain = { readonly exception: Error; readonly testResults: TestResultsPlain; };
1252
+ export type TestResultContainerPlain = { readonly exception?: Error; readonly testResults?: {
1253
+ readonly id?: string;
1254
+ readonly name?: string;
1255
+ readonly secretToken?: string;
1256
+ readonly status?: "Passed" | "Failed" | "Unresolved";
1257
+ readonly appName?: string;
1258
+ readonly batchId?: string;
1259
+ readonly batchName?: string;
1260
+ readonly branchName?: string;
1261
+ readonly hostOS?: string;
1262
+ readonly hostApp?: string;
1263
+ readonly hostDisplaySize?: { width: number; height: number; };
1264
+ readonly accessibilityStatus?: { readonly level: "AA" | "AAA"; readonly version: "WCAG_2_0" | "WCAG_2_1"; readonly status: "Passed" | "Failed"; };
1265
+ readonly startedAt?: string | Date;
1266
+ readonly duration?: number;
1267
+ readonly isNew?: boolean;
1268
+ readonly isDifferent?: boolean;
1269
+ readonly isAborted?: boolean;
1270
+ readonly appUrls?: { readonly batch?: string; readonly session?: string; };
1271
+ readonly apiUrls?: { readonly batch?: string; readonly session?: string; };
1272
+ readonly stepsInfo?: Array<{
1273
+ readonly name?: string;
1274
+ readonly isDifferent?: boolean;
1275
+ readonly hasBaselineImage?: boolean;
1276
+ readonly hasCurrentImage?: boolean;
1277
+ readonly appUrls?: { readonly step?: string; readonly stepEditor?: string; };
1278
+ readonly apiUrls?: {
1279
+ readonly baselineImage?: string;
1280
+ readonly currentImage?: string;
1281
+ readonly checkpointImage?: string;
1282
+ readonly checkpointImageThumbnail?: string;
1283
+ readonly diffImage?: string;
1284
+ };
1285
+ readonly renderId?: Array<string>;
1286
+ }>;
1287
+ readonly steps?: number;
1288
+ readonly matches?: number;
1289
+ readonly mismatches?: number;
1290
+ readonly missing?: number;
1291
+ readonly exactMatches?: number;
1292
+ readonly strictMatches?: number;
1293
+ readonly contentMatches?: number;
1294
+ readonly layoutMatches?: number;
1295
+ readonly noneMatches?: number;
1296
+ readonly url?: string;
1297
+ }; readonly browserInfo?: { name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "ie" | "ie10" | "edge" | "edgechromium" | "edgelegacy" | "edgechromium-one-version-back" | "edgechromium-two-versions-back" | "safari" | "safari-earlyaccess" | "safari-one-version-back" | "safari-two-versions-back"; width: number; height: number; } | { chromeEmulationInfo: { deviceName: "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy A5" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy Note 2" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy Note 8" | "Galaxy Note 9" | "Galaxy S3" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy S20" | "Galaxy S22" | "Galaxy Tab S7" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "Kindle Fire HDX" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch" | "LG G6" | "LG Optimus L70" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Nokia Lumia 520" | "Nokia N9" | "OnePlus 7T" | "OnePlus 7T Pro" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5"; screenOrientation?: "landscape" | "portrait"; }; } | { iosDeviceInfo: { deviceName: "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone X" | "iPhone XR" | "iPhone 13 Pro Max" | "iPhone 13 Pro" | "iPhone 13" | "iPhone 12 Pro Max" | "iPhone 12 Pro" | "iPhone 12" | "iPhone 12 mini" | "iPhone Xs" | "iPhone 8" | "iPhone 8 Plus" | "iPhone 7" | "iPhone SE (1st generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad (7th generation)" | "iPad (9th generation)" | "iPad Air (2nd generation)" | "iPad Air (4th generation)"; iosVersion?: "latest" | "latest-1"; screenOrientation?: "landscape" | "portrait"; }; } | { androidDeviceInfo: { deviceName: "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy Note 8" | "Galaxy Note 9" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy S20" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Galaxy S20 Plus" | "Galaxy S21" | "Galaxy S21 Plus" | "Galaxy S21 Ultra"; version?: "latest" | "latest-1" | "latest-2"; screenOrientation?: "landscape" | "portrait"; }; }; };
1339
1298
  export class TestResultContainer implements Required<TestResultContainerPlain> {
1340
1299
  get testResults(): TestResultsPlain;
1341
1300
  getTestResults(): TestResults;
1342
1301
  get exception(): Error;
1343
1302
  getException(): Error;
1303
+ get browserInfo(): { name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "ie" | "ie10" | "edge" | "edgechromium" | "edgelegacy" | "edgechromium-one-version-back" | "edgechromium-two-versions-back" | "safari" | "safari-earlyaccess" | "safari-one-version-back" | "safari-two-versions-back"; width: number; height: number; } | { chromeEmulationInfo: { deviceName: "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy A5" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy Note 2" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy Note 8" | "Galaxy Note 9" | "Galaxy S3" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy S20" | "Galaxy S22" | "Galaxy Tab S7" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "Kindle Fire HDX" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch" | "LG G6" | "LG Optimus L70" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Nokia Lumia 520" | "Nokia N9" | "OnePlus 7T" | "OnePlus 7T Pro" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5"; screenOrientation?: "landscape" | "portrait"; }; } | { iosDeviceInfo: { deviceName: "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone X" | "iPhone XR" | "iPhone 13 Pro Max" | "iPhone 13 Pro" | "iPhone 13" | "iPhone 12 Pro Max" | "iPhone 12 Pro" | "iPhone 12" | "iPhone 12 mini" | "iPhone Xs" | "iPhone 8" | "iPhone 8 Plus" | "iPhone 7" | "iPhone SE (1st generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad (7th generation)" | "iPad (9th generation)" | "iPad Air (2nd generation)" | "iPad Air (4th generation)"; iosVersion?: "latest" | "latest-1"; screenOrientation?: "landscape" | "portrait"; }; } | { androidDeviceInfo: { deviceName: "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy Note 8" | "Galaxy Note 9" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy S20" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Galaxy S20 Plus" | "Galaxy S21" | "Galaxy S21 Plus" | "Galaxy S21 Ultra"; version?: "latest" | "latest-1" | "latest-2"; screenOrientation?: "landscape" | "portrait"; }; };
1304
+ getBrowserInfo(): { name?: "chrome" | "chrome-one-version-back" | "chrome-two-versions-back" | "firefox" | "firefox-one-version-back" | "firefox-two-versions-back" | "ie" | "ie10" | "edge" | "edgechromium" | "edgelegacy" | "edgechromium-one-version-back" | "edgechromium-two-versions-back" | "safari" | "safari-earlyaccess" | "safari-one-version-back" | "safari-two-versions-back"; width: number; height: number; } | { chromeEmulationInfo: { deviceName: "Blackberry PlayBook" | "BlackBerry Z30" | "Galaxy A5" | "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy Note 2" | "Galaxy Note 3" | "Galaxy Note 4" | "Galaxy Note 8" | "Galaxy Note 9" | "Galaxy S3" | "Galaxy S5" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy S20" | "Galaxy S22" | "Galaxy Tab S7" | "iPad" | "iPad 6th Gen" | "iPad 7th Gen" | "iPad Air 2" | "iPad Mini" | "iPad Pro" | "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone 4" | "iPhone 5/SE" | "iPhone 6/7/8" | "iPhone 6/7/8 Plus" | "iPhone X" | "iPhone XR" | "iPhone XS" | "iPhone XS Max" | "Kindle Fire HDX" | "Laptop with HiDPI screen" | "Laptop with MDPI screen" | "Laptop with touch" | "LG G6" | "LG Optimus L70" | "Microsoft Lumia 550" | "Microsoft Lumia 950" | "Nexus 10" | "Nexus 4" | "Nexus 5" | "Nexus 5X" | "Nexus 6" | "Nexus 6P" | "Nexus 7" | "Nokia Lumia 520" | "Nokia N9" | "OnePlus 7T" | "OnePlus 7T Pro" | "Pixel 2" | "Pixel 2 XL" | "Pixel 3" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5"; screenOrientation?: "landscape" | "portrait"; }; } | { iosDeviceInfo: { deviceName: "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone X" | "iPhone XR" | "iPhone 13 Pro Max" | "iPhone 13 Pro" | "iPhone 13" | "iPhone 12 Pro Max" | "iPhone 12 Pro" | "iPhone 12" | "iPhone 12 mini" | "iPhone Xs" | "iPhone 8" | "iPhone 8 Plus" | "iPhone 7" | "iPhone SE (1st generation)" | "iPad Pro (12.9-inch) (3rd generation)" | "iPad (7th generation)" | "iPad (9th generation)" | "iPad Air (2nd generation)" | "iPad Air (4th generation)"; iosVersion?: "latest" | "latest-1"; screenOrientation?: "landscape" | "portrait"; }; } | { androidDeviceInfo: { deviceName: "Galaxy Note 10" | "Galaxy Note 10 Plus" | "Galaxy Note 8" | "Galaxy Note 9" | "Galaxy S8" | "Galaxy S8 Plus" | "Galaxy S9" | "Galaxy S9 Plus" | "Galaxy S10" | "Galaxy S10 Plus" | "Galaxy S20" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Galaxy S20 Plus" | "Galaxy S21" | "Galaxy S21 Plus" | "Galaxy S21 Ultra"; version?: "latest" | "latest-1" | "latest-2"; screenOrientation?: "landscape" | "portrait"; }; };
1344
1305
  }
1345
- export type TestResultsSummaryPlain = Iterable<TestResultContainerPlain>;
1346
- export class TestResultsSummary implements TestResultsSummaryPlain {
1306
+ export type TestResultsSummaryPlain = {
1307
+ results: Array<TestResultContainerPlain>;
1308
+ passed: number;
1309
+ unresolved: number;
1310
+ failed: number;
1311
+ exceptions: number;
1312
+ mismatches: number;
1313
+ missing: number;
1314
+ matches: number;
1315
+ };
1316
+ export class TestResultsSummary implements Iterable<TestResultContainerPlain> {
1347
1317
  getAllResults(): Array<TestResultContainer>;
1348
1318
  [Symbol.iterator](): Iterator<TestResultContainer, any, undefined>;
1349
1319
  }
@@ -1368,32 +1338,29 @@ export class ValidationResult implements Required<ValidationResultPlain> {
1368
1338
  }
1369
1339
  export type EyesSelector<TSelector = never> = string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; };
1370
1340
  export class Logger {
1371
- constructor(options: { show?: boolean; label?: string; handler?: LogHandlerPlain; });
1372
- constructor(show: boolean);
1341
+ constructor(options?: { show?: boolean; label?: string; handler?: LogHandlerPlain; });
1342
+ constructor(show?: boolean);
1373
1343
  getLogHandler(): LogHandler;
1374
1344
  setLogHandler(handler: LogHandlerPlain): void;
1375
- verbose(messages: Array<any>): void;
1376
- log(messages: Array<any>): void;
1377
- warn(messages: Array<any>): void;
1378
- error(messages: Array<any>): void;
1379
- fatal(messages: Array<any>): void;
1345
+ verbose(...messages: Array<any>): void;
1346
+ log(...messages: Array<any>): void;
1347
+ warn(...messages: Array<any>): void;
1348
+ error(...messages: Array<any>): void;
1349
+ fatal(...messages: Array<any>): void;
1380
1350
  open(): void;
1381
1351
  close(): void;
1382
- extend(label: string, color: string | Array<string>): Logger;
1352
+ tag(name: string, value: any): void;
1353
+ extend(label?: string): Logger;
1383
1354
  }
1384
1355
  export function closeBatch(spec: { closeBatches(options: { settings: { batchIds: Array<string>; serverUrl?: string; apiKey?: string; proxy?: ProxySettingsPlain; }; }): Promise<void>; }): (options: { batchIds: Array<string>; serverUrl?: string; apiKey?: string; proxy?: ProxySettingsPlain; }) => Promise<void>;
1385
1356
  export abstract class EyesRunner {
1386
- getAllTestResults(throwErr: boolean): Promise<TestResultsSummary>;
1357
+ getAllTestResults(throwErr?: boolean): Promise<TestResultsSummary>;
1387
1358
  }
1388
1359
  export class ClassicRunner extends EyesRunner {
1389
1360
  }
1390
1361
  export class VisualGridRunner extends EyesRunner {
1391
- constructor(options: RunnerOptionsPlain);
1392
- constructor(options: RunnerOptionsFluent);
1393
- constructor(legacyConcurrency: number);
1362
+ constructor(options?: RunnerOptionsPlain);
1394
1363
  get testConcurrency(): number;
1395
- get legacyConcurrency(): number;
1396
- getConcurrentSessions(): number;
1397
1364
  }
1398
1365
  export abstract class SessionEventHandler {
1399
1366
  abstract initStarted(): any;
@@ -1420,7 +1387,7 @@ export class SessionEventHandlers extends SessionEventHandler {
1420
1387
  }
1421
1388
  export class RemoteSessionEventHandler extends SessionEventHandler {
1422
1389
  constructor(options: { serverUrl: string; accessKey?: string; timeout?: number; });
1423
- constructor(serverUrl: string, accessKey: string, timeout: number);
1390
+ constructor(serverUrl: string, accessKey?: string, timeout?: number);
1424
1391
  get serverUrl(): string;
1425
1392
  set serverUrl(serverUrl: string);
1426
1393
  getServerUrl(): string;