@applitools/core 3.9.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +180 -0
  2. package/dist/abort.js +40 -0
  3. package/dist/automation/abort.js +49 -0
  4. package/dist/{ufg → automation}/close.js +22 -6
  5. package/dist/automation/get-nml-client.js +3 -3
  6. package/dist/{ufg → automation}/get-results.js +4 -4
  7. package/dist/check-and-close.js +1 -10
  8. package/dist/check.js +8 -17
  9. package/dist/classic/check-and-close.js +111 -69
  10. package/dist/classic/check.js +103 -63
  11. package/dist/classic/core.js +4 -4
  12. package/dist/classic/get-base-eyes.js +29 -7
  13. package/dist/classic/open-eyes.js +42 -56
  14. package/dist/classic/utils/extract-default-renderers.js +72 -0
  15. package/dist/classic/utils/take-screenshots.js +60 -0
  16. package/dist/close.js +6 -3
  17. package/dist/core.js +4 -4
  18. package/dist/get-typed-eyes.js +3 -5
  19. package/dist/make-manager.js +2 -2
  20. package/dist/open-eyes.js +13 -10
  21. package/dist/ufg/check-and-close.js +61 -54
  22. package/dist/ufg/check.js +62 -60
  23. package/dist/ufg/core.js +2 -2
  24. package/dist/ufg/get-base-eyes.js +23 -13
  25. package/dist/ufg/open-eyes.js +24 -37
  26. package/dist/ufg/utils/extract-default-renderers.js +22 -0
  27. package/dist/universal/core.js +1 -0
  28. package/dist/universal/spec-driver.js +43 -50
  29. package/package.json +23 -28
  30. package/types/abort.d.ts +13 -0
  31. package/types/{classic → automation}/abort.d.ts +5 -4
  32. package/types/{classic → automation}/close.d.ts +3 -4
  33. package/types/automation/get-nml-client.d.ts +3 -3
  34. package/types/automation/get-results.d.ts +11 -0
  35. package/types/automation/types.d.ts +78 -7
  36. package/types/{ufg → automation}/utils/uniquify-renderers.d.ts +1 -1
  37. package/types/check.d.ts +2 -2
  38. package/types/classic/check-and-close.d.ts +11 -4
  39. package/types/classic/check.d.ts +6 -3
  40. package/types/classic/core.d.ts +2 -1
  41. package/types/classic/get-base-eyes.d.ts +4 -8
  42. package/types/classic/open-eyes.d.ts +3 -4
  43. package/types/classic/types.d.ts +3 -4
  44. package/types/classic/utils/extract-default-renderers.d.ts +9 -0
  45. package/types/classic/utils/take-screenshots.d.ts +18 -0
  46. package/types/close.d.ts +3 -2
  47. package/types/core.d.ts +7 -1
  48. package/types/get-typed-eyes.d.ts +5 -4
  49. package/types/make-manager.d.ts +7 -1
  50. package/types/open-eyes.d.ts +7 -1
  51. package/types/types.d.ts +3 -6
  52. package/types/ufg/check-and-close.d.ts +8 -12
  53. package/types/ufg/check.d.ts +4 -9
  54. package/types/ufg/core.d.ts +3 -3
  55. package/types/ufg/get-base-eyes.d.ts +3 -7
  56. package/types/ufg/open-eyes.d.ts +3 -4
  57. package/types/ufg/types.d.ts +3 -24
  58. package/types/ufg/utils/extract-default-renderers.d.ts +5 -0
  59. package/types/universal/spec-driver.d.ts +6 -5
  60. package/types/universal/types.d.ts +54 -50
  61. package/dist/classic/abort.js +0 -23
  62. package/dist/classic/close.js +0 -23
  63. package/dist/ufg/abort.js +0 -33
  64. package/types/ufg/abort.d.ts +0 -21
  65. package/types/ufg/close.d.ts +0 -19
  66. package/types/ufg/get-results.d.ts +0 -16
  67. /package/dist/{ufg → automation}/utils/uniquify-renderers.js +0 -0
@@ -1,4 +1,3 @@
1
- import type * as BaseCore from '@applitools/core-base/types';
2
1
  import type * as AutomationCore from '../automation/types';
3
2
  import { type SpecType } from '@applitools/driver';
4
3
  import { type Logger } from '@applitools/logger';
@@ -8,7 +7,7 @@ export interface Core<TSpec extends SpecType> extends AutomationCore.Core<TSpec>
8
7
  openEyes(options: {
9
8
  target?: AutomationCore.DriverTarget<TSpec>;
10
9
  settings: OpenSettings;
11
- base?: BaseCore.Eyes[];
10
+ storage?: AutomationCore.EyesStorage;
12
11
  logger?: Logger;
13
12
  }): Promise<Eyes<TSpec>>;
