@applitools/eyes-webdriverio 5.35.7 → 5.36.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
@@ -10,6 +10,29 @@
10
10
 
11
11
 
12
12
 
13
+ ## 5.36.0 - 2022/9/29
14
+
15
+ ### Features
16
+ - Don't fail `eyes.open` when there is a failure to set viewport size in `UFG`.
17
+ - Added support for lazy loading views in android native apps
18
+ - Using `lazyLoad.waitingTime` as a delay between stitches by default
19
+ - Added `Sony Xperia 10 II` emulation device
20
+ - Added `iPhone 14` and `iPhone 14 Pro Max` ios devices
21
+ - Deprecated "Content" match level value in favor of "IgnoreColors"
22
+ - Added support for webview switching in classic execution
23
+ ### Bug fixes
24
+ - Fixed incorrect calculation of the target element position.
25
+
26
+ ## 5.35.8 - 2022/7/28
27
+
28
+ ### Features
29
+ - Added new android devices
30
+ ### Bug fixes
31
+ - Fixed various issues during taking screenshots in landscape orientation on some native devices
32
+ - Avoided unexpected touch actions during `check` on Android apps
33
+ - Better support in DOM slot element
34
+ - Fixed some issues with helper library usage
35
+
13
36
  ## 5.35.7 - 2022/7/4
14
37
 
15
38
  ### Features
package/dist/api.js CHANGED
@@ -27,14 +27,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.BatchClose = exports.Target = exports.CheckSettings = exports.Configuration = exports.Eyes = exports.By = void 0;
30
- const eyes_sdk_core_1 = require("@applitools/eyes-sdk-core");
30
+ const core_1 = require("@applitools/core");
31
31
  const api = __importStar(require("@applitools/eyes-api"));
32
32
  const spec = __importStar(require("@applitools/spec-driver-webdriverio"));
