@applitools/eyes-playwright 1.11.2 → 1.11.3

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,23 @@
3
3
  ## Unreleased
4
4
 
5
5
 
6
+
7
+
8
+
9
+
10
+ ## 1.11.3 - 2022/5/2
11
+
12
+ ### Features
13
+ - Support UFG for native mobile
14
+ - `runner.getAllTestResults` returns the corresponding UFG browser/device configuration for each test. This is available as `runner.getAllTestResults()[i].browserInfo`.
15
+ ### Bug fixes
16
+ - `runner.getAllTestResults` now aborts unclosed tests
17
+ - `runner.getAllTestResults` now returns all results, including aborted tests
18
+ - `extractText` now supports regions that don't use hints while using `x`/`y` coordinates
19
+ - accept ios and android lowercase as driver platformName capability when using custom grid
20
+ - Fixed check region fully in classic execution when using CSS stitching
21
+ - Support data urls in iframes
22
+
6
23
  ## 1.11.2 - 2022/1/13
7
24
 
8
25
  - fix taking multiple dom snapshots with `layoutBreakpoints`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-playwright",
3
- "version": "1.11.2",
3
+ "version": "1.11.3",
4
4
  "description": "Applitools Eyes SDK for Playwright",
5
5
  "keywords": [
6
6
  "eyes-playwright",
@@ -48,8 +48,8 @@
48
48
  "deps": "bongo deps",
49
49
  "gh:test": "gh workflow run test.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='playwright' -f links='types test-utils sdk-shared eyes-sdk-core visual-grid-client eyes-api spec-driver-playwright utils driver snippets screenshoter' -f linking-depth=3",
50
50
  "gh:publish": "gh workflow run publish-playwright.yml --ref $(git rev-parse --abbrev-ref HEAD)",
51
- "preversion": "bongo preversion && yarn build",
52
- "version": "bongo version",
51
+ "preversion": "bongo preversion --verifyPendingChanges && yarn build",
52
+ "version": "bongo version --withPendingChanges",
53
53
  "postversion": "bongo postversion"
54
54
  },
55
55
  "husky": {
@@ -58,18 +58,18 @@
58
58
  }
59
59
  },
60
60
  "dependencies": {
61
- "@applitools/eyes-api": "1.1.6",
62
- "@applitools/eyes-sdk-core": "12.24.13",
61
+ "@applitools/eyes-api": "1.3.0",
62
+ "@applitools/eyes-sdk-core": "13.3.5",
63
63
  "@applitools/spec-driver-playwright": "1.3.0",
64
- "@applitools/visual-grid-client": "15.8.60"
64
+ "@applitools/visual-grid-client": "15.12.6"
65
65
  },