14
13
  }
@@ -19,7 +18,7 @@ export interface Eyes<TSpec extends SpecType> extends AutomationCore.Eyes<TSpec>
19
18
  target?: AutomationCore.Target<TSpec>;
20
19
  settings?: CheckSettings<TSpec>;
21
20
  logger?: Logger;
22
- }): Promise<AutomationCore.CheckResult[]>;
21
+ }): Promise<void>;
23
22
  checkAndClose(options?: {
24
23
  target?: AutomationCore.Target<TSpec>;
25
24
  settings?: CheckSettings<TSpec> & AutomationCore.CloseSettings;
@@ -27,8 +26,8 @@ export interface Eyes<TSpec extends SpecType> extends AutomationCore.Eyes<TSpec>
27
26
  }): Promise<void>;
28
27
  }
29
28
  export type OpenSettings = AutomationCore.OpenSettings & {
30
- keepPlatformNameAsIs?: boolean;
31
29
  useCeilForViewportSize?: boolean;
30
+ keepPlatformNameAsIs?: boolean;
32
31
  };
33
32
  export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings<TSpec> & {
34
33
  retryTimeout?: number;
@@ -0,0 +1,9 @@
1
+ import type { EnvironmentRenderer, Environment } from '../types';
2
+ import { type SpecType, type Driver } from '@applitools/driver';
3
+ export declare function extractDefaultRenderers<TSpec extends SpecType>({ driver, settings, }: {
4
+ driver?: Driver<TSpec>;
5
+ settings?: {
6
+ keepPlatformNameAsIs?: boolean;
7
+ environment?: Environment;
8
+ };
9
+ }): Promise<EnvironmentRenderer[]>;
@@ -0,0 +1,18 @@
1
+ import type { ScreenshotSettings, Renderer } from '../types';
2
+ import type { Target as BaseTarget } from '@applitools/core-base';
3
+ import { type Logger } from '@applitools/logger';
4
+ import { type SpecType, type Driver, type ElementReference } from '@applitools/driver';
5
+ import { type DomCaptureSettings } from './take-dom-capture';
6
+ export type ScreenshotsSettings<TSpec extends SpecType> = ScreenshotSettings<TSpec> & {
7
+ renderers: Renderer[];
8
+ regionsToCalculate?: ElementReference<TSpec>[];
9
+ calculateView?: boolean;
10
+ domSettings?: DomCaptureSettings;
11
+ };
12
+ export declare function takeScreenshots<TSpec extends SpecType>({ driver, settings, logger, }: {
13
+ driver: Driver<TSpec>;
14
+ settings: ScreenshotsSettings<TSpec>;
15
+ logger: Logger;
16
+ }): Promise<(BaseTarget & {
17
+ calculatedRegions: any;
18
+ })[]>;
package/types/close.d.ts CHANGED
@@ -1,11 +1,12 @@
1
- import type { Eyes, Config, CloseSettings } from './types';
1
+ import type { Eyes, Config, CloseSettings, Renderer } from './types';
2
2
  import { type SpecType } from '@applitools/driver';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
5
5
  eyes: Eyes<TSpec, TType>;
6
+ renderers?: Renderer[];
6
7
  logger: Logger;
7
8
  };
