@applitools/eyes-puppeteer 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,33 @@
3
3
  ## Unreleased
4
4
 
5
5
 
6
+
7
+
8
+
9
+
10
+
11
+
12
+ ## 1.10.0 - 2022/6/1
13
+
14
+ ### Features
15
+ - Support UFG for native mobile
16
+ - `runner.getAllTestResults` returns the corresponding UFG browser/device configuration for each test. This is available as `runner.getAllTestResults()[i].browserInfo`.
17
+ - Support iPhone SE `IosDeviceName.iPhone_SE` and iPhone 8 Plus `IosDeviceName.iPhone_8_Plus` iOS devices
18
+ - Support Galaxy S22 `DeviceName.Galaxy_S22` emulation device
19
+ - Dorp support for Node.js versions <=12
20
+ ### Bug fixes
21
+ - `runner.getAllTestResults` now aborts unclosed tests
22
+ - `runner.getAllTestResults` now returns all results, including aborted tests
23
+ - `extractText` now supports regions that don't use hints while using `x`/`y` coordinates
24
+ - accept ios and android lowercase as driver platformName capability when using custom grid
25
+ - Fixed check region fully in classic execution when using CSS stitching
26
+ - Support data urls in iframes
27
+ - Allow running with self-signed certificates
28
+ - Fixed `CheckSetting`'s `fully` being overridden by `Configuration`'s `forceFullPageScreenshot`
29
+ - Set EyesExceptions (such as new test, diffs exception and failed test exception) to exception property in TestResultsSummary
30
+ - Improve error message when failed to set viewport size
31
+ - Fixed incorrect calculation of coded regions in classic mode when using CSS stitching
32
+
6
33
  ## 1.9.0 - 2021/11/10
7
34
 
8
35
  - support cookies
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.0",
4
4
  "description": "Applitools Eyes SDK for Puppeteer",
5
5
  "keywords": [
6
6
  "eyes-puppeteer",
@@ -29,11 +29,6 @@
29
29
  },
30
30
  "main": "./dist/index.js",
31
31
  "types": "./types/index.d.ts",
32
- "directories": {
33
- "lib": "./src",
34
- "example": "./example",
35
- "test": "./test"
36
- },
37
32
  "files": [
38
33
  "dist",
39
34
  "types"
@@ -41,18 +36,19 @@
41
36
  "scripts": {
42
37
  "lint": "eslint '**/*.ts'",
43
38
  "build": "ttsc",
44
- "generate:tests": "coverage-tests generate https://raw.githubusercontent.com/applitools/sdk.coverage.tests/master/js/config.js --name 'eyes-puppeteer'",
39
+ "generate:tests": "coverage-tests generate https://raw.githubusercontent.com/applitools/sdk.coverage.tests/universal-sdk/js/config.js --name 'eyes-puppeteer'",
45
40
  "test": "yarn test:coverage",
46
41
  "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
42
  "report": "coverage-tests report https://raw.githubusercontent.com/applitools/sdk.coverage.tests/master/js/config.js --name 'eyes-puppeteer'",
48
43
  "docker:build": "docker build -t applitools/puppeteer-chrome .",
49
44
  "docker:rebuild": "docker build --no-cache -t applitools/puppeteer-chrome .",
50
45
  "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",
46
+ "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
47
  "deps": "bongo deps",
52
48
  "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",
49
+ "gh:publish": "gh workflow run publish-puppeteer.yml --ref $(git rev-parse --abbrev-ref HEAD)",
50
+ "preversion": "bongo preversion --verifyPendingChanges && yarn build",
51
+ "version": "bongo version --withPendingChanges",
56
52
  "postversion": "bongo postversion"
57
53
  },
58
54
  "husky": {
@@ -61,39 +57,40 @@
61
57
  }
62
58
  },
63
59
  "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"
60
+ "@applitools/eyes-api": "1.5.0",
61
+ "@applitools/eyes-sdk-core": "13.6.25",
62
+ "@applitools/spec-driver-puppeteer": "1.1.3",
63
+ "@applitools/visual-grid-client": "15.12.36"
68
64
  },
69
65
  "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",
66
+ "@applitools/api-extractor": "1.2.8",
67
+ "@applitools/bongo": "^2.1.1",
68
+ "@applitools/scripts": "1.1.0",
69
+ "@applitools/sdk-coverage-tests": "2.3.18",
70
+ "@applitools/sdk-shared": "0.9.11",
71
+ "@applitools/test-utils": "1.3.2",
72
+ "@types/mocha": "^9.1.1",
73
+ "@types/node": "12",
74
+ "@typescript-eslint/eslint-plugin": "^5.27.0",
75
+ "@typescript-eslint/parser": "^5.27.0",
76
+ "eslint": "^8.16.0",
77
+ "eslint-config-prettier": "^8.5.0",
81
78
  "eslint-plugin-mocha-no-only": "^1.1.1",