66
66
  "devDependencies": {
67
- "@applitools/api-extractor": "1.2.6",
67
+ "@applitools/api-extractor": "1.2.7",
68
+ "@applitools/bongo": "^2.0.3",
68
69
  "@applitools/scripts": "1.1.0",
69
70
  "@applitools/sdk-coverage-tests": "2.3.18",
70
- "@applitools/sdk-release-kit": "0.13.10",
71
71
  "@applitools/sdk-shared": "0.9.11",
72
- "@applitools/test-utils": "1.0.10",
72
+ "@applitools/test-utils": "1.3.1",
73
73
  "@types/mocha": "^9.0.0",
74
74
  "@typescript-eslint/eslint-plugin": "^4.15.1",
75
75
  "@typescript-eslint/parser": "^4.15.1",
package/types/index.d.ts CHANGED
@@ -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;
@@ -251,6 +253,10 @@ export class Configuration implements Required<ConfigurationPlain> {
251
253
  setProxy(proxy: ProxySettingsPlain): Configuration;
252
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;
@@ -458,6 +468,7 @@ 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;
@@ -537,6 +548,7 @@ export class 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;
@@ -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 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,7 @@ 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_Tab_S7 = 'Galaxy Tab S7',
630
643
  iPad = 'iPad',
631
644
  iPad_6th_Gen = 'iPad 6th Gen',
632
645
  iPad_7th_Gen = 'iPad 7th Gen',
@@ -676,7 +689,7 @@ export enum FailureReport {
676
689
  IMMEDIATE = 'IMMEDIATE',
677
690
  ON_CLOSE = 'ON_CLOSE'
678
691
  }
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)";
692
+ 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)" | "iPad Air (4th generation)";
680
693
  export enum IosDeviceName {
681
694
  iPhone_13_Pro_Max = 'iPhone 13 Pro Max',
682
695
  iPhone_13_Pro = 'iPhone 13 Pro',
@@ -696,7 +709,8 @@ export enum IosDeviceName {
696
709
  iPad_Pro_3 = 'iPad Pro (12.9-inch) (3rd generation)',
697
710
  iPad_7 = 'iPad (7th generation)',
698
711
  iPad_9 = 'iPad (9th generation)',
699
- iPad_Air_2 = 'iPad Air (2nd generation)'
712
+ iPad_Air_2 = 'iPad Air (2nd generation)',
713
+ iPad_Air_4 = 'iPad Air (4th generation)'
700
714
  }
701
715
  export type IosVersionPlain = "latest" | "latest-1";
702
716
  export enum IosVersion {
@@ -810,7 +824,8 @@ export class BatchInfo implements Required<BatchInfoPlain> {
810
824
  set properties(properties: Array<PropertyDataPlain>);
811
825
  getProperties(): Array<PropertyData>;
812
826
  setProperties(properties: Array<PropertyDataPlain>): BatchInfo;
813
- addProperty(property: PropertyDataPlain): BatchInfo;
827
+ addProperty(name: string, value: string): BatchInfo;
828
+ addProperty(prop: PropertyDataPlain): BatchInfo;
814
829
  }
815
830
  export type CutProviderPlain = { top: number; right: number; bottom: number; left: number; } | { x: number; y: number; width: number; height: number; };
816
831
  export class CutProvider implements Required<{
@@ -1335,15 +1350,71 @@ export class TestResults implements Required<TestResultsPlain> {
1335
1350
  delete(): Promise<void>;
1336
1351
  deleteSession(): Promise<void>;
1337
1352
  }
1338
- export type TestResultContainerPlain = { readonly exception: Error; readonly testResults: TestResultsPlain; };
1353
+ export type TestResultContainerPlain = { readonly exception?: Error; readonly testResults?: {
1354
+ readonly id?: string;
1355
+ readonly name?: string;
1356
+ readonly secretToken?: string;
1357
+ readonly status?: "Passed" | "Failed" | "Unresolved";
1358
+ readonly appName?: string;
1359
+ readonly batchId?: string;
1360
+ readonly batchName?: string;
1361
+ readonly branchName?: string;
1362
+ readonly hostOS?: string;
1363
+ readonly hostApp?: string;
1364
+ readonly hostDisplaySize?: { width: number; height: number; };
1365
+ readonly accessibilityStatus?: { readonly level: "AA" | "AAA"; readonly version: "WCAG_2_0" | "WCAG_2_1"; readonly status: "Passed" | "Failed"; };
1366
+ readonly startedAt?: string | Date;
1367
+ readonly duration?: number;
1368
+ readonly isNew?: boolean;
1369
+ readonly isDifferent?: boolean;
1370
+ readonly isAborted?: boolean;
1371
+ readonly appUrls?: { readonly batch?: string; readonly session?: string; };
1372
+ readonly apiUrls?: { readonly batch?: string; readonly session?: string; };
1373
+ readonly stepsInfo?: Array<{
1374
+ readonly name?: string;
1375
+ readonly isDifferent?: boolean;
1376
+ readonly hasBaselineImage?: boolean;
1377
+ readonly hasCurrentImage?: boolean;
1378
+ readonly appUrls?: { readonly step?: string; readonly stepEditor?: string; };
1379
+ readonly apiUrls?: {
1380
+ readonly baselineImage?: string;
1381
+ readonly currentImage?: string;
1382
+ readonly checkpointImage?: string;
1383
+ readonly checkpointImageThumbnail?: string;
1384
+ readonly diffImage?: string;
1385
+ };
1386
+ readonly renderId?: Array<string>;
1387
+ }>;
1388
+ readonly steps?: number;
1389
+ readonly matches?: number;
1390
+ readonly mismatches?: number;
1391
+ readonly missing?: number;
1392
+ readonly exactMatches?: number;
1393
+ readonly strictMatches?: number;
1394
+ readonly contentMatches?: number;
1395
+ readonly layoutMatches?: number;
1396
+ readonly noneMatches?: number;
1397
+ readonly url?: string;
1398
+ }; 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 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?: "portrait" | "landscape"; }; } | { 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 7" | "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?: "portrait" | "landscape"; }; }; };
1339
1399
  export class TestResultContainer implements Required<TestResultContainerPlain> {
1340
1400
  get testResults(): TestResultsPlain;
1341
1401
  getTestResults(): TestResults;
1342
1402
  get exception(): Error;
1343
1403
  getException(): Error;
1404
+ 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 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?: "portrait" | "landscape"; }; } | { 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 7" | "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?: "portrait" | "landscape"; }; };
1405
+ 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 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?: "portrait" | "landscape"; }; } | { 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 7" | "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?: "portrait" | "landscape"; }; };
1344
1406
  }