8
- export declare function makeClose<TSpec extends SpecType, TType extends 'classic' | 'ufg'>({ eyes, logger: mainLogger, }: Options<TSpec, TType>): ({ settings, config, logger, }?: {
9
+ export declare function makeClose<TSpec extends SpecType, TType extends 'classic' | 'ufg'>({ eyes, renderers: defaultRenderers, logger: mainLogger, }: Options<TSpec, TType>): ({ settings, config, logger, }?: {
9
10
  settings?: CloseSettings<TType> | undefined;
10
11
  config?: Config<TSpec, TType> | undefined;
11
12
  logger?: Logger | undefined;
package/types/core.d.ts CHANGED
@@ -1,9 +1,15 @@
1
1
  import type { Core } from './types';
2
2
  import type { Core as BaseCore } from '@applitools/core-base';
3
+ import { type UFGClient } from '@applitools/ufg-client';
4
+ import { type NMLClient } from '@applitools/nml-client';
3
5
  import { type SpecType, type SpecDriver } from '@applitools/driver';
4
6
  import { type Logger } from '@applitools/logger';
5
7
  type Options<TSpec extends SpecType> = {
6
8
  spec?: SpecDriver<TSpec>;
9
+ clients?: {
10
+ ufg?: UFGClient;
11
+ nml?: NMLClient;
12
+ };
7
13
  concurrency?: number;
8
14
  base?: BaseCore;
9
15
  agentId?: string;
@@ -11,5 +17,5 @@ type Options<TSpec extends SpecType> = {
11
17
  cwd?: string;
12
18
  logger?: Logger;
13
19
  };
14
- export declare function makeCore<TSpec extends SpecType>({ spec, concurrency, base: defaultBase, environment: defaultEnvironment, agentId, cwd, logger: defaultLogger, }?: Options<TSpec>): Core<TSpec, 'classic' | 'ufg'>;
20
+ export declare function makeCore<TSpec extends SpecType>({ spec, clients, concurrency, base: defaultBase, environment: defaultEnvironment, agentId, cwd, logger: defaultLogger, }?: Options<TSpec>): Core<TSpec, 'classic' | 'ufg'>;
15
21
  export {};
@@ -1,6 +1,5 @@
1
- import type { DriverTarget, TypedCore, TypedEyes, OpenSettings } from './types';
1
+ import type { DriverTarget, TypedCore, TypedEyes, OpenSettings, Renderer } from './types';
2
2
  import { type SpecType } from '@applitools/driver';
3
- import { type RenderEnvironmentSettings } from '@applitools/ufg-client';
4
3
  import { type Logger } from '@applitools/logger';
5
4
  type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
6
5
  type: TType;
@@ -11,9 +10,11 @@ type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
11
10
  };
12
11
  logger: Logger;
13
12
  };
14
- export declare function makeGetTypedEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'>({ type: defaultType, settings: defaultSettings, target, cores, logger: mainLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings, logger, }?: {
13
+ export declare function makeGetTypedEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'>({ type: defaultType, settings: defaultSettings, target, cores, logger: mainLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, logger, }?: {
15
14
  type?: TType | undefined;
16
- settings?: RenderEnvironmentSettings[] | undefined;
15
+ settings?: {
16
+ renderers?: Renderer[] | undefined;
17
+ } | undefined;
17
18
  logger?: Logger | undefined;
18
19
  }) => Promise<TypedEyes<TSpec, TType>>;
19
20
  export {};
@@ -1,9 +1,15 @@
1
1
  import type { Core, EyesManager, ManagerSettings } from './types';
2
2
  import type { Core as BaseCore } from '@applitools/core-base';
3
+ import { type UFGClient } from '@applitools/ufg-client';
4
+ import { type NMLClient } from '@applitools/nml-client';
3
5
  import { type Logger } from '@applitools/logger';
4
6
  import { type SpecType, type SpecDriver } from '@applitools/driver';
5
7
  type Options<TSpec extends SpecType> = {
6
8
  spec?: SpecDriver<TSpec>;
9
+ clients?: {
10
+ ufg?: UFGClient;
11
+ nml?: NMLClient;
12
+ };
7
13
  concurrency?: number;
8
14
  core: Core<TSpec>;
9
15
  base?: BaseCore;
@@ -12,7 +18,7 @@ type Options<TSpec extends SpecType> = {
12
18
  cwd?: string;
13
19
  logger: Logger;
14
20
  };
15
- export declare function makeMakeManager<TSpec extends SpecType>({ spec, concurrency: defaultConcurrency, core, base, agentId: defaultAgentId, environment, cwd, logger: mainLogger, }: Options<TSpec>): <TType extends "classic" | "ufg" = "classic">({ type, settings, logger, }?: {
21
+ export declare function makeMakeManager<TSpec extends SpecType>({ spec, clients, concurrency: defaultConcurrency, core, base, agentId: defaultAgentId, environment, cwd, logger: mainLogger, }: Options<TSpec>): <TType extends "classic" | "ufg" = "classic">({ type, settings, logger, }?: {
16
22
  type?: TType | undefined;
17
23
  settings?: ManagerSettings | undefined;
18
24
  logger?: Logger | undefined;
@@ -1,8 +1,14 @@
1
1
  import type { DriverTarget, Core, TypedCore, Batch, Eyes, Config, OpenSettings } from './types';
2
+ import { type UFGClient } from '@applitools/ufg-client';
3
+ import { type NMLClient } from '@applitools/nml-client';
2
4
  import { type Logger } from '@applitools/logger';
3
5
  import { type SpecType, type SpecDriver } from '@applitools/driver';
4
6
  type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
5
7
  type?: TType;
8
+ clients?: {
9
+ ufg?: UFGClient;
10
+ nml?: NMLClient;
11
+ };
6
12
  concurrency?: number;
7
13
  batch?: Batch;
8
14
  core: Core<TSpec, TType>;
@@ -13,7 +19,7 @@ type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
13
19
  environment?: Record<string, any>;
14
20
  logger: Logger;
15
21
  };
16
- export declare function makeOpenEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, concurrency, batch, core, cores, spec, environment, logger: mainLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings, config, target, logger, }: {
22
+ export declare function makeOpenEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, clients, concurrency, batch, core, cores, spec, environment, logger: mainLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings, config, target, logger, }: {
17
23
  type?: TType | undefined;
18
24
  settings?: Partial<OpenSettings<TDefaultType> & OpenSettings<TType>> | undefined;
19
25
  config?: (Config<TSpec, TDefaultType> & Config<TSpec, TType>) | undefined;
package/types/types.d.ts CHANGED
@@ -4,9 +4,8 @@ import type * as ClassicCore from './classic/types';
4
4
  import type * as UFGCore from './ufg/types';
5
5
  import { type SpecType } from '@applitools/driver';
6
6
  import { type Logger } from '@applitools/logger';
7
- import { type Renderer } from '@applitools/ufg-client';
8
7
  import { type ECClient, type ECClientSettings } from '@applitools/ec-client';
9
- export { ECClient, Renderer };
8
+ export { ECClient };
10
9
  export * from './automation/types';
11
10
  export type TypedCore<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Core<TSpec> : ClassicCore.Core<TSpec>;
12
11
  export type TypedEyes<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Eyes<TSpec> : ClassicCore.Eyes<TSpec>;
@@ -64,7 +63,6 @@ export interface Eyes<TSpec extends SpecType, TDefaultType extends 'classic' | '
64
63
  readonly core: Core<TSpec, TDefaultType>;
65
64
  getTypedEyes<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
66
65
  type?: TType;
67
- settings?: any;
68
66
  logger?: Logger;
69
67
  }): Promise<TypedEyes<TSpec, TType>>;
70
68
  check<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
@@ -73,7 +71,7 @@ export interface Eyes<TSpec extends SpecType, TDefaultType extends 'classic' | '
73
71
  settings?: Partial<CheckSettings<TSpec, TDefaultType> & CheckSettings<TSpec, TType>>;
74
72
  config?: Config<TSpec, TDefaultType> & Config<TSpec, TType>;
75
73
  logger?: Logger;
76
- }): Promise<CheckResult<TType>[]>;
74
+ }): Promise<void>;
77
75
  checkAndClose<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
