@applitools/eyes-webdriverio 5.37.0 → 5.38.1

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,24 @@
10
10
 
11
11
 
12
12
 
13
+ ## 5.38.1 - 2022/11/29
14
+
15
+ ### Features
16
+ - Added `ignoreColors` method to `CheckSettings` to set a match level
17
+ ### Bug fixes
18
+
19
+ ## 5.38.0 - 2022/11/17
20
+
21
+ ### Features
22
+ - Added new selector extensions `child` and `fallback`
23
+ - Added new iOS device - 'iPad Pro (11-inch) (4th generation)'
24
+ - Mark target element with `data-applitools-scroll` attribute before capture dom
25
+ - Use user agent metadata to improve browser environment detection logic
26
+ - Use APPLITOOLS_CONCURRENCY env variable to specify concurrency
27
+ ### Bug fixes
28
+ - Fixed bug that caused `extractText` to throw, due to fractional size of the target region
29
+ - Fixed issue when current context is not being preserved in ufg mode
30
+
13
31
  ## 5.37.0 - 2022/10/18
14
32
 
15
33
  ### Features
package/dist/api.js CHANGED
@@ -45,11 +45,11 @@ class Configuration extends api.Configuration {
45
45
  }
46
46
  exports.Configuration = Configuration;
47
47
  Configuration._spec = sdk;
48
- class CheckSettings extends api.CheckSettings {
48
+ class CheckSettings extends api.CheckSettingsAutomation {
49
49
  }
50
50
  exports.CheckSettings = CheckSettings;
51
51
  CheckSettings._spec = sdk;
52
- exports.Target = CheckSettings;
52
+ exports.Target = { ...api.Target, spec: sdk };
53
53
  class BatchClose extends api.BatchClose {
54
54
  }
55
55
  exports.BatchClose = BatchClose;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-webdriverio",
3
- "version": "5.37.0",
3
+ "version": "5.38.1",
4
4
  "description": "Applitools Eyes SDK for WebdriverIO",
5
5
  "keywords": [
6
6
  "eyes-webdriverio",
@@ -116,15 +116,15 @@
116
116
  }
117
117
  },
118
118
  "dependencies": {
119
- "@applitools/core": "1.2.0",
120
- "@applitools/eyes-api": "1.9.0",
121
- "@applitools/spec-driver-webdriverio": "1.4.1"
119
+ "@applitools/core": "1.2.14",
120
+ "@applitools/eyes-api": "1.10.6",
121
+ "@applitools/spec-driver-webdriverio": "1.4.6"
122
122
  },