82
79
  "eslint-plugin-node": "^11.1.0",
83
- "eslint-plugin-prettier": "^3.3.1",
80
+ "eslint-plugin-prettier": "^4.0.0",
84
81
  "husky": "^4.3.8",
85
- "mocha": "^8.0.1",
86
- "prettier": "^2.1.2",
87
- "puppeteer": "^11.0.0",
82
+ "mocha": "^9.2.2",
83
+ "prettier": "^2.6.2",
84
+ "puppeteer": "^14.1.2",
88
85
  "spec-xunit-file": "0.0.1-3",
89
- "ts-node": "^10.2.1",
90
- "ttypescript": "^1.5.12",
91
- "typescript": "^4.5.0-beta"
86
+ "ts-node": "^10.8.0",
87
+ "ttypescript": "^1.5.13",
88
+ "typescript": "^4.7.2"
92
89
  },
93
90
  "peerDependencies": {
94
91
  "puppeteer": ">=5.3.0"
95
92
  },
96
93
  "engines": {
97
- "node": ">=8.9.0"
94
+ "node": ">=12.13.0"
98
95
  }
99
96
  }
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,7 +17,7 @@ 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;
20
+ on(handler: (event: string, data?: Record<string, any>) => any): () => void;
21
21
  on(event: "setSizeWillStart", handler: (data: { viewportSize: RectangleSizePlain; }) => any): () => void;
22
22
  on(event: "setSizeEnded", handler: () => any): () => void;
23
23
  on(event: "initStarted", handler: () => any): () => void;