78
76
  type?: TType;
79
77
  target?: Target<TSpec, TType>;
@@ -122,12 +120,11 @@ export type GetEyesResultsSettings<TType extends 'classic' | 'ufg'> = GetResults
122
120
  export type GetManagerResultsSettings<TType extends 'classic' | 'ufg'> = GetEyesResultsSettings<TType> & {
123
121
  removeDuplicateTests?: boolean;
124
122
  };
125
- export type CheckResult<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckResult : ClassicCore.CheckResult;
126
123
  export type TestResult<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.TestResult : ClassicCore.TestResult;
127
124
  export interface TestResultContainer<TType extends 'classic' | 'ufg'> {
128
125
  readonly error?: Error;
129
126
  readonly result?: TestResult<TType>;
130
- readonly renderer?: TType extends 'ufg' ? Renderer : never;
127
+ readonly renderer?: TType extends 'ufg' ? AutomationCore.Renderer : never;
131
128
  readonly userTestId?: string;
132
129
  }
133
130
  export interface TestResultSummary<TType extends 'classic' | 'ufg'> {
@@ -1,27 +1,21 @@
1
1
  import type { Region } from '@applitools/utils';
2
- import type { DriverTarget, Target, Eyes, CheckSettings, CloseSettings } from './types';
3
- import type { Eyes as BaseEyes } from '@applitools/core-base';
4
- import { type Renderer } from '@applitools/ufg-client';
2
+ import type { DriverTarget, Target, Eyes, CheckSettings, CloseSettings, Renderer } from './types';
5
3
  import { type AbortSignal } from 'abort-controller';
6
4
  import { type Logger } from '@applitools/logger';
7
5
  import { type SpecType, type SpecDriver } from '@applitools/driver';
8
6
  type Options<TSpec extends SpecType> = {
9
7
  eyes: Eyes<TSpec>;
10
- storage: Map<string, Promise<{
11
- renderer: Renderer;
12
- eyes: BaseEyes;
13
- }>[]>;
14
8
  target?: DriverTarget<TSpec>;
9
+ renderers?: Renderer[];
15
10
  spec?: SpecDriver<TSpec>;
16
11
  signal?: AbortSignal;
17
12
  logger: Logger;
18
13
  };
19
- export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, storage, target: defaultTarget, spec, signal, logger: mainLogger, }: Options<TSpec>): ({ target, settings, logger, }?: {
14
+ export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, target: defaultTarget, renderers: defaultRenderers, spec, signal, logger: mainLogger, }: Options<TSpec>): ({ target, settings, logger, }?: {
20
15
  target?: Target<TSpec> | undefined;
21
16
  settings?: (import("@applitools/core-base").CheckSettings<Region | import("@applitools/driver").ElementReference<TSpec>> & import("./types").ScreenshotSettings<TSpec> & {
22
- renderers?: (Renderer & {
23
- properties?: import("@applitools/core-base").CustomProperty[] | undefined;
24
- })[] | undefined;
17
+ renderers?: Renderer[] | undefined;
18
+ } & {
25
19
  hooks?: {
26
20
  beforeCaptureScreenshot: string;
27
21
  } | undefined;
@@ -36,7 +30,9 @@ export declare function makeCheckAndClose<TSpec extends SpecType>({ eyes, storag
36
30
  domains?: string[] | undefined;
37
31
  }) | undefined;
38
32
  headers?: Record<string, string> | undefined;
39
- } & CloseSettings) | undefined;
33
+ } & import("@applitools/core-base").CloseSettings & {
34
+ renderers?: Renderer[] | undefined;
35
+ }) | undefined;
40
36
  logger?: Logger | undefined;