123
123
  "devDependencies": {
124
124
  "@applitools/api-extractor": "1.2.11",
125
125
  "@applitools/bongo": "^2.2.0",
126
126
  "@applitools/scripts": "1.2.0",
127
- "@applitools/sdk-coverage-tests": "^2.3.20",
127
+ "@applitools/sdk-coverage-tests": "^2.7.8",
128
128
  "@applitools/sdk-shared": "0.9.15",
129
129
  "@applitools/test-utils": "1.5.2",
130
130
  "@types/mocha": "^9.1.1",
package/types/index.d.ts CHANGED
@@ -34,10 +34,40 @@ export class Eyes {
34
34
  getIsOpen(): boolean;
35
35
  open(driver: Driver, config?: ConfigurationPlain): Promise<Driver>;
36
36
  open(driver: Driver, appName?: string, testName?: string, viewportSize?: RectangleSizePlain, sessionType?: SessionTypePlain): Promise<Driver>;
37
- check(name: string, checkSettings: CheckSettings): Promise<MatchResult>;
37
+ open(config?: ConfigurationPlain): Promise<void>;
38
+ open(appName?: string, testName?: string, viewportSize?: RectangleSizePlain, sessionType?: SessionTypePlain): Promise<void>;
39
+ check(name: string, checkSettings: CheckSettingsImage | CheckSettings): Promise<MatchResult>;
40
+ check(target: {
41
+ image: string | URL | Buffer;
42
+ name?: string;
43
+ dom?: string;
44
+ locationInViewport?: LocationPlain;
45
+ locationInView?: LocationPlain;
46
+ fullViewSize?: RectangleSizePlain;
47
+ }, checkSettings?: CheckSettingsImagePlain): Promise<MatchResult>;
38
48
  check(checkSettings?: CheckSettingsPlain): Promise<MatchResult>;
39
49
  locate<TLocator extends string>(settings: VisualLocatorSettings<TLocator>): Promise<Record<TLocator, Array<RegionPlain>>>;
50
+ extractTextRegions<TPattern extends string>(target: {
51
+ image: string | URL | Buffer;
52
+ size?: { width: number; height: number; };
53
+ name?: string;
54
+ source?: string;
55
+ dom?: string;
56
+ locationInViewport?: { x: number; y: number; };
57
+ locationInView?: { x: number; y: number; };
58
+ fullViewSize?: { width: number; height: number; };
59
+ }, settings: OCRSettings<TPattern>): Promise<Record<TPattern, Array<TextRegion>>>;
40
60
  extractTextRegions<TPattern extends string>(settings: OCRSettings<TPattern>): Promise<Record<TPattern, Array<TextRegion>>>;
61
+ extractText(target: {
62
+ image: string | URL | Buffer;
63
+ size?: { width: number; height: number; };
64
+ name?: string;
65
+ source?: string;
66
+ dom?: string;
67
+ locationInViewport?: { x: number; y: number; };
68
+ locationInView?: { x: number; y: number; };
69
+ fullViewSize?: { width: number; height: number; };
70
+ }, settings: Array<OCRRegion>): Promise<Array<string>>;
41
71
  extractText(settings: Array<OCRRegion>): Promise<Array<string>>;
42
72
  close(throwErr?: boolean): Promise<TestResults>;
43
73
  abort(): Promise<TestResults>;
@@ -387,140 +417,23 @@ export class Configuration implements Required<ConfigurationPlain> {
387
417
  setDisableBrowserFetching(disableBrowserFetching: boolean): Configuration;
388
418
  }
389
419
  export type OCRRegion = { target: Element | RegionPlain | EyesSelector<Selector>; hint?: string; minMatch?: number; language?: string; };
390
- export type CheckSettingsPlain = {
391
- name?: string;
392
- region?: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
420
+ export type CheckSettingsPlain = CheckSettingsImagePlain & {
393
421
  frames?: Array<{ 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>; }); } | (number | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>;
422
+ webview?: string | boolean;
394
423
  scrollRootElement?: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; });
395
424
  fully?: boolean;
396
- matchLevel?: MatchLevelPlain;
397
- useDom?: boolean;
398
- sendDom?: boolean;
399
- enablePatterns?: boolean;
400
- ignoreDisplacements?: boolean;
401
- ignoreCaret?: boolean;
402
- ignoreRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>;
403
- layoutRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>;
404
- strictRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>;
405
- 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; bottom: number; let: number; right: number; }; regionId?: string; }>;
406
- floatingRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
407
- region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
408
- padding?: number | { top: number; bottom: number; let: number; right: number; };
409
- regionId?: string;
410
- offset?: { top?: number; bottom?: number; left?: number; right?: number; };
411
- } | {
412
- region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
413
- padding?: number | { top: number; bottom: number; let: number; right: number; };
414
- regionId?: string;
415
- maxUpOffset?: number;
416
- maxDownOffset?: number;
417
- maxLeftOffset?: number;
418
- maxRightOffset?: number;
419
- }>;
420
- accessibilityRegions?: Array<(RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
421
- region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
422
- padding?: number | { top: number; bottom: number; let: number; right: number; };
423
- regionId?: string;
424
- type?: AccessibilityRegionTypePlain;
425
- }>;
426
425
  disableBrowserFetching?: boolean;
427
426
  layoutBreakpoints?: boolean | Array<number>;
428
427
  visualGridOptions?: { [key: string]: any; };