33
- const sdk = (0, eyes_sdk_core_1.makeSDK)({
34
- name: 'eyes-webdriverio',
35
- version: require('../package.json').version,
33
+ const sdk = (0, core_1.makeCore)({
34
+ agentId: `eyes-webdriverio/${require('../package.json').version}`,
36
35
  spec,
37
- VisualGridClient: require('@applitools/visual-grid-client'),
38
36
  });
39
37
  __exportStar(require("@applitools/eyes-api"), exports);
40
38
  var legacy_1 = require("./legacy");
package/dist/service.js CHANGED
@@ -22,7 +22,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- const eyes_sdk_core_1 = require("@applitools/eyes-sdk-core");
25
+ const core_1 = require("@applitools/core");
26
26
  const spec = __importStar(require("./spec-driver"));
27
27
  const api_1 = require("./api");
28
28
  if (!process.env.APPLITOOLS_WEBDRIVERIO_MAJOR_VERSION) {
@@ -34,11 +34,9 @@ if (!process.env.APPLITOOLS_WEBDRIVERIO_MAJOR_VERSION) {
34
34
  catch {
35
35
  }
36
36
  }
37
- const sdk = (0, eyes_sdk_core_1.makeSDK)({
38
- name: 'eyes-webdriverio-service',
39
- version: require('../package.json').version,
37
+ const sdk = (0, core_1.makeCore)({
38
+ agentId: `eyes-webdriverio-service/${require('../package.json').version}`,
40
39
  spec,
41
- VisualGridClient: require('@applitools/visual-grid-client'),
42
40
  });
43
41
  class EyesOverride extends api_1.Eyes {
44
42
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-webdriverio",
3
- "version": "5.35.7",
3
+ "version": "5.36.0",
4
4
  "description": "Applitools Eyes SDK for WebdriverIO",
5
5
  "keywords": [
6
6
  "eyes-webdriverio",
@@ -116,18 +116,17 @@
116
116
  }
117
117
  },
118
118
  "dependencies": {
119
- "@applitools/eyes-api": "1.7.3",
120
- "@applitools/eyes-sdk-core": "13.8.10",
121
- "@applitools/spec-driver-webdriverio": "1.2.17",
122
- "@applitools/visual-grid-client": "15.13.4"
119
+ "@applitools/core": "1.1.0",
120
+ "@applitools/eyes-api": "1.8.0",
121
+ "@applitools/spec-driver-webdriverio": "1.3.0"
123
122
  },
124
123
  "devDependencies": {
125
- "@applitools/api-extractor": "1.2.9",
126
- "@applitools/bongo": "^2.1.6",
124
+ "@applitools/api-extractor": "1.2.11",
125
+ "@applitools/bongo": "^2.2.0",
127
126
  "@applitools/scripts": "1.1.0",
128
- "@applitools/sdk-coverage-tests": "^2.3.19",
129
- "@applitools/sdk-shared": "0.9.13",
130
- "@applitools/test-utils": "1.4.2",
127
+ "@applitools/sdk-coverage-tests": "^2.3.20",
128
+ "@applitools/sdk-shared": "0.9.14",
129
+ "@applitools/test-utils": "1.5.1",
131
130
  "@types/mocha": "^9.1.1",
132
131
  "@types/node": "12",
133
132
  "@typescript-eslint/eslint-plugin": "^5.27.0",
@@ -136,7 +135,7 @@
136
135
  "@wdio/dot-reporter": "^7.16.4",
137
136
  "@wdio/local-runner": "^7.16.5",
138
137
  "@wdio/mocha-framework": "^7.16.4",
139
- "chromedriver": "^101.0.0",
138
+ "chromedriver": "^105.0.1",
140
139
  "eslint": "^8.16.0",
141
140
  "eslint-config-prettier": "^8.5.0",
142
141
  "eslint-plugin-mocha-no-only": "^1.1.1",
@@ -144,7 +143,7 @@
144
143
  "eslint-plugin-prettier": "^4.0.0",
145
144
  "geckodriver": "^1.20.0",
146
145
  "husky": "^4.3.8",
147
- "mocha": "^10.0.0",
146
+ "mocha": "^9.2.2",
148
147
  "prettier": "^2.6.2",
149
148
  "spec-xunit-file": "0.0.1-3",
150
149
  "ts-node": "^10.8.0",
package/types/index.d.ts CHANGED
@@ -38,7 +38,7 @@ export class Eyes {
38
38
  check(checkSettings?: CheckSettingsPlain): Promise<MatchResult>;
39
39
  locate<TLocator extends string>(settings: VisualLocatorSettings<TLocator>): Promise<Record<TLocator, Array<RegionPlain>>>;
40
40
  extractTextRegions<TPattern extends string>(settings: OCRSettings<TPattern>): Promise<Record<TPattern, Array<TextRegion>>>;
41
- extractText(regions: Array<OCRRegion>): Promise<Array<string>>;
41
+ extractText(settings: Array<OCRRegion>): Promise<Array<string>>;
42
42
  close(throwErr?: boolean): Promise<TestResults>;
43
43
  abort(): Promise<TestResults>;
44
44
  getViewportSize(): Promise<RectangleSize>;
@@ -127,7 +127,14 @@ export type ConfigurationPlain = {
127
127
  apiKey?: string;
128
128
  serverUrl?: string;
129
129
  proxy?: ProxySettingsPlain;
130
- autProxy?: { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; };
130
+ autProxy?: {
131
+ url: string;
132
+ username?: string;
133
+ password?: string;
134
+ isHttpOnly?: boolean;
135
+ mode?: "Allow" | "Block";
136
+ domains?: Array<string>;
137
+ };
131
138
  isDisabled?: boolean;
132
139
  appName?: string;
133
140
  testName?: string;
@@ -172,7 +179,7 @@ export type ConfigurationPlain = {
172
179
  disableBrowserFetching?: boolean;
173
180
  };
174
181
  export class Configuration implements Required<ConfigurationPlain> {
175
- constructor(config?: ConfigurationPlain);
182
+ constructor(config?: ConfigurationPlain, spec?: { isElement(element: any): element is Element; isSelector(selector: any): selector is Selector; });
176
183
  get appName(): string;
177
184
  set appName(appName: string);
178
185
  getAppName(): string;
@@ -219,10 +226,38 @@ export class Configuration implements Required<ConfigurationPlain> {
219
226
  setProxy(proxy: ProxySettingsPlain): Configuration;
220
227
  setProxy(url: string, username?: string, password?: string, isHttpOnly?: boolean): Configuration;
221
228
  setProxy(isEnabled: false): Configuration;
222
- get autProxy(): { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; };
223
- set autProxy(autProxy: { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; });
224
- getAutProxy(): { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; };
225
- setAutProxy(autProxy: { proxy: { url: string; username?: string; password?: string; isHttpOnly?: boolean; }; domains?: Array<string>; AUTProxyMode?: "Allow" | "Block"; }): Configuration;
229
+ get autProxy(): {
230
+ url: string;
231
+ username?: string;
232
+ password?: string;
233
+ isHttpOnly?: boolean;
234
+ mode?: "Allow" | "Block";
235
+ domains?: Array<string>;
236
+ };
237
+ set autProxy(autProxy: {
238
+ url: string;
239
+ username?: string;
240
+ password?: string;
241
+ isHttpOnly?: boolean;
242
+ mode?: "Allow" | "Block";
243
+ domains?: Array<string>;
244
+ });
245
+ getAutProxy(): {
246
+ url: string;
247
+ username?: string;
248
+ password?: string;
249
+ isHttpOnly?: boolean;
250
+ mode?: "Allow" | "Block";
251
+ domains?: Array<string>;
252
+ };
253
+ setAutProxy(autProxy: {
254
+ url: string;
255
+ username?: string;
256
+ password?: string;
257
+ isHttpOnly?: boolean;
258
+ mode?: "Allow" | "Block";
259
+ domains?: Array<string>;
260
+ }): Configuration;
226
261
  get batch(): BatchInfoPlain;
227
262
  set batch(batch: BatchInfoPlain);
228
263
  getBatch(): BatchInfo;
@@ -405,13 +440,24 @@ export type CheckSettingsPlain = {
405
440
  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; }>;
406
441
  floatingRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
407
442
  region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
443
+ padding?: number | { top?: number; right?: number; bottom?: number; left?: number; };
444
+ regionId?: string;
445
+ offset?: { top?: number; bottom?: number; left?: number; right?: number; };
446
+ } | {
447
+ region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
448
+ padding?: number | { top?: number; right?: number; bottom?: number; left?: number; };
449
+ regionId?: string;
408
450
  maxUpOffset?: number;
409
451
  maxDownOffset?: number;
410
452
  maxLeftOffset?: number;
411
453
  maxRightOffset?: number;
454
+ }>;
455
+ accessibilityRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
456
+ region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
457
+ padding?: number | { top?: number; right?: number; bottom?: number; left?: number; };
412
458
  regionId?: string;
459
+ type?: AccessibilityRegionTypePlain;
413
460
  }>;
414
- 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; }>;
415
461
  disableBrowserFetching?: boolean;
416
462
  layoutBreakpoints?: boolean | Array<number>;
417
463
  visualGridOptions?: { [key: string]: any; };
@@ -422,9 +468,10 @@ export type CheckSettingsPlain = {
422
468
  timeout?: number;
423
469
  waitBeforeCapture?: number;
424
470
  lazyLoad?: boolean | { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; };
471
+ webview?: string | boolean;
425
472
  };
426
473
  export class CheckSettings {
427
- constructor(settings?: CheckSettingsPlain);
474
+ constructor(settings?: CheckSettings | CheckSettingsPlain, spec?: { isElement(value: any): value is Element; isSelector(value: any): value is Selector; });
428
475
  withName(name: string): CheckSettings;
429
476
  region(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
430
477
  shadow(selector: string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }): CheckSettings;
@@ -440,25 +487,40 @@ export class CheckSettings {
440
487
  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;
441
488
  floatingRegion(region: {
442
489
  region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
490
+ padding?: number | { top?: number; right?: number; bottom?: number; left?: number; };
491
+ regionId?: string;
492
+ offset?: { top?: number; bottom?: number; left?: number; right?: number; };
493
+ }): CheckSettings;
494
+ floatingRegion(region: {
495
+ region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
496
+ padding?: number | { top?: number; right?: number; bottom?: number; left?: number; };
497
+ regionId?: string;
443
498
  maxUpOffset?: number;
444
499
  maxDownOffset?: number;
445
500
  maxLeftOffset?: number;
446
501
  maxRightOffset?: number;
447
- regionId?: string;
448
502
  }): CheckSettings;
449
503
  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;
450
504
  floatingRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
451
505
  region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
452
- maxUpOffset?: number;
453
- maxDownOffset?: number;
454
- maxLeftOffset?: number;
455
- maxRightOffset?: number;
506
+ padding?: number | { top?: number; right?: number; bottom?: number; left?: number; };
456
507
  regionId?: string;
508
+ offset?: { top?: number; bottom?: number; left?: number; right?: number; };
457
509
  }>): CheckSettings;
458
510
  floatingRegions(maxOffset: number, ...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
459
- accessibilityRegion(region: { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); type?: AccessibilityRegionTypePlain; regionId?: string; }): CheckSettings;
511
+ accessibilityRegion(region: {
512
+ region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
513
+ padding?: number | { top?: number; right?: number; bottom?: number; left?: number; };
514
+ regionId?: string;
515
+ type?: AccessibilityRegionTypePlain;
516
+ }): CheckSettings;
460
517
  accessibilityRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))), type?: AccessibilityRegionTypePlain): CheckSettings;
461
- 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;
518
+ accessibilityRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
519
+ region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
520
+ padding?: number | { top?: number; right?: number; bottom?: number; left?: number; };
521
+ regionId?: string;
522
+ type?: AccessibilityRegionTypePlain;
523
+ }>): CheckSettings;
462
524
  accessibilityRegions(type: AccessibilityRegionTypePlain, ...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
463
525
  scrollRootElement(scrollRootElement: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })): CheckSettings;