41
37
  }) => Promise<void>;
42
38
  export {};
@@ -1,23 +1,18 @@
1
- import type { DriverTarget, Target, Eyes, CheckSettings, CheckResult } from './types';
2
- import type { Eyes as BaseEyes } from '@applitools/core-base';
3
- import { type Renderer } from '@applitools/ufg-client';
1
+ import type { DriverTarget, Target, Eyes, CheckSettings, Renderer } from './types';
4
2
  import { type AbortSignal } from 'abort-controller';
5
3
  import { type Logger } from '@applitools/logger';
6
4
  import { type SpecType, type SpecDriver } from '@applitools/driver';
7
5
  type Options<TSpec extends SpecType> = {
8
6
  eyes: Eyes<TSpec>;
9
- storage: Map<string, Promise<{
10
- renderer: Renderer;
11
- eyes: BaseEyes;
12
- }>[]>;
13
7
  target?: DriverTarget<TSpec>;
8
+ renderers?: Renderer[];
14
9
  spec?: SpecDriver<TSpec>;
15
10
  signal?: AbortSignal;
16
11
  logger: Logger;
17
12
  };
18
- export declare function makeCheck<TSpec extends SpecType>({ eyes, storage, target: defaultTarget, spec, signal, logger: mainLogger, }: Options<TSpec>): ({ target, settings, logger, }?: {
13
+ export declare function makeCheck<TSpec extends SpecType>({ eyes, target: defaultTarget, renderers: defaultRenderers, spec, signal, logger: mainLogger, }: Options<TSpec>): ({ target, settings, logger, }?: {
19
14
  settings?: CheckSettings<TSpec> | undefined;
20
15
  target?: Target<TSpec> | undefined;
21
16
  logger?: Logger | undefined;
22
- }) => Promise<CheckResult[]>;
17
+ }) => Promise<void>;
23
18
  export {};
@@ -1,9 +1,9 @@
1
1
  import type { Core } from './types';
2
- import type { Core as BaseCore } from '@applitools/core-base';
3
2
  import { type UFGClient } from '@applitools/ufg-client';
4
3
  import { type NMLClient } from '@applitools/nml-client';
5
4
  import { type SpecType, type SpecDriver } from '@applitools/driver';
6
5
  import { type Logger } from '@applitools/logger';