429
428
  hooks?: { beforeCaptureScreenshot: string; };
430
429
  renderId?: string;
431
- pageId?: string;
432
- variationGroupId?: string;
433
430
  timeout?: number;
434
431
  waitBeforeCapture?: number;
435
432
  lazyLoad?: boolean | { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; };
436
- webview?: string | boolean;
437
433
  };
438
- export class CheckSettings {
439
- constructor(settings?: CheckSettings | CheckSettingsPlain, spec?: { isElement(value: any): value is Element; isSelector(value: any): value is Selector; });
440
- withName(name: string): CheckSettings;
441
- region(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
442
- shadow(selector: string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }): CheckSettings;
443
- 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;
444
- 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;
445
- ignoreRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }): CheckSettings;
446
- ignoreRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>): CheckSettings;
447
- layoutRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }): CheckSettings;
448
- layoutRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>): CheckSettings;
449
- strictRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }): CheckSettings;
450
- strictRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>): CheckSettings;
451
- contentRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | { region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })); padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }): CheckSettings;
452
- 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; bottom: number; let: number; right: number; }; regionId?: string; }>): CheckSettings;
453
- floatingRegion(region: {
454
- region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
455
- padding?: number | { top: number; bottom: number; let: number; right: number; };
456
- regionId?: string;
457
- offset?: { top?: number; bottom?: number; left?: number; right?: number; };
458
- }): CheckSettings;
459
- floatingRegion(region: {
460
- region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
461
- padding?: number | { top: number; bottom: number; let: number; right: number; };
462
- regionId?: string;
463
- maxUpOffset?: number;
464
- maxDownOffset?: number;
465
- maxLeftOffset?: number;
466
- maxRightOffset?: number;
467
- }): CheckSettings;
468
- 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;
469
- floatingRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
470
- region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
471
- padding?: number | { top: number; bottom: number; let: number; right: number; };
472
- regionId?: string;
473
- offset?: { top?: number; bottom?: number; left?: number; right?: number; };
474
- }>): CheckSettings;
475
- floatingRegions(maxOffset: number, ...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
476
- accessibilityRegion(region: {
477
- region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
478
- padding?: number | { top: number; bottom: number; let: number; right: number; };
479
- regionId?: string;
480
- type?: AccessibilityRegionTypePlain;
481
- }): CheckSettings;
482
- accessibilityRegion(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))), type?: AccessibilityRegionTypePlain): CheckSettings;
483
- accessibilityRegions(...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }))) | {
484
- region: RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }));
485
- padding?: number | { top: number; bottom: number; let: number; right: number; };
486
- regionId?: string;
487
- type?: AccessibilityRegionTypePlain;
488
- }>): CheckSettings;
489
- accessibilityRegions(type: AccessibilityRegionTypePlain, ...regions: Array<LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))>): CheckSettings;
490
- scrollRootElement(scrollRootElement: Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })): CheckSettings;
491
- fully(fully?: boolean): CheckSettings;
492
- matchLevel(matchLevel: MatchLevelPlain): CheckSettings;
493
- layout(): CheckSettings;
494
- exact(): CheckSettings;
495
- strict(): CheckSettings;
496
- content(): CheckSettings;
497
- useDom(useDom?: boolean): CheckSettings;
498
- sendDom(sendDom?: boolean): CheckSettings;
499
- enablePatterns(enablePatterns?: boolean): CheckSettings;
500
- ignoreDisplacements(ignoreDisplacements?: boolean): CheckSettings;
501
- ignoreCaret(ignoreCaret?: boolean): CheckSettings;
502
- disableBrowserFetching(disableBrowserFetching: boolean): CheckSettings;
503
- layoutBreakpoints(layoutBreakpoints?: boolean | Array<number>): CheckSettings;
504
- hook(name: string, script: string): CheckSettings;
505
- beforeRenderScreenshotHook(script: string): CheckSettings;
506
- ufgOption(key: string, value: any): CheckSettings;
507
- ufgOptions(options: { [key: string]: any; }): CheckSettings;
508
- renderId(renderId: string): CheckSettings;
509
- pageId(pageId: string): CheckSettings;
510
- variationGroupId(variationGroupId: string): CheckSettings;
511
- timeout(timeout: number): CheckSettings;
512
- waitBeforeCapture(waitBeforeCapture: number): CheckSettings;
513
- lazyLoad(options?: boolean | { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; }): CheckSettings;
514
- webview(option?: string | boolean): CheckSettings;
434
+ export class CheckSettings extends CheckSettings {
515
435
  }