@@ -27,23 +27,23 @@ export class Eyes {
27
27
  on(event: "validationEnded", handler: (data: { sessionId: string; validationId: number; validationResult: ValidationResultPlain; }) => any): () => void;
28
28
  on(event: "testEnded", handler: (data: { sessionId: string; testResults: TestResultsPlain; }) => any): () => void;
29
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>;
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>;
41
41
  check(name: string, checkSettings: CheckSettings): Promise<MatchResult>;
42
- check(checkSettings: CheckSettingsPlain): Promise<MatchResult>;
42
+ check(checkSettings?: CheckSettingsPlain): Promise<MatchResult>;
43
43
  locate<TLocator extends string>(settings: VisualLocatorSettings<TLocator>): Promise<Record<TLocator, Array<RegionPlain>>>;
44
44
  extractTextRegions<TPattern extends string>(settings: OCRSettings<TPattern>): Promise<Record<TPattern, Array<TextRegion>>>;
45
45
  extractText(regions: Array<OCRRegion>): Promise<Array<string>>;
46
- close(throwErr: boolean): Promise<TestResults>;
46
+ close(throwErr?: boolean): Promise<TestResults>;
47
47
  closeAsync(): Promise<void>;
48
48
  abort(): Promise<TestResults>;
49
49
  abortAsync(): Promise<void>;
@@ -71,7 +71,7 @@ export class Eyes {
71
71
  clearProperties(): Configuration;
72
72
  getBatch(): BatchInfo;
73
73
  setBatch(batch: BatchInfoPlain): void;
74
- setBatch(name: string, id: string, startedAt: string | Date): void;
74
+ setBatch(name: string, id?: string, startedAt?: string | Date): void;
75
75
  getApiKey(): string;
76
76
  setApiKey(apiKey: string): void;
77
77
  getTestName(): string;
@@ -107,7 +107,7 @@ export class Eyes {
107
107
  getParentBranchName(): string;
108
108
  setParentBranchName(parentBranchName: string): void;
109
109
  setProxy(proxy: ProxySettingsPlain): void;
110
- setProxy(url: string, username: string, password: string, isHttpOnly: boolean): void;
110
+ setProxy(url: string, username?: string, password?: string, isHttpOnly?: boolean): void;
111
111
  setProxy(isEnabled: false): void;
112
112
  getProxy(): ProxySettings;
113
113
  getSaveDiffs(): boolean;
@@ -142,6 +142,7 @@ export type ConfigurationPlain = {
142
142
  apiKey?: string;
143
143
  serverUrl?: string;
144
144
  proxy?: ProxySettingsPlain;
145
+ autProxy?: { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; };
145
146
  isDisabled?: boolean;
146
147
  connectionTimeout?: number;
147
148
  removeSession?: boolean;
@@ -166,6 +167,7 @@ export type ConfigurationPlain = {
166
167
  baselineBranchName?: string;
167
168
  compareWithParentBranch?: boolean;
168
169
  ignoreBaseline?: boolean;
170
+ ignoreGitMergeBase?: boolean;
169
171
  saveFailedTests?: boolean;
170
172
  saveNewTests?: boolean;
171
173
  saveDiffs?: boolean;
@@ -190,7 +192,7 @@ export type ConfigurationPlain = {
190
192
  disableBrowserFetching?: boolean;
191
193
  };
192
194
  export class Configuration implements Required<ConfigurationPlain> {
193
- constructor(config: ConfigurationPlain);
195
+ constructor(config?: ConfigurationPlain);
194
196
  get logs(): LogHandlerPlain;
195
197
  set logs(logs: LogHandlerPlain);
196
198
  getShowLogs(): boolean;
@@ -249,8 +251,12 @@ export class Configuration implements Required<ConfigurationPlain> {
249
251
  set proxy(proxy: ProxySettingsPlain);
250
252
  getProxy(): ProxySettings;
251
253
  setProxy(proxy: ProxySettingsPlain): Configuration;
252
- setProxy(url: string, username: string, password: string, isHttpOnly: boolean): Configuration;
254
+ setProxy(url: string, username?: string, password?: string, isHttpOnly?: boolean): Configuration;
253
255
  setProxy(isEnabled: false): Configuration;
256
+ get autProxy(): { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; };
257
+ set autProxy(autProxy: { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; });
258
+ getAutProxy(): { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; };
259
+ setAutProxy(autProxy: { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; }): Configuration;
254
260
  get connectionTimeout(): number;
255
261
  set connectionTimeout(connectionTimeout: number);
256
262
  getConnectionTimeout(): number;
@@ -298,6 +304,10 @@ export class Configuration implements Required<ConfigurationPlain> {
298
304
  set compareWithParentBranch(compareWithParentBranch: boolean);
299
305
  getCompareWithParentBranch(): boolean;
300
306
  setCompareWithParentBranch(compareWithParentBranch: boolean): Configuration;
307
+ get ignoreGitMergeBase(): boolean;
308
+ set ignoreGitMergeBase(ignoreGitMergeBase: boolean);
309
+ getIgnoreGitMergeBase(): boolean;
310
+ setIgnoreGitMergeBase(ignoreGitMergeBase: boolean): Configuration;
301
311
  get ignoreBaseline(): boolean;
302
312
  set ignoreBaseline(ignoreBaseline: boolean);
303
313
  getIgnoreBaseline(): boolean;
@@ -404,12 +414,12 @@ export class Configuration implements Required<ConfigurationPlain> {
404
414
  setConcurrentSessions(concurrentSessions: number): Configuration;
405
415
  get browsersInfo(): Array<DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo>;
406
416
  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;
417
+ getBrowsersInfo(): Array<DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo>;
418
+ setBrowsersInfo(browsersInfo: Array<DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo>): Configuration;
419
+ addBrowsers(...browsersInfo: Array<DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo>): Configuration;
420
+ addBrowser(browserInfo: DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo): Configuration;
421
+ addBrowser(width: number, height: number, name?: BrowserTypePlain): Configuration;
422
+ addDeviceEmulation(deviceName: DeviceNamePlain, screenOrientation?: ScreenOrientationPlain): Configuration;
413
423
  get visualGridOptions(): { [key: string]: any; };
414
424
  set visualGridOptions(visualGridOptions: { [key: string]: any; });
415
425
  getVisualGridOptions(): { [key: string]: any; };
@@ -458,28 +468,29 @@ export type CheckSettingsPlain = {
458
468
  visualGridOptions?: { [key: string]: any; };
459
469
  hooks?: { beforeCaptureScreenshot: string; };
460
470
  renderId?: string;
471
+ pageId?: string;
461
472
  variationGroupId?: string;
462
473
  timeout?: number;
463
474
  waitBeforeCapture?: number;
464
475
  };
465
476
  export class CheckSettings {
466
- constructor(settings: CheckSettingsPlain);
477
+ constructor(settings?: CheckSettingsPlain);
467
478
  name(name: string): CheckSettings;
468
479
  withName(name: string): CheckSettings;
469
480
  region(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
470
481
  shadow(selector: string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }): CheckSettings;
471
482
  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;
483
+ 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
484
  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;
485
+ ignoreRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
475
486
  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;
487
+ ignores(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
477
488
  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;
489
+ layoutRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
479
490
  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;
491
+ strictRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
481
492
  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;
493
+ contentRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
483
494
  floatingRegion(region: {
484
495
  region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
485
496
  maxUpOffset?: number;
@@ -487,15 +498,15 @@ export class CheckSettings {
487
498
  maxLeftOffset?: number;
488
499
  maxRightOffset?: number;
489
500
  }): 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>; }))) | {
501
+ 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;
502
+ floatingRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
492
503
  region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
493
504
  maxUpOffset?: number;
494
505
  maxDownOffset?: number;
495
506
  maxLeftOffset?: number;
496
507
  maxRightOffset?: number;
497
508
  }>): CheckSettings;
498
- floatingRegions(maxOffset: number, regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
509
+ floatingRegions(maxOffset: number, ...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
499
510
  floating(region: {
500
511
  region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
501
512
  maxUpOffset?: number;
@@ -504,39 +515,40 @@ export class CheckSettings {
504
515
  maxRightOffset?: number;
505
516
  }): CheckSettings;
506
517
  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>; }))) | {
518
+ floatings(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
508
519
  region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
509
520
  maxUpOffset?: number;
510
521
  maxDownOffset?: number;
511
522
  maxLeftOffset?: number;
512
523
  maxRightOffset?: number;
513
524
  }>): CheckSettings;
514
- floatings(maxOffset: number, regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
525
+ floatings(maxOffset: number, ...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
515
526
  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;
527
+ accessibilityRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))), type?: AccessibilityRegionTypePlain): CheckSettings;
528
+ 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;
529
+ accessibilityRegions(type: AccessibilityRegionTypePlain, ...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
519
530
  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;
531
+ fully(fully?: boolean): CheckSettings;
532
+ stitchContent(stitchContent?: boolean): CheckSettings;
522
533
  matchLevel(matchLevel: MatchLevelPlain): CheckSettings;
523
534
  layout(): CheckSettings;
524
535
  exact(): CheckSettings;
525
536
  strict(): CheckSettings;
526
537
  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;
538
+ useDom(useDom?: boolean): CheckSettings;
539
+ sendDom(sendDom?: boolean): CheckSettings;
540
+ enablePatterns(enablePatterns?: boolean): CheckSettings;
541
+ ignoreDisplacements(ignoreDisplacements?: boolean): CheckSettings;
542
+ ignoreCaret(ignoreCaret?: boolean): CheckSettings;
532
543
  disableBrowserFetching(disableBrowserFetching: boolean): CheckSettings;
533
- layoutBreakpoints(layoutBreakpoints: boolean | Array<number>): CheckSettings;
544
+ layoutBreakpoints(layoutBreakpoints?: boolean | Array<number>): CheckSettings;
534
545
  hook(name: string, script: string): CheckSettings;
535
546
  beforeRenderScreenshotHook(script: string): CheckSettings;
536
547
  webHook(script: string): CheckSettings;
537
548
  visualGridOption(key: string, value: any): CheckSettings;
538
549
  visualGridOptions(options: { [key: string]: any; }): CheckSettings;
539
550
  renderId(renderId: string): CheckSettings;
551
+ pageId(pageId: string): CheckSettings;
540
552
  variationGroupId(variationGroupId: string): CheckSettings;
541
553
  timeout(timeout: number): CheckSettings;
542
554
  waitBeforeCapture(waitBeforeCapture: number): CheckSettings;
@@ -545,12 +557,12 @@ export const Target: {
545
557
  window(): CheckSettings;
546
558
  region(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
547
559
  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;
560
+ 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
561
  shadow(selector: string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }): CheckSettings;
550
562
  };
551
563
  export class BatchClose {
552
564
  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; });
565
+ constructor(options?: { batchIds: Array<string>; serverUrl?: string; apiKey?: string; proxy?: ProxySettingsPlain; });
554
566
  close(): Promise<void>;
555
567
  setBatchIds(batchIds: Array<string>): BatchClose;
556
568
  setUrl(serverUrl: string): BatchClose;
@@ -606,7 +618,7 @@ export enum CorsIframeHandle {
606
618
  KEEP = 'KEEP',
607
619
  SNAPSHOT = 'SNAPSHOT'
608
620
  }
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";
621
+ 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
622
  export enum DeviceName {
611
623
  Blackberry_PlayBook = 'Blackberry PlayBook',
612
624
  BlackBerry_Z30 = 'BlackBerry Z30',
@@ -627,6 +639,8 @@ export enum DeviceName {
627
639
  Galaxy_S10 = 'Galaxy S10',
628
640
  Galaxy_S10_Plus = 'Galaxy S10 Plus',
629
641
  Galaxy_S20 = 'Galaxy S20',
642
+ Galaxy_S22 = 'Galaxy S22',
643
+ Galaxy_Tab_S7 = 'Galaxy Tab S7',
630
644
  iPad = 'iPad',
631
645
  iPad_6th_Gen = 'iPad 6th Gen',
632
646
  iPad_7th_Gen = 'iPad 7th Gen',
@@ -676,7 +690,7 @@ export enum FailureReport {
676
690
  IMMEDIATE = 'IMMEDIATE',
677
691
  ON_CLOSE = 'ON_CLOSE'
678
692
  }
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)";
693
+ 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
694
  export enum IosDeviceName {
681
695
  iPhone_13_Pro_Max = 'iPhone 13 Pro Max',
682
696
  iPhone_13_Pro = 'iPhone 13 Pro',
@@ -692,11 +706,14 @@ export enum IosDeviceName {
692
706
  iPhone_XS = 'iPhone Xs',
693
707
  iPhone_X = 'iPhone X',
694
708
  iPhone_8 = 'iPhone 8',
709
+ iPhone_8_Plus = 'iPhone 8 Plus',
695
710
  iPhone_7 = 'iPhone 7',
711
+ iPhone_SE = 'iPhone SE (1st generation)',
696
712
  iPad_Pro_3 = 'iPad Pro (12.9-inch) (3rd generation)',
697
713
  iPad_7 = 'iPad (7th generation)',
698
714
  iPad_9 = 'iPad (9th generation)',
699
- iPad_Air_2 = 'iPad Air (2nd generation)'
715
+ iPad_Air_2 = 'iPad Air (2nd generation)',
716
+ iPad_Air_4 = 'iPad Air (4th generation)'
700
717
  }
701
718
  export type IosVersionPlain = "latest" | "latest-1";
702
719
  export enum IosVersion {
@@ -714,7 +731,7 @@ export enum MatchLevel {
714
731
  Strict = 'Strict',
715
732
  Exact = 'Exact'
716
733
  }
717
- export type ScreenOrientationPlain = "portrait" | "landscape";
734
+ export type ScreenOrientationPlain = "landscape" | "portrait";
718
735
  export enum ScreenOrientation {
719
736
  PORTRAIT = 'portrait',
720
737
  LANDSCAPE = 'landscape'
@@ -724,7 +741,7 @@ export enum SessionType {
724
741
  SEQUENTIAL = 'SEQUENTIAL',
725
742
  PROGRESSION = 'PROGRESSION'
726
743
  }
727
- export type StitchModePlain = "Scroll" | "CSS";
744
+ export type StitchModePlain = "CSS" | "Scroll";
728
745
  export enum StitchMode {
729
746
  SCROLL = 'Scroll',
730
747
  CSS = 'CSS'
@@ -738,24 +755,24 @@ export enum TestResultsStatus {
738
755
  export class EyesError extends Error {
739
756
  }
740
757
  export class TestFailedError extends EyesError {
741
- constructor(message: string, results: TestResultsPlain);
758
+ constructor(message: string, results?: TestResultsPlain);
742
759
  constructor(results: TestResultsPlain);
743
760
  get testResults(): TestResultsPlain;
744
761
  getTestResults(): TestResults;
745
762
  }
746
763
  export class DiffsFoundError extends TestFailedError {
747
- constructor(message: string, results: TestResultsPlain);
764
+ constructor(message: string, results?: TestResultsPlain);
748
765
  constructor(results: TestResultsPlain);
749
766
  }
750
767
  export class NewTestError extends TestFailedError {
751
- constructor(message: string, results: TestResultsPlain);
768
+ constructor(message: string, results?: TestResultsPlain);
752
769
  constructor(results: TestResultsPlain);
753
770
  }
754
771
  export type AccessibilityMatchSettingsPlain = { region: RegionPlain; type?: AccessibilityRegionTypePlain; };
755
772
  export class AccessibilityMatchSettings implements Required<AccessibilityMatchSettingsPlain> {
756
773
  constructor(settings: AccessibilityMatchSettingsPlain);
757
774
  constructor(region: RegionPlain);
758
- constructor(x: number, y: number, width: number, height: number, type: AccessibilityRegionTypePlain);
775
+ constructor(x: number, y: number, width: number, height: number, type?: AccessibilityRegionTypePlain);
759
776
  get region(): RegionPlain;
760
777
  set region(region: RegionPlain);
761
778
  getRegion(): Region;
@@ -784,8 +801,8 @@ export type BatchInfoPlain = {
784
801
  };
785
802
  export class BatchInfo implements Required<BatchInfoPlain> {
786
803
  constructor();
787
- constructor(batch: BatchInfoPlain);
788
- constructor(name: string, startedAt: string | Date, id: string);
804
+ constructor(batch?: BatchInfoPlain);
805
+ constructor(name?: string, startedAt?: string | Date, id?: string);
789
806
  get id(): string;
790
807
  set id(id: string);
791
808
  getId(): string;
@@ -810,7 +827,8 @@ export class BatchInfo implements Required<BatchInfoPlain> {
810
827
  set properties(properties: Array<PropertyDataPlain>);
811
828
  getProperties(): Array<PropertyData>;
812
829
  setProperties(properties: Array<PropertyDataPlain>): BatchInfo;
813
- addProperty(property: PropertyDataPlain): BatchInfo;
830
+ addProperty(name: string, value: string): BatchInfo;
831
+ addProperty(prop: PropertyDataPlain): BatchInfo;
814
832
  }
815
833
  export type CutProviderPlain = { top: number; right: number; bottom: number; left: number; } | { x: number; y: number; width: number; height: number; };
816
834
  export class CutProvider implements Required<{
@@ -870,7 +888,7 @@ export type FloatingMatchSettingsPlain = {
870
888
  export class FloatingMatchSettings implements Required<FloatingMatchSettingsPlain> {
871
889
  constructor(settings: FloatingMatchSettingsPlain);
872
890
  constructor(region: RegionPlain);
873
- constructor(x: number, y: number, width: number, height: number, maxUpOffset: number, maxDownOffset: number, maxLeftOffset: number, maxRightOffset: number);
891
+ constructor(x: number, y: number, width: number, height: number, maxUpOffset?: number, maxDownOffset?: number, maxLeftOffset?: number, maxRightOffset?: number);
874
892
  get region(): RegionPlain;
875
893
  set region(region: RegionPlain);
876
894
  getRegion(): Region;
@@ -911,12 +929,12 @@ export type ImageMatchSettingsPlain = {
911
929
  layoutRegions?: Array<RegionPlain>;
912
930
  strictRegions?: Array<RegionPlain>;
913
931
  contentRegions?: Array<RegionPlain>;
914
- floatingRegions?: Array<FloatingMatchSettingsPlain | RegionPlain>;
915
- accessibilityRegions?: Array<AccessibilityMatchSettingsPlain | RegionPlain>;
932
+ floatingRegions?: Array<RegionPlain | FloatingMatchSettingsPlain>;
933
+ accessibilityRegions?: Array<RegionPlain | AccessibilityMatchSettingsPlain>;
916
934
  accessibilitySettings?: AccessibilitySettings;
917
935
  };
918
936
  export class ImageMatchSettings implements Required<ImageMatchSettingsPlain> {
919
- constructor(settings: ImageMatchSettingsPlain);
937
+ constructor(settings?: ImageMatchSettingsPlain);
920
938
  get exact(): ExactMatchSettingsPlain;
921
939
  set exact(exact: ExactMatchSettingsPlain);
922
940
  getExact(): ExactMatchSettings;
@@ -963,16 +981,16 @@ export class ImageMatchSettings implements Required<ImageMatchSettingsPlain> {
963
981
  set content(content: Array<RegionPlain>);
964
982
  getContentRegions(): Array<Region>;
965
983
  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>);
984
+ get floatingRegions(): Array<RegionPlain | FloatingMatchSettingsPlain>;
985
+ set floatingRegions(floatingRegions: Array<RegionPlain | FloatingMatchSettingsPlain>);
986
+ get floating(): Array<RegionPlain | FloatingMatchSettingsPlain>;
987
+ set floating(floating: Array<RegionPlain | FloatingMatchSettingsPlain>);
970
988
  getFloatingRegions(): Array<FloatingMatchSettings>;
971
989
  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>);
990
+ get accessibilityRegions(): Array<RegionPlain | AccessibilityMatchSettingsPlain>;
991
+ set accessibilityRegions(accessibilityRegions: Array<RegionPlain | AccessibilityMatchSettingsPlain>);
992
+ get accessibility(): Array<RegionPlain | AccessibilityMatchSettingsPlain>;
993
+ set accessibility(accessibility: Array<RegionPlain | AccessibilityMatchSettingsPlain>);
976
994
  getAccessibilityRegions(): Array<AccessibilityMatchSettings>;
977
995
  setAccessibilityRegions(accessibilityRegions: Array<AccessibilityMatchSettingsPlain>): void;
978
996
  get accessibilitySettings(): AccessibilitySettings;
@@ -1001,7 +1019,7 @@ export class Location implements Required<LocationPlain> {
1001
1019
  getY(): number;
1002
1020
  setY(y: number): void;
1003
1021
  }
1004
- export type LogHandlerPlain = CustomLogHandlerPlain | FileLogHandlerPlain | ConsoleLogHandlerPlain;
1022
+ export type LogHandlerPlain = CustomLogHandlerPlain | ConsoleLogHandlerPlain | FileLogHandlerPlain;
1005
1023
  export type CustomLogHandlerPlain = {
1006
1024
  log(message: any): void;
1007
1025
  warn?(message: any): void;
@@ -1013,7 +1031,7 @@ export type CustomLogHandlerPlain = {
1013
1031
  export type FileLogHandlerPlain = { type: "file"; filename?: string; append?: boolean; };
1014
1032
  export type ConsoleLogHandlerPlain = { type: "console"; };
1015
1033
  export abstract class LogHandler implements CustomLogHandlerPlain {
1016
- constructor(verbose: boolean);
1034
+ constructor(verbose?: boolean);
1017
1035
  get verbose(): boolean;
1018
1036
  set verbose(verbose: boolean);
1019
1037
  getIsVerbose(): boolean;
@@ -1024,7 +1042,7 @@ export abstract class LogHandler implements CustomLogHandlerPlain {
1024
1042
  abstract close(): void;
1025
1043
  }
1026
1044
  export class FileLogHandler extends LogHandler implements FileLogHandlerPlain {
1027
- constructor(verbose: boolean, filename: string, append: boolean);
1045
+ constructor(verbose?: boolean, filename?: string, append?: boolean);
1028
1046
  readonly type: "file";
1029
1047
  readonly filename: string;
1030
1048
  readonly append: boolean;
@@ -1060,7 +1078,7 @@ export class PropertyData implements Required<PropertyDataPlain> {
1060
1078
  export type ProxySettingsPlain = { url: string; username?: string; password?: string; isHttpOnly?: boolean; };
1061
1079
  export class ProxySettings implements Required<ProxySettingsPlain> {
1062
1080
  constructor(proxy: ProxySettingsPlain);
1063
- constructor(url: string, username: string, password: string, isHttpOnly: boolean);
1081
+ constructor(url: string, username?: string, password?: string, isHttpOnly?: boolean);
1064
1082
  get url(): string;
1065
1083
  getUri(): string;
1066
1084
  getUrl(): string;
@@ -1335,15 +1353,71 @@ export class TestResults implements Required<TestResultsPlain> {
1335
1353
  delete(): Promise<void>;
1336
1354
  deleteSession(): Promise<void>;
1337
1355
  }
1338
- export type TestResultContainerPlain = { readonly exception: Error; readonly testResults: TestResultsPlain; };
1356
+ export type TestResultContainerPlain = { readonly exception?: Error; readonly testResults?: {
1357
+ readonly id?: string;
1358
+ readonly name?: string;
1359
+ readonly secretToken?: string;
1360
+ readonly status?: "Passed" | "Failed" | "Unresolved";
1361
+ readonly appName?: string;
1362
+ readonly batchId?: string;
1363
+ readonly batchName?: string;
1364
+ readonly branchName?: string;
1365
+ readonly hostOS?: string;
1366
+ readonly hostApp?: string;
1367
+ readonly hostDisplaySize?: { width: number; height: number; };
1368
+ readonly accessibilityStatus?: { readonly level: "AA" | "AAA"; readonly version: "WCAG_2_0" | "WCAG_2_1"; readonly status: "Passed" | "Failed"; };
1369
+ readonly startedAt?: string | Date;
1370
+ readonly duration?: number;
1371
+ readonly isNew?: boolean;
1372
+ readonly isDifferent?: boolean;
1373
+ readonly isAborted?: boolean;
1374
+ readonly appUrls?: { readonly batch?: string; readonly session?: string; };
1375
+ readonly apiUrls?: { readonly batch?: string; readonly session?: string; };
1376
+ readonly stepsInfo?: Array<{
1377
+ readonly name?: string;
1378
+ readonly isDifferent?: boolean;
1379
+ readonly hasBaselineImage?: boolean;
1380
+ readonly hasCurrentImage?: boolean;
1381
+ readonly appUrls?: { readonly step?: string; readonly stepEditor?: string; };
1382
+ readonly apiUrls?: {
1383
+ readonly baselineImage?: string;
1384
+ readonly currentImage?: string;
1385
+ readonly checkpointImage?: string;
1386
+ readonly checkpointImageThumbnail?: string;
1387
+ readonly diffImage?: string;
1388
+ };
1389
+ readonly renderId?: Array<string>;
1390
+ }>;
1391
+ readonly steps?: number;
1392
+ readonly matches?: number;
1393
+ readonly mismatches?: number;
1394
+ readonly missing?: number;
1395
+ readonly exactMatches?: number;
1396
+ readonly strictMatches?: number;
1397
+ readonly contentMatches?: number;
1398
+ readonly layoutMatches?: number;
1399
+ readonly noneMatches?: number;
1400
+ readonly url?: string;
1401
+ }; 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"; }; }; };
1339
1402
  export class TestResultContainer implements Required<TestResultContainerPlain> {
1340
1403
  get testResults(): TestResultsPlain;
1341
1404
  getTestResults(): TestResults;
1342
1405
  get exception(): Error;
1343
1406
  getException(): Error;
1407
+ 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"; }; };
1408
+ 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"; }; };
1344
1409
  }
1345
- export type TestResultsSummaryPlain = Iterable<TestResultContainerPlain>;
1346
- export class TestResultsSummary implements TestResultsSummaryPlain {
1410
+ export type TestResultsSummaryPlain = {
1411
+ results: Array<TestResultContainerPlain>;
1412
+ passed: number;
1413
+ unresolved: number;
1414
+ failed: number;
1415
+ exceptions: number;
1416
+ mismatches: number;
1417
+ missing: number;
1418
+ matches: number;
1419
+ };
1420
+ export class TestResultsSummary implements Iterable<TestResultContainerPlain> {
1347
1421
  getAllResults(): Array<TestResultContainer>;
1348
1422
  [Symbol.iterator](): Iterator<TestResultContainer, any, undefined>;
1349
1423
  }
@@ -1368,29 +1442,30 @@ export class ValidationResult implements Required<ValidationResultPlain> {
1368
1442
  }
1369
1443
  export type EyesSelector<TSelector = never> = string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; };
1370
1444
  export class Logger {
1371
- constructor(options: { show?: boolean; label?: string; handler?: LogHandlerPlain; });
1372
- constructor(show: boolean);
1445
+ constructor(options?: { show?: boolean; label?: string; handler?: LogHandlerPlain; });
1446
+ constructor(show?: boolean);
1373
1447
  getLogHandler(): LogHandler;
1374
1448
  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;
1449
+ verbose(...messages: Array<any>): void;
1450
+ log(...messages: Array<any>): void;
1451
+ warn(...messages: Array<any>): void;
1452
+ error(...messages: Array<any>): void;
1453
+ fatal(...messages: Array<any>): void;
1380
1454
  open(): void;
1381
1455
  close(): void;
1382
- extend(label: string, color: string | Array<string>): Logger;
1456
+ tag(name: string, value: any): void;
1457
+ extend(label?: string): Logger;
1383
1458
  }
1384
1459
  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
1460
  export abstract class EyesRunner {
1386
- getAllTestResults(throwErr: boolean): Promise<TestResultsSummary>;
1461
+ getAllTestResults(throwErr?: boolean): Promise<TestResultsSummary>;
1387
1462
  }
1388
1463
  export class ClassicRunner extends EyesRunner {
1389
1464
  }
1390
1465
  export class VisualGridRunner extends EyesRunner {
1391
- constructor(options: RunnerOptionsPlain);
1392
- constructor(options: RunnerOptionsFluent);
1393
- constructor(legacyConcurrency: number);
1466
+ constructor(options?: RunnerOptionsPlain);
1467
+ constructor(options?: RunnerOptionsFluent);
1468
+ constructor(legacyConcurrency?: number);
1394
1469
  get testConcurrency(): number;
1395
1470
  get legacyConcurrency(): number;
1396
1471
  getConcurrentSessions(): number;
@@ -1420,7 +1495,7 @@ export class SessionEventHandlers extends SessionEventHandler {
1420
1495
  }
1421
1496
  export class RemoteSessionEventHandler extends SessionEventHandler {
1422
1497
  constructor(options: { serverUrl: string; accessKey?: string; timeout?: number; });
1423
- constructor(serverUrl: string, accessKey: string, timeout: number);
1498
+ constructor(serverUrl: string, accessKey?: string, timeout?: number);
1424
1499
  get serverUrl(): string;
1425
1500
  set serverUrl(serverUrl: string);
1426
1501
  getServerUrl(): string;