6
+ import { type Core as BaseCore } from '@applitools/core-base';
7
7
  type Options<TSpec extends SpecType> = {
8
8
  spec?: SpecDriver<TSpec>;
9
9
  clients?: {
@@ -11,11 +11,11 @@ type Options<TSpec extends SpecType> = {
11
11
  nml?: NMLClient;
12
12
  };
13
13
  base?: BaseCore;
14
- agentId?: string;
15
14
  concurrency?: number;
16
15
  fetchConcurrency?: number;
16
+ agentId?: string;
17
17
  cwd?: string;
18
18
  logger?: Logger;
19
19
  };
20
- export declare function makeCore<TSpec extends SpecType>({ concurrency, spec, clients, base, fetchConcurrency, agentId, cwd, logger: defaultLogger, }: Options<TSpec>): Core<TSpec>;
20
+ export declare function makeCore<TSpec extends SpecType>({ spec, clients, base, concurrency, fetchConcurrency, agentId, cwd, logger: defaultLogger, }: Options<TSpec>): Core<TSpec>;
21
21
  export {};
@@ -8,12 +8,8 @@ type Options<TSpec extends SpecType> = {
8
8
  base?: BaseEyes[];
9
9
  logger: Logger;
10
10
  };
11
- export declare function makeGetBaseEyes<TSpec extends SpecType>({ settings: defaultSettings, eyes, base, logger: mainLogger, }: Options<TSpec>): (({ settings, logger, }?: {
12
- settings?: GetBaseEyesSettings | undefined;
11
+ export declare function makeGetBaseEyes<TSpec extends SpecType>({ settings: defaultSettings, eyes, logger: mainLogger, }: Options<TSpec>): ({ settings, logger, }: {
12
+ settings: GetBaseEyesSettings;
13
13
  logger?: Logger | undefined;
14
- }) => Promise<BaseEyes[]>) & {
15
- getCachedValues(): Promise<BaseEyes[]>[];
16
- setCachedValue(key: any, value: Promise<BaseEyes[]>): void;
17
- clearCache(): void;
18
- };
14
+ }) => Promise<BaseEyes>;
19
15
  export {};
@@ -1,5 +1,4 @@
1
- import type { DriverTarget, Core, Eyes, OpenSettings } from './types';
2
- import type { Eyes as BaseEyes } from '@applitools/core-base';
1
+ import type { DriverTarget, Core, Eyes, EyesStorage, OpenSettings } from './types';
3
2
  import { type Logger } from '@applitools/logger';
4
3
  import { type SpecType, type SpecDriver } from '@applitools/driver';
5
4
  type Options<TSpec extends SpecType> = {
@@ -7,10 +6,10 @@ type Options<TSpec extends SpecType> = {
7
6
  spec?: SpecDriver<TSpec>;
8
7
  logger: Logger;
9
8
  };
10
- export declare function makeOpenEyes<TSpec extends SpecType>({ core, spec, logger: mainLogger }: Options<TSpec>): ({ target, settings, base, logger, }: {
9
+ export declare function makeOpenEyes<TSpec extends SpecType>({ core, spec, logger: mainLogger }: Options<TSpec>): ({ target, settings, storage, logger, }: {
11
10
  target?: DriverTarget<TSpec> | undefined;
12
11
  settings: OpenSettings;
13
- base?: BaseEyes[] | undefined;
12
+ storage?: EyesStorage | undefined;
14
13
  logger?: Logger | undefined;
15
14
  }) => Promise<Eyes<TSpec>>;
16
15
  export {};
@@ -1,10 +1,9 @@
1
1
  import type { MaybeArray } from '@applitools/utils';
2
- import type * as BaseCore from '@applitools/core-base/types';
3
2
  import type * as AutomationCore from '../automation/types';
4
3
  import { type SpecType } from '@applitools/driver';
5
4
  import { type Logger } from '@applitools/logger';
6
5
  import { type Proxy } from '@applitools/req';
7
- import { type UFGClient, type UFGClientSettings, type RenderEnvironmentSettings, type Renderer, type DomSnapshot, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
6
+ import { type UFGClient, type UFGClientSettings, type DomSnapshot, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
8
7
  export * from '../automation/types';
9
8
  export type SnapshotTarget = MaybeArray<DomSnapshot> | MaybeArray<AndroidSnapshot> | MaybeArray<IOSSnapshot>;
10
9
  export type Target<TSpec extends SpecType> = SnapshotTarget | AutomationCore.Target<TSpec>;
@@ -17,39 +16,25 @@ export interface Core<TSpec extends SpecType> extends AutomationCore.Core<TSpec>
17
16
  openEyes(options: {
18
17
  target?: AutomationCore.DriverTarget<TSpec>;
19
18
  settings: AutomationCore.OpenSettings;
20
- base?: BaseCore.Eyes[];
19
+ storage?: AutomationCore.EyesStorage;
21
20
  logger?: Logger;
22
21
  }): Promise<Eyes<TSpec>>;
23
22
  }
24
23
  export interface Eyes<TSpec extends SpecType> extends AutomationCore.Eyes<TSpec> {
25
24
  readonly type: 'ufg';
26
25
  readonly core: Core<TSpec>;
27
- getBaseEyes(options?: {
28
- settings?: GetBaseEyesSettings;
29
- logger?: Logger;
30
- }): Promise<BaseCore.Eyes[]>;
31
26
  check(options?: {
32
27
  target?: Target<TSpec>;
33
28
  settings?: CheckSettings<TSpec>;
34
29
  logger?: Logger;
35
- }): Promise<CheckResult[]>;
30
+ }): Promise<void>;
36
31
  checkAndClose(options?: {
37
32
  target?: Target<TSpec>;
38
33
  settings?: CheckSettings<TSpec> & AutomationCore.CloseSettings;
39
34
  logger?: Logger;
40
35
  }): Promise<void>;
41
- getResults(options?: {
42
- settings?: AutomationCore.GetResultsSettings;
43
- logger?: Logger;
44
- }): Promise<TestResult[]>;
45
36
  }
46
- export type GetBaseEyesSettings = RenderEnvironmentSettings & {
47
- properties?: BaseCore.CustomProperty[];
48
- };
49
37
  export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings<TSpec> & {
50
- renderers?: (Renderer & {
51
- properties?: BaseCore.CustomProperty[];
52
- })[];
53
38
  hooks?: {
54
39
  beforeCaptureScreenshot: string;
55
40
  };
@@ -65,9 +50,3 @@ export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings
65
50
  };
66
51
  headers?: Record<string, string>;
67
52
  };
68
- export type CheckResult = AutomationCore.CheckResult & {
69
- readonly renderer: Renderer;
70
- };
71
- export type TestResult = AutomationCore.TestResult & {
72
- readonly renderer: Renderer;
73
- };
@@ -0,0 +1,5 @@
1
+ import type { Renderer } from '../types';
2
+ import { type SpecType, type Driver } from '@applitools/driver';
3
+ export declare function extractDefaultRenderers<TSpec extends SpecType>({ driver, }: {
4
+ driver?: Driver<TSpec>;
5
+ }): Promise<Renderer[]>;
@@ -1,11 +1,12 @@
1
1
  import type { Ref, ServerSocket, UniversalSpecDriver } from './types';
2
- import type { SpecType as BaseSpecType, SpecDriver, CommonSelector } from '@applitools/driver';
2
+ import type { SpecType, SpecDriver as BaseSpecDriver, CommonSelector } from '@applitools/driver';
3
3
  export type Driver = Ref;
4
4
  export type Context = Ref;
5
5
  export type Element = Ref;
6
6
  export type Selector = string | CommonSelector | Ref;
7
- export type SpecType = BaseSpecType<Driver, Context, Element, Selector>;
7
+ export type PrimarySpecType = SpecType<Driver, Context, Element, Selector>;
8
+ export type SpecDriver = BaseSpecDriver<PrimarySpecType>;
8
9
  export declare function makeSpec({ socket, spec, }: {
9
- socket: ServerSocket<SpecType, any>;
10
- spec: (keyof UniversalSpecDriver<SpecType>)[];
11
- }): SpecDriver<SpecType>;
10
+ socket: ServerSocket<PrimarySpecType, any>;
11
+ spec: (keyof UniversalSpecDriver<PrimarySpecType>)[];
12
+ }): SpecDriver;
@@ -56,16 +56,6 @@ export interface UniversalSpecDriver<T extends SpecType> {
56
56
  element1: T['element'];
57
57
  element2: T['element'];
58
58
  }): Promise<boolean>;