464
526
  fully(fully?: boolean): CheckSettings;
@@ -476,14 +538,15 @@ export class CheckSettings {
476
538
  layoutBreakpoints(layoutBreakpoints?: boolean | Array<number>): CheckSettings;
477
539
  hook(name: string, script: string): CheckSettings;
478
540
  beforeRenderScreenshotHook(script: string): CheckSettings;
479
- visualGridOption(key: string, value: any): CheckSettings;
480
- visualGridOptions(options: { [key: string]: any; }): CheckSettings;
541
+ ufgOption(key: string, value: any): CheckSettings;
542
+ ufgOptions(options: { [key: string]: any; }): CheckSettings;
481
543
  renderId(renderId: string): CheckSettings;
482
544
  pageId(pageId: string): CheckSettings;
483
545
  variationGroupId(variationGroupId: string): CheckSettings;
484
546
  timeout(timeout: number): CheckSettings;
485
547
  waitBeforeCapture(waitBeforeCapture: number): CheckSettings;
486
- lazyLoad(options: { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; }): CheckSettings;
548
+ lazyLoad(options?: boolean | { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; }): CheckSettings;
549
+ webview(option?: string | boolean): CheckSettings;
487
550
  }
488
551
  export const Target: {
489
552
  window(): CheckSettings;
@@ -493,8 +556,8 @@ export const Target: {
493
556
  shadow(selector: string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }): CheckSettings;
494
557
  };