1345
- export type TestResultsSummaryPlain = Iterable<TestResultContainerPlain>;
1346
- export class TestResultsSummary implements TestResultsSummaryPlain {
1407
+ export type TestResultsSummaryPlain = {
1408
+ results: Array<TestResultContainerPlain>;
1409
+ passed: number;
1410
+ unresolved: number;
1411
+ failed: number;
1412
+ exceptions: number;
1413
+ mismatches: number;
1414
+ missing: number;
1415
+ matches: number;
1416
+ };
1417
+ export class TestResultsSummary implements Iterable<TestResultContainerPlain> {
1347
1418
  getAllResults(): Array<TestResultContainer>;
1348
1419
  [Symbol.iterator](): Iterator<TestResultContainer, any, undefined>;
1349
1420
  }
@@ -1379,7 +1450,42 @@ export class Logger {
1379
1450
  fatal(...messages: Array<any>): void;
1380
1451
  open(): void;
1381
1452
  close(): void;
1382
- extend(label?: string, color?: string | Array<string>): Logger;
1453
+ extend(options?: Omit<{
1454
+ handler?: CustomLogHandlerPlain | FileLogHandlerPlain | ConsoleLogHandlerPlain | {
1455
+ type: "rolling file";
1456
+ dirname?: string;
1457
+ name?: string;
1458
+ maxFileLength?: number;
1459
+ maxFileNumber?: number;
1460
+ };
1461
+ format?: (message: any, options: {
1462
+ formatting?: boolean;
1463
+ label?: string;
1464
+ timestamp?: Date;
1465
+ level?: "silent" | "fatal" | "error" | "warn" | "info";
1466
+ tags?: Record<string, unknown>;
1467
+ color?: string | Array<string>;
1468
+ colors?: { timestamp?: string | Array<string>; level?: {
1469
+ silent?: string | Array<string>;
1470
+ fatal?: string | Array<string>;
1471
+ error?: string | Array<string>;
1472
+ warn?: string | Array<string>;
1473
+ info?: string | Array<string>;
1474
+ }; tags?: string | Array<string>; message?: string | Array<string>; };
1475
+ }) => string;
1476
+ label?: string;
1477
+ timestamp?: false;
1478
+ level?: number | ("silent" | "fatal" | "error" | "warn" | "info");
1479
+ colors?: boolean | { timestamp?: string | Array<string>; level?: {
1480
+ silent?: string | Array<string>;
1481
+ fatal?: string | Array<string>;
1482
+ error?: string | Array<string>;
1483
+ warn?: string | Array<string>;
1484
+ info?: string | Array<string>;
1485
+ }; tags?: string | Array<string>; message?: string | Array<string>; };
1486
+ console?: boolean | CustomLogHandlerPlain;
1487
+ }, "handler">): Logger;
1488
+ extend(label?: string): Logger;
1383
1489
  }
1384
1490
  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
1491
  export abstract class EyesRunner {