59
- mainContext(options: {
60
- context: T['context'];
61
- }): Promise<T['context']>;
62
- parentContext(options: {
63
- context: T['context'];
64
- }): Promise<T['context']>;
65
- childContext(options: {
66
- context: T['context'];
67
- element: T['element'];
68
- }): Promise<T['context']>;
69
59
  executeScript(options: {
70
60
  context: T['context'];
71
61
  script: string;
@@ -87,6 +77,15 @@ export interface UniversalSpecDriver<T extends SpecType> {
87
77
  parent?: T['element'];
88
78
  options?: WaitOptions;
89
79
  }): Promise<T['element'] | null>;
80
+ getElementRegion(options: {
81
+ context: T['context'];
82
+ element: T['element'];
83
+ }): Promise<Region>;
84
+ getElementAttribute(options: {
85
+ context: T['context'];
86
+ element: T['element'];
87
+ attr: string;
88
+ }): Promise<string>;
90
89
  setElementText(options: {
91
90
  context: T['context'];
92
91
  element: T['element'];
@@ -96,6 +95,30 @@ export interface UniversalSpecDriver<T extends SpecType> {
96
95
  context: T['context'];
97
96
  element: T['element'];
98
97
  }): Promise<string>;
98
+ hover(options: {
99
+ context: T['context'];
100
+ element: T['element'];
101
+ }): Promise<void>;
102
+ click(options: {
103
+ context: T['context'];
104
+ element: T['element'];
105
+ }): Promise<void>;
106
+ mainContext(options: {
107
+ context: T['context'];
108
+ }): Promise<T['context']>;
109
+ parentContext(options: {
110
+ context: T['context'];
111
+ }): Promise<T['context']>;
112
+ childContext(options: {
113
+ context: T['context'];
114
+ element: T['element'];
115
+ }): Promise<T['context']>;
116
+ getDriverInfo(options: {
117
+ driver: T['driver'];
118
+ }): Promise<DriverInfo>;
119
+ getCapabilities(options: {
120
+ driver: T['driver'];
121
+ }): Promise<Record<string, any>>;
99
122
  setWindowSize(options: {
100
123
  driver: T['driver'];
101
124
  size: Size;
@@ -110,40 +133,6 @@ export interface UniversalSpecDriver<T extends SpecType> {
110
133
  getViewportSize(options: {
111
134
  driver: T['driver'];
112
135
  }): Promise<Size>;
113
- getCookies(options: {
114
- driver: T['driver'] | T['context'];
115
- context?: boolean;
116
- }): Promise<Cookie[]>;
117
- getDriverInfo(options: {
118
- driver: T['driver'];
119
- }): Promise<DriverInfo>;
120
- getCapabilities(options: {
121
- driver: T['driver'];
122
- }): Promise<Record<string, any>>;
123
- getTitle(options: {
124
- driver: T['driver'];
125
- }): Promise<string>;
126
- getUrl(options: {
127
- driver: T['driver'];
128
- }): Promise<string>;
129
- takeScreenshot(options: {
130
- driver: T['driver'];
131
- }): Promise<string>;
132
- click(options: {
133
- context: T['context'];
134
- element: T['element'] | T['selector'];
135
- }): Promise<void>;
136
- visit(options: {
137
- driver: T['driver'];
138
- url: string;
139
- }): Promise<void>;
140
- getOrientation(options: {
141
- driver: T['driver'];
142
- }): Promise<'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary'>;
143
- setOrientation(options: {
144
- driver: T['driver'];
145
- orientation: 'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary';
146
- }): Promise<void>;
147
136
  getSystemBars(options: {
148
137
  driver: T['driver'];
149
138
  }): Promise<{
@@ -162,19 +151,34 @@ export interface UniversalSpecDriver<T extends SpecType> {
162
151
  width: number;
163
152
  };
164
153
  }>;
165
- getElementRegion(options: {
154
+ getOrientation(options: {
166
155
  driver: T['driver'];
167
- element: T['element'];
168
- }): Promise<Region>;
169
- getElementAttribute(options: {
156
+ }): Promise<'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary'>;
157
+ setOrientation(options: {
158
+ driver: T['driver'];
159
+ orientation: 'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary';
160
+ }): Promise<void>;
161
+ getCookies(options: {
162
+ driver: T['driver'] | T['context'];
163
+ context?: boolean;
164
+ }): Promise<Cookie[]>;
165
+ getTitle(options: {
166
+ driver: T['driver'];
167
+ }): Promise<string>;
168
+ getUrl(options: {
169
+ driver: T['driver'];
170
+ }): Promise<string>;
171
+ takeScreenshot(options: {
170
172
  driver: T['driver'];
171
- element: T['element'];
172
- attr: string;
173
173
  }): Promise<string>;
174
174
  performAction(options: {
175
175
  driver: T['driver'];
176
176
  steps: any[];
177
177
  }): Promise<void>;
178
+ visit(options: {
179
+ driver: T['driver'];
180
+ url: string;
181
+ }): Promise<void>;
178
182
  getCurrentWorld(options: {
179
183
  driver: T['driver'];
180
184
  }): Promise<string>;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeAbort = void 0;
4
- const driver_1 = require("@applitools/driver");
5
- function makeAbort({ eyes, target, spec, logger: mainLogger }) {
6
- return async function abort({ settings, logger = mainLogger, } = {}) {
7
- logger = logger.extend(mainLogger);
8
- logger.log('Command "abort" is called with settings', settings);
9
- settings !== null && settings !== void 0 ? settings : (settings = {});
10
- if (!settings.testMetadata) {
11
- try {
12
- const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
13
- settings.testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
14
- }
15
- catch (error) {
16
- logger.warn('Command "abort" received an error during extracting driver metadata', error);
17
- }
18
- }
19
- const baseEyes = await eyes.getBaseEyes();
20
- await Promise.all(baseEyes.map(baseEyes => baseEyes.abort({ settings, logger })));
21
- };
22
- }
23
- exports.makeAbort = makeAbort;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeClose = void 0;
4
- const driver_1 = require("@applitools/driver");
5
- function makeClose({ eyes, target, spec, logger: mainLogger }) {
6
- return async function close({ settings, logger = mainLogger, } = {}) {
7
- logger = logger.extend(mainLogger);
8
- logger.log('Command "close" is called with settings', settings);
9
- settings !== null && settings !== void 0 ? settings : (settings = {});
10
- if (!settings.testMetadata) {
11
- try {
12
- const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
13
- settings.testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
14
- }
15
- catch (error) {
16
- logger.warn('Command "close" received an error during extracting driver metadata', error);
17
- }
18
- }
19
- const baseEyes = await eyes.getBaseEyes();
20
- await Promise.all(baseEyes.map(baseEyes => baseEyes.close({ settings, logger })));
21
- };
22
- }
23
- exports.makeClose = makeClose;