495
558
  export class BatchClose {
496
- static close(settings: { batchIds: Array<string>; serverUrl?: string; apiKey?: string; proxy?: ProxySettingsPlain; }): Promise<void>;
497
- constructor(options?: { batchIds: Array<string>; serverUrl?: string; apiKey?: string; proxy?: ProxySettingsPlain; });
559
+ static close(settings: { batchIds: Array<string>; serverUrl: string; apiKey: string; proxy?: ProxySettingsPlain; }): Promise<void>;
560
+ constructor(options?: { batchIds: Array<string>; serverUrl: string; apiKey: string; proxy?: ProxySettingsPlain; });
498
561
  close(): Promise<void>;
499
562
  setBatchIds(batchIds: Array<string>): BatchClose;
500
563
  setUrl(serverUrl: string): BatchClose;
@@ -550,7 +613,7 @@ export enum CorsIframeHandle {
550
613
  KEEP = 'KEEP',
551
614
  SNAPSHOT = 'SNAPSHOT'
552
615
  }
553
- 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";
616
+ 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" | "Sony Xperia 10 II";
554
617
  export enum DeviceName {
555
618
  Blackberry_PlayBook = 'Blackberry PlayBook',
556
619
  BlackBerry_Z30 = 'BlackBerry Z30',
@@ -615,15 +678,18 @@ export enum DeviceName {
615
678
  Pixel_3_XL = 'Pixel 3 XL',
616
679
  Pixel_4 = 'Pixel 4',
617
680
  Pixel_4_XL = 'Pixel 4 XL',
618
- Pixel_5 = 'Pixel 5'
681
+ Pixel_5 = 'Pixel 5',
682
+ Sony_Xperia_10_II = 'Sony Xperia 10 II'
619
683
  }
620
684
  export type FailureReportPlain = "IMMEDIATE" | "ON_CLOSE";
621
685
  export enum FailureReport {
622
686
  IMMEDIATE = 'IMMEDIATE',
623
687
  ON_CLOSE = 'ON_CLOSE'
624
688
  }
625
- 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)";
689
+ export type IosDeviceNamePlain = "iPhone 11" | "iPhone 11 Pro" | "iPhone 11 Pro Max" | "iPhone X" | "iPhone XR" | "iPhone 14 Pro Max" | "iPhone 14" | "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)";
626
690
  export enum IosDeviceName {
691
+ iPhone_14_Pro_Max = 'iPhone 14 Pro Max',
692
+ iPhone_14 = 'iPhone 14',
627
693
  iPhone_13_Pro_Max = 'iPhone 13 Pro Max',
628
694
  iPhone_13_Pro = 'iPhone 13 Pro',
629
695
  iPhone_13 = 'iPhone 13',
@@ -653,11 +719,13 @@ export enum IosVersion {
653
719
  ONE_VERSION_BACK = 'latest-1',
654
720
  LATEST_ONE_VERSION_BACK = 'latest-1'
655
721
  }
656
- 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";
722
+ 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" | "Galaxy S22" | "Galaxy Tab S7" | "Pixel 3 XL" | "Pixel 4" | "Pixel 4 XL" | "Pixel 5" | "Pixel 6" | "Galaxy S20 Plus" | "Galaxy S21" | "Galaxy S21 Plus" | "Galaxy S21 Ultra" | "Galaxy S22 Plus" | "Galaxy Tab S8" | "Xiaomi Redmi Note 11" | "Xiaomi Redmi Note 11 Pro";
657
723
  export enum AndroidDeviceName {
658
724
  Pixel_3_XL = 'Pixel 3 XL',
659
725
  Pixel_4 = 'Pixel 4',
660
726
  Pixel_4_XL = 'Pixel 4 XL',
727
+ Pixel_5 = 'Pixel 5',
728
+ Pixel_6 = 'Pixel 6',
661
729
  Galaxy_Note_8 = 'Galaxy Note 8',
662
730
  Galaxy_Note_9 = 'Galaxy Note 9',
663
731
  Galaxy_S8 = 'Galaxy S8',
@@ -672,7 +740,13 @@ export enum AndroidDeviceName {
672
740
  Galaxy_S20_Plus = 'Galaxy S20 Plus',
673
741
  Galaxy_S21 = 'Galaxy S21',
674
742
  Galaxy_S21_Plus = 'Galaxy S21 Plus',
675
- Galaxy_S21_Ultra = 'Galaxy S21 Ultra'
743
+ Galaxy_S21_Ultra = 'Galaxy S21 Ultra',
744
+ Galaxy_S22 = 'Galaxy S22',
745
+ Galaxy_S22_Plus = 'Galaxy S22 Plus',
746
+ Galaxy_Tab_S7 = 'Galaxy Tab S7',
747
+ Galaxy_Tab_S8 = 'Galaxy Tab S8',
748
+ Xiaomi_Redmi_Note_11 = 'Xiaomi Redmi Note 11',
749
+ Xiaomi_Redmi_Note_11_Pro = 'Xiaomi Redmi Note 11 Pro'
676
750
  }
677
751
  export type AndroidVersionPlain = "latest" | "latest-1" | "latest-2";
678
752
  export enum AndroidVersion {
@@ -680,13 +754,14 @@ export enum AndroidVersion {
680
754
  ONE_VERSION_BACK = 'latest-1',
681
755
  TWO_VERSIONS_BACK = 'latest-2'
682
756
  }
683
- export type MatchLevelPlain = "None" | "Layout1" | "Layout" | "Layout2" | "Content" | "Strict" | "Exact";
757
+ export type MatchLevelPlain = "None" | "Layout1" | "Layout" | "Layout2" | "Content" | "IgnoreColor" | "Strict" | "Exact";
684
758
  export enum MatchLevel {
685
759
  None = 'None',
686
760
  LegacyLayout = 'Layout1',
687
761
  Layout = 'Layout',
688
762
  Layout2 = 'Layout2',
689
763
  Content = 'Content',
764
+ IgnoreColor = 'IgnoreColor',
690
765
  Strict = 'Strict',
691
766
  Exact = 'Exact'
692
767
  }
@@ -1264,71 +1339,17 @@ export class TestResults implements Required<TestResultsPlain> {
1264
1339
  isPassed(): boolean;
1265
1340
  delete(): Promise<void>;
1266
1341
  }
1267
- export type TestResultContainerPlain = { readonly exception?: Error; readonly testResults?: {
1268
- readonly id?: string;
1269
- readonly name?: string;
1270
- readonly secretToken?: string;
1271
- readonly status?: "Passed" | "Failed" | "Unresolved";
1272
- readonly appName?: string;
1273
- readonly batchId?: string;
1274
- readonly batchName?: string;
1275
- readonly branchName?: string;
1276
- readonly hostOS?: string;
1277
- readonly hostApp?: string;
1278
- readonly hostDisplaySize?: { width: number; height: number; };
1279
- readonly accessibilityStatus?: { readonly level: "AA" | "AAA"; readonly version: "WCAG_2_0" | "WCAG_2_1"; readonly status: "Passed" | "Failed"; };
1280
- readonly startedAt?: string | Date;
1281
- readonly duration?: number;
1282
- readonly isNew?: boolean;
1283
- readonly isDifferent?: boolean;
1284
- readonly isAborted?: boolean;
1285
- readonly appUrls?: { readonly batch?: string; readonly session?: string; };
1286
- readonly apiUrls?: { readonly batch?: string; readonly session?: string; };
1287
- readonly stepsInfo?: Array<{
1288
- readonly name?: string;
1289
- readonly isDifferent?: boolean;
1290
- readonly hasBaselineImage?: boolean;
1291
- readonly hasCurrentImage?: boolean;
1292
- readonly appUrls?: { readonly step?: string; readonly stepEditor?: string; };
1293
- readonly apiUrls?: {
1294
- readonly baselineImage?: string;
1295
- readonly currentImage?: string;
1296
- readonly checkpointImage?: string;
1297
- readonly checkpointImageThumbnail?: string;
1298
- readonly diffImage?: string;
1299
- };
1300
- readonly renderId?: Array<string>;
1301
- }>;
1302
- readonly steps?: number;
1303
- readonly matches?: number;
1304
- readonly mismatches?: number;
1305
- readonly missing?: number;
1306
- readonly exactMatches?: number;
1307
- readonly strictMatches?: number;
1308
- readonly contentMatches?: number;
1309
- readonly layoutMatches?: number;
1310
- readonly noneMatches?: number;
1311
- readonly url?: string;
1312
- }; 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"; }; }; };
1342
+ export type TestResultContainerPlain = { readonly exception: Error; readonly testResults: TestResultsPlain; readonly browserInfo: DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo | AndroidDeviceInfo; };
1313
1343
  export class TestResultContainer implements Required<TestResultContainerPlain> {
1314
1344
  get testResults(): TestResultsPlain;
1315
1345
  getTestResults(): TestResults;
1316
1346
  get exception(): Error;
1317
1347
  getException(): Error;
1318
- 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"; }; };
1319
- 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"; }; };
1348
+ get browserInfo(): DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo | AndroidDeviceInfo;
1349
+ getBrowserInfo(): DesktopBrowserInfo | ChromeEmulationInfo | { deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain; } | IOSDeviceInfo | AndroidDeviceInfo;
1320
1350
  }
1321
- export type TestResultsSummaryPlain = {
1322
- results: Array<TestResultContainerPlain>;
1323
- passed: number;
1324
- unresolved: number;
1325
- failed: number;
1326
- exceptions: number;
1327
- mismatches: number;
1328
- missing: number;
1329
- matches: number;
1330
- };
1331
- export class TestResultsSummary implements Iterable<TestResultContainerPlain> {
1351
+ export type TestResultsSummaryPlain = Iterable<TestResultContainerPlain>;
1352
+ export class TestResultsSummary implements Iterable<TestResultContainer> {
1332
1353
  getAllResults(): Array<TestResultContainer>;
1333
1354
  [Symbol.iterator](): Iterator<TestResultContainer, any, undefined>;
1334
1355
  }
@@ -1367,7 +1388,7 @@ export class Logger {
1367
1388
  tag(name: string, value: any): void;
1368
1389
  extend(label?: string): Logger;
1369
1390
  }
1370
- 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>;
1391
+ export function closeBatch(spec: BatchCloseSpec): (options: { batchIds: Array<string>; serverUrl: string; apiKey: string; proxy?: ProxySettingsPlain; }) => Promise<void>;
1371
1392
  export abstract class EyesRunner {
1372
1393
  getAllTestResults(throwErr?: boolean): Promise<TestResultsSummary>;
1373
1394
  }