516
- export const Target: {
517
- window(): CheckSettings;
518
- region(region: LegacyRegionPlain | (RegionPlain | (Element | (string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; })))): CheckSettings;
519
- 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;
520
- 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;
521
- shadow(selector: string | Selector | { selector: string | Selector; type?: string; shadow?: EyesSelector<Selector>; frame?: EyesSelector<Selector>; }): CheckSettings;
522
- webview(option?: string | boolean): CheckSettings;
523
- };
436
+ export const Target: TargetImage & TargetAutomation<Element, Selector>;
524
437
  export class BatchClose {
525
438
  static close(settings: { batchIds: Array<string>; serverUrl: string; apiKey: string; proxy?: ProxySettingsPlain; }): Promise<void>;
526
439
  constructor(options?: { batchIds: Array<string>; serverUrl: string; apiKey: string; proxy?: ProxySettingsPlain; });
@@ -653,7 +566,7 @@ export enum FailureReport {
653
566
  IMMEDIATE = 'IMMEDIATE',
654
567
  ON_CLOSE = 'ON_CLOSE'
655
568
  }
656
- 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)";
569
+ 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 Pro (11-inch) (4th generation)" | "iPad (7th generation)" | "iPad (9th generation)" | "iPad Air (2nd generation)" | "iPad Air (4th generation)";
657
570
  export enum IosDeviceName {
658
571
  iPhone_14_Pro_Max = 'iPhone 14 Pro Max',
659
572
  iPhone_14 = 'iPhone 14',
@@ -675,6 +588,7 @@ export enum IosDeviceName {
675
588
  iPhone_7 = 'iPhone 7',
676
589
  iPhone_SE = 'iPhone SE (1st generation)',
677
590
  iPad_Pro_3 = 'iPad Pro (12.9-inch) (3rd generation)',
591
+ iPad_Pro_4 = 'iPad Pro (11-inch) (4th generation)',
678
592
  iPad_7 = 'iPad (7th generation)',
679
593
  iPad_9 = 'iPad (9th generation)',
680
594
  iPad_Air_2 = 'iPad Air (2nd generation)',
@@ -825,6 +739,218 @@ export class BatchInfo implements Required<BatchInfoPlain> {
825
739
  addProperty(name: string, value: string): BatchInfo;
826
740
  addProperty(prop: PropertyDataPlain): BatchInfo;
827
741
  }
742
+ export type CheckSettingsImagePlain = {
743
+ name?: string;
744
+ region?: RegionPlain;
745
+ matchLevel?: MatchLevelPlain;
746
+ useDom?: boolean;
747
+ sendDom?: boolean;
748
+ enablePatterns?: boolean;
749
+ ignoreDisplacements?: boolean;
750
+ ignoreMismatch?: boolean;
751
+ ignoreCaret?: boolean;
752
+ ignoreRegions?: Array<RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>;
753
+ layoutRegions?: Array<RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>;
754
+ strictRegions?: Array<RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>;
755
+ contentRegions?: Array<RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>;
756
+ floatingRegions?: Array<RegionPlain | {
757
+ region: RegionPlain;
758
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
759
+ regionId?: string;
760
+ offset?: { top?: number; bottom?: number; left?: number; right?: number; };
761
+ } | {
762
+ region: RegionPlain;
763
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
764
+ regionId?: string;
765
+ maxUpOffset?: number;
766
+ maxDownOffset?: number;
767
+ maxLeftOffset?: number;
768
+ maxRightOffset?: number;
769
+ }>;
770
+ accessibilityRegions?: Array<RegionPlain | {
771
+ region: RegionPlain;
772
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
773
+ regionId?: string;
774
+ type?: AccessibilityRegionTypePlain;
775
+ }>;
776
+ pageId?: string;
777
+ variationGroupId?: string;
778
+ };
779
+ export class CheckSettingsImage {
780
+ constructor(settings?: CheckSettingsImagePlain | CheckSettingsImage, target?: {
781
+ image: string | URL | Buffer;
782
+ name?: string;
783
+ dom?: string;
784
+ locationInViewport?: LocationPlain;
785
+ locationInView?: LocationPlain;
786
+ fullViewSize?: RectangleSizePlain;
787
+ });
788
+ image(image: string | URL | Buffer): CheckSettingsImage;
789
+ buffer(imageBuffer: Buffer): CheckSettingsImage;
790
+ base64(imageBase64: Buffer): CheckSettingsImage;
791
+ path(imagePath: string): CheckSettingsImage;
792
+ url(imageUrl: string | URL): CheckSettingsImage;
793
+ name(name: string): CheckSettingsImage;
794
+ withDom(dom: string): CheckSettingsImage;
795
+ withLocation(locationInViewport: LocationPlain): CheckSettingsImage;
796
+ region(region: LegacyRegionPlain | RegionPlain): CheckSettingsImage;
797
+ withName(name: string): CheckSettingsImage;
798
+ ignoreRegion(region: LegacyRegionPlain | RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }): CheckSettingsImage;
799
+ ignoreRegions(...regions: Array<LegacyRegionPlain | RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>): CheckSettingsImage;
800
+ layoutRegion(region: LegacyRegionPlain | RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }): CheckSettingsImage;
801
+ layoutRegions(...regions: Array<LegacyRegionPlain | RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>): CheckSettingsImage;
802
+ strictRegion(region: LegacyRegionPlain | RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }): CheckSettingsImage;
803
+ strictRegions(...regions: Array<LegacyRegionPlain | RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>): CheckSettingsImage;
804
+ contentRegion(region: LegacyRegionPlain | RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }): CheckSettingsImage;
805
+ contentRegions(...regions: Array<LegacyRegionPlain | RegionPlain | { region: RegionPlain; padding?: number | { top: number; bottom: number; let: number; right: number; }; regionId?: string; }>): CheckSettingsImage;
806
+ floatingRegion(region: {
807
+ region: RegionPlain;
808
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
809
+ regionId?: string;
810
+ offset?: { top?: number; bottom?: number; left?: number; right?: number; };
811
+ }): CheckSettingsImage;
812
+ floatingRegion(region: {
813
+ region: RegionPlain;
814
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
815
+ regionId?: string;
816
+ maxUpOffset?: number;
817
+ maxDownOffset?: number;
818
+ maxLeftOffset?: number;
819
+ maxRightOffset?: number;
820
+ }): CheckSettingsImage;
821
+ floatingRegion(region: LegacyRegionPlain | RegionPlain, maxUpOffset?: number, maxDownOffset?: number, maxLeftOffset?: number, maxRightOffset?: number): CheckSettingsImage;
822
+ floatingRegions(...regions: Array<LegacyRegionPlain | RegionPlain | {
823
+ region: RegionPlain;
824
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
825
+ regionId?: string;
826
+ offset?: { top?: number; bottom?: number; left?: number; right?: number; };
827
+ }>): CheckSettingsImage;
828
+ floatingRegions(maxOffset: number, ...regions: Array<LegacyRegionPlain | RegionPlain>): CheckSettingsImage;
829
+ accessibilityRegion(region: {
830
+ region: RegionPlain;
831
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
832
+ regionId?: string;
833
+ type?: AccessibilityRegionTypePlain;
834
+ }): CheckSettingsImage;
835
+ accessibilityRegion(region: LegacyRegionPlain | RegionPlain, type?: AccessibilityRegionTypePlain): CheckSettingsImage;
836
+ accessibilityRegions(...regions: Array<LegacyRegionPlain | RegionPlain | {
837
+ region: RegionPlain;
838
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
839
+ regionId?: string;
840
+ type?: AccessibilityRegionTypePlain;
841
+ }>): CheckSettingsImage;
842
+ accessibilityRegions(type: AccessibilityRegionTypePlain, ...regions: Array<LegacyRegionPlain | RegionPlain>): CheckSettingsImage;
843
+ matchLevel(matchLevel: MatchLevelPlain): CheckSettingsImage;
844
+ layout(): CheckSettingsImage;
845
+ exact(): CheckSettingsImage;
846
+ strict(): CheckSettingsImage;
847
+ ignoreColors(): CheckSettingsImage;
848
+ enablePatterns(enablePatterns?: boolean): CheckSettingsImage;
849
+ ignoreDisplacements(ignoreDisplacements?: boolean): CheckSettingsImage;
850
+ ignoreCaret(ignoreCaret?: boolean): CheckSettingsImage;
851
+ useDom(useDom?: boolean): CheckSettingsImage;
852
+ sendDom(sendDom?: boolean): CheckSettingsImage;
853
+ pageId(pageId: string): CheckSettingsImage;
854
+ variationGroupId(variationGroupId: string): CheckSettingsImage;
855
+ }
856
+ export type CheckSettingsAutomationPlain<TElement, TSelector> = CheckSettingsImagePlain & {
857
+ frames?: Array<{ frame: number | (TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; })); scrollRootElement?: TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; }); } | (number | (TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; })))>;
858
+ webview?: string | boolean;
859
+ scrollRootElement?: TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; });
860
+ fully?: boolean;
861
+ disableBrowserFetching?: boolean;
862
+ layoutBreakpoints?: boolean | Array<number>;
863
+ visualGridOptions?: { [key: string]: any; };
864
+ hooks?: { beforeCaptureScreenshot: string; };
865
+ renderId?: string;
866
+ timeout?: number;
867
+ waitBeforeCapture?: number;
868
+ lazyLoad?: boolean | { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; };
869
+ };
870
+ export class CheckSettingsAutomation<TElement = unknown, TSelector = unknown> {
871
+ constructor(settings?: CheckSettings | CheckSettingsPlain, spec?: { isElement(value: any): value is TElement; isSelector(value: any): value is TSelector; });
872
+ region(region: RegionPlain | (TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; }))): CheckSettings;
873
+ shadow(selector: string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; }): CheckSettings;
874
+ frame(context: { frame: number | (TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; })); scrollRootElement?: TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; }); }): CheckSettings;
875
+ frame(frame: number | (TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; })), scrollRootElement?: TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; })): CheckSettings;
876
+ webview(webview?: string | boolean): CheckSettings;
877
+ scrollRootElement(scrollRootElement: TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; })): CheckSettings;
878
+ fully(fully?: boolean): CheckSettings;
879
+ disableBrowserFetching(disableBrowserFetching: boolean): CheckSettings;
880
+ layoutBreakpoints(layoutBreakpoints?: boolean | Array<number>): CheckSettings;
881
+ hook(name: string, script: string): CheckSettings;
882
+ beforeRenderScreenshotHook(script: string): CheckSettings;
883
+ ufgOption(key: string, value: any): CheckSettings;
884
+ ufgOptions(options: { [key: string]: any; }): CheckSettings;
885
+ renderId(renderId: string): CheckSettings;
886
+ timeout(timeout: number): CheckSettings;
887
+ waitBeforeCapture(waitBeforeCapture: number): CheckSettings;
888
+ lazyLoad(options?: boolean | { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; }): CheckSettings;
889
+ name(name: string): CheckSettings;
890
+ withName(name: string): CheckSettings;
891
+ ignoreRegion(region: any): CheckSettings;
892
+ ignoreRegions(...regions: Array<any>): CheckSettings;
893
+ layoutRegion(region: any): CheckSettings;
894
+ layoutRegions(...regions: Array<any>): CheckSettings;
895
+ strictRegion(region: any): CheckSettings;
896
+ strictRegions(...regions: Array<any>): CheckSettings;
897
+ contentRegion(region: any): CheckSettings;
898
+ contentRegions(...regions: Array<any>): CheckSettings;
899
+ floatingRegion(region: {
900
+ region: any;
901
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
902
+ regionId?: string;
903
+ offset?: { top?: number; bottom?: number; left?: number; right?: number; };
904
+ }): CheckSettings;
905
+ floatingRegion(region: {
906
+ region: any;
907
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
908
+ regionId?: string;
909
+ maxUpOffset?: number;
910
+ maxDownOffset?: number;
911
+ maxLeftOffset?: number;
912
+ maxRightOffset?: number;
913
+ }): CheckSettings;
914
+ floatingRegion(region: any, maxUpOffset?: number, maxDownOffset?: number, maxLeftOffset?: number, maxRightOffset?: number): CheckSettings;
915
+ floatingRegions(...regions: Array<any>): CheckSettings;
916
+ floatingRegions(maxOffset: number, ...regions: Array<any>): CheckSettings;
917
+ accessibilityRegion(region: {
918
+ region: any;
919
+ padding?: number | { top: number; bottom: number; let: number; right: number; };
920
+ regionId?: string;
921
+ type?: AccessibilityRegionTypePlain;
922
+ }): CheckSettings;
923
+ accessibilityRegion(region: any, type?: AccessibilityRegionTypePlain): CheckSettings;
924
+ accessibilityRegions(...regions: Array<any>): CheckSettings;
925
+ accessibilityRegions(type: AccessibilityRegionTypePlain, ...regions: Array<any>): CheckSettings;
926
+ matchLevel(matchLevel: MatchLevelPlain): CheckSettings;
927
+ layout(): CheckSettings;
928
+ exact(): CheckSettings;
929
+ strict(): CheckSettings;
930
+ ignoreColors(): CheckSettings;
931
+ enablePatterns(enablePatterns?: boolean): CheckSettings;
932
+ ignoreDisplacements(ignoreDisplacements?: boolean): CheckSettings;
933
+ ignoreCaret(ignoreCaret?: boolean): CheckSettings;
934
+ useDom(useDom?: boolean): CheckSettings;
935
+ sendDom(sendDom?: boolean): CheckSettings;
936
+ pageId(pageId: string): CheckSettings;
937
+ variationGroupId(variationGroupId: string): CheckSettings;
938
+ }
939
+ export type TargetImage = {
940
+ image(image: string | URL | Buffer): CheckSettingsImage;
941
+ buffer(imageBuffer: Buffer): CheckSettingsImage;
942
+ base64(imageBase64: string): CheckSettingsImage;
943
+ path(imagePath: string): CheckSettingsImage;
944
+ url(imageUrl: string | URL): CheckSettingsImage;
945
+ };
946
+ export type TargetAutomation<TElement, TSelector> = {
947
+ window(): CheckSettings;
948
+ region(region: LegacyRegionPlain | (RegionPlain | (TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; })))): CheckSettings;
949
+ frame(context: { frame: number | (TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; })); scrollRootElement?: TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; }); }): CheckSettings;
950
+ frame(frame: number | (TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; })), scrollRootElement?: TElement | (string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; })): CheckSettings;
951
+ shadow(selector: string | TSelector | { selector: string | TSelector; type?: string; shadow?: EyesSelector<TSelector>; frame?: EyesSelector<TSelector>; }): CheckSettings;
952
+ webview(webview?: string | boolean): CheckSettings;
953
+ };
828
954
  export type CutProviderPlain = { top: number; right: number; bottom: number; left: number; } | { x: number; y: number; width: number; height: number; };
829
955
  export class CutProvider implements Required<{
830
956
  x: number;