@applitools/core 1.4.9 → 1.4.10

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 (80) hide show
  1. package/dist/automation/get-viewport-size.js +1 -1
  2. package/dist/automation/locate.js +1 -1
  3. package/dist/automation/set-viewport-size.js +1 -1
  4. package/dist/check.js +4 -1
  5. package/dist/classic/abort.js +3 -3
  6. package/dist/classic/close.js +2 -2
  7. package/dist/classic/core.js +0 -4
  8. package/dist/{automation → classic}/extract-text.js +9 -6
  9. package/dist/{automation → classic}/locate-text.js +8 -5
  10. package/dist/classic/open-eyes.js +5 -1
  11. package/dist/{get-manager-results.js → close-manager.js} +9 -7
  12. package/dist/close.js +25 -1
  13. package/dist/core.js +0 -4
  14. package/dist/errors/abort-error.js +1 -5
  15. package/dist/extract-text.js +17 -13
  16. package/dist/get-typed-eyes.js +2 -4
  17. package/dist/index.js +3 -3
  18. package/dist/locate-text.js +7 -33
  19. package/dist/locate.js +1 -1
  20. package/dist/make-manager.js +28 -5
  21. package/dist/open-eyes.js +5 -3
  22. package/dist/types.js +1 -0
  23. package/dist/ufg/abort.js +19 -11
  24. package/dist/ufg/check-and-close.js +4 -4
  25. package/dist/ufg/check.js +9 -11
  26. package/dist/ufg/close.js +18 -17
  27. package/dist/ufg/core.js +0 -4
  28. package/dist/ufg/open-eyes.js +25 -13
  29. package/package.json +9 -11
  30. package/types/automation/get-viewport-size.d.ts +5 -5
  31. package/types/automation/locate.d.ts +6 -6
  32. package/types/automation/set-viewport-size.d.ts +5 -5
  33. package/types/automation/types.d.ts +40 -36
  34. package/types/automation/utils/take-screenshot.d.ts +9 -9
  35. package/types/automation/utils/to-base-check-settings.d.ts +13 -6
  36. package/types/automation/utils/wait-for-lazy-load.d.ts +3 -3
  37. package/types/check-and-close.d.ts +11 -9
  38. package/types/check.d.ts +9 -9
  39. package/types/classic/abort.d.ts +8 -8
  40. package/types/classic/check-and-close.d.ts +9 -9
  41. package/types/classic/check.d.ts +9 -9
  42. package/types/classic/close.d.ts +8 -8
  43. package/types/classic/core.d.ts +4 -4
  44. package/types/classic/extract-text.d.ts +16 -0
  45. package/types/classic/locate-text.d.ts +15 -0
  46. package/types/classic/open-eyes.d.ts +6 -6
  47. package/types/classic/types.d.ts +7 -7
  48. package/types/classic/utils/take-dom-capture.d.ts +3 -3
  49. package/types/close-manager.d.ts +18 -0
  50. package/types/close.d.ts +6 -7
  51. package/types/core.d.ts +4 -4
  52. package/types/errors/abort-error.d.ts +1 -3
  53. package/types/extract-text.d.ts +8 -10
  54. package/types/get-typed-eyes.d.ts +5 -6
  55. package/types/index.d.ts +3 -3
  56. package/types/locate-text.d.ts +8 -10
  57. package/types/locate.d.ts +8 -8
  58. package/types/make-manager.d.ts +5 -5
  59. package/types/open-eyes.d.ts +9 -9
  60. package/types/types.d.ts +84 -62
  61. package/types/ufg/abort.d.ts +16 -8
  62. package/types/ufg/check-and-close.d.ts +9 -9
  63. package/types/ufg/check.d.ts +9 -9
  64. package/types/ufg/close.d.ts +17 -8
  65. package/types/ufg/core.d.ts +4 -4
  66. package/types/ufg/open-eyes.d.ts +6 -6
  67. package/types/ufg/types.d.ts +17 -13
  68. package/types/ufg/utils/extract-broker-url.d.ts +3 -3
  69. package/types/ufg/utils/generate-safe-selectors.d.ts +8 -8
  70. package/types/ufg/utils/take-dom-snapshot.d.ts +3 -3
  71. package/types/ufg/utils/take-dom-snapshots.d.ts +3 -3
  72. package/types/ufg/utils/take-snapshots.d.ts +3 -3
  73. package/types/ufg/utils/take-vhses.d.ts +3 -3
  74. package/dist/get-eyes-results.js +0 -18
  75. package/dist/ufg/get-results.js +0 -27
  76. package/types/automation/extract-text.d.ts +0 -16
  77. package/types/automation/locate-text.d.ts +0 -15
  78. package/types/get-eyes-results.d.ts +0 -12
  79. package/types/get-manager-results.d.ts +0 -14
  80. package/types/ufg/get-results.d.ts +0 -11
package/types/types.d.ts CHANGED
@@ -3,111 +3,133 @@ import type { ECClient } from '@applitools/ec-client';
3
3
  import type * as AutomationCore from './automation/types';
4
4
  import type * as ClassicCore from './classic/types';
5
5
  import type * as UFGCore from './ufg/types';
6
- import { type SpecType } from '@applitools/driver';
7
6
  import { type Logger } from '@applitools/logger';
8
7
  import { type Renderer } from '@applitools/ufg-client';
9
8
  export { ECClient };
9
+ export * from '@applitools/core-base/types';
10
10
  export * from './automation/types';
11
- export type TypedCore<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Core<TSpec> : ClassicCore.Core<TSpec>;
12
- export type TypedEyes<TSpec extends SpecType, TType extends 'classic' | 'ufg', TTarget = Target<TSpec, TType>> = TType extends 'ufg' ? UFGCore.Eyes<TSpec, TTarget> : ClassicCore.Eyes<TSpec, TTarget>;
13
- export type Target<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Target<TSpec> : ClassicCore.Target<TSpec>;
14
- export interface Core<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'> extends AutomationCore.Core<TSpec> {
11
+ export type TypedCore<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Core<TDriver, TContext, TElement, TSelector> : ClassicCore.Core<TDriver, TContext, TElement, TSelector>;
12
+ export type TypedEyes<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg', TTarget = Target<TDriver, TContext, TElement, TSelector, TType>> = TType extends 'ufg' ? UFGCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> : ClassicCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget>;
13
+ export type Target<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.UFGTarget<TDriver, TContext, TElement, TSelector> : ClassicCore.ClassicTarget<TDriver, TContext, TElement, TSelector>;
14
+ export interface Core<TDriver, TContext, TElement, TSelector> extends AutomationCore.Core<TDriver, TContext, TElement, TSelector> {
15
15
  makeECClient(options?: {
16
16
  settings?: any;
17
17
  logger?: Logger;
18
18
  }): Promise<ECClient>;
19
- makeManager<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
19
+ makeManager<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
20
20
  type: TType;
21
21
  concurrency?: TType extends 'ufg' ? number : never;
22
22
  agentId?: string;
23
23
  logger?: Logger;
24
- }): Promise<EyesManager<TSpec, TType>>;
25
- openEyes<TType extends 'classic' | 'ufg' = TDefaultType>(options: {
24
+ }): Promise<EyesManager<TDriver, TContext, TElement, TSelector, TType>>;
25
+ openEyes<TType extends 'classic' | 'ufg' = 'classic'>(options: {
26
26
  type?: TType;
27
- target?: AutomationCore.DriverTarget<TSpec>;
27
+ target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector>;
28
28
  settings?: Partial<OpenSettings<TType>>;
29
- config?: Config<TSpec, TType>;
29
+ config?: Config<TElement, TSelector, TType>;
30
30
  logger?: Logger;
31
- }): Promise<Eyes<TSpec, TType>>;
31
+ }): Promise<Eyes<TDriver, TContext, TElement, TSelector, TType>>;
32
32
  locate<TLocator extends string>(options: {
33
- target?: AutomationCore.Target<TSpec>;
34
- settings?: Partial<AutomationCore.LocateSettings<TLocator, TSpec>>;
35
- config?: Config<TSpec, TDefaultType>;
33
+ target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector> | AutomationCore.ImageTarget;
34
+ settings?: Partial<LocateSettings<TLocator, TElement, TSelector>>;
35
+ config?: Config<TElement, TSelector, 'classic'>;
36
36
  logger?: Logger;
37
37
  }): Promise<AutomationCore.LocateResult<TLocator>>;
38
- locateText<TPattern extends string>(options: {
39
- target?: AutomationCore.Target<TSpec>;
40
- settings: Partial<AutomationCore.LocateTextSettings<TPattern, TSpec>>;
41
- config?: Config<TSpec, TDefaultType>;
42
- logger?: Logger;
43
- }): Promise<AutomationCore.LocateTextResult<TPattern>>;
44
- extractText(options: {
45
- target?: AutomationCore.Target<TSpec>;
46
- settings: MaybeArray<Partial<AutomationCore.ExtractTextSettings<TSpec>>>;
47
- config?: Config<TSpec, TDefaultType>;
48
- logger?: Logger;
49
- }): Promise<string[]>;
50
38
  }
51
- export interface EyesManager<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'> {
39
+ export interface EyesManager<TDriver, TContext, TElement, TSelector, TDefaultType extends 'classic' | 'ufg'> {
52
40
  openEyes<TType extends 'classic' | 'ufg' = TDefaultType>(options: {
53
41
  type?: TType;
54
- target?: AutomationCore.DriverTarget<TSpec>;
42
+ target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector>;
55
43
  settings?: Partial<OpenSettings<TType>>;
56
- config?: Config<TSpec, TType>;
44
+ config?: Config<TElement, TSelector, TType>;
57
45
  logger?: Logger;
58
- }): Promise<Eyes<TSpec, TType>>;
59
- getResults: (options?: {
60
- settings?: GetResultsSettings<TDefaultType>;
46
+ }): Promise<Eyes<TDriver, TContext, TElement, TSelector, TType>>;
47
+ closeManager: (options?: {
48
+ settings?: {
49
+ throwErr?: boolean;
50
+ };
61
51
  logger?: Logger;
62
52
  }) => Promise<TestResultSummary<'classic' | 'ufg'>>;
63
53
  }
64
- export interface Eyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg', TTarget = Target<TSpec, TDefaultType>> extends AutomationCore.Eyes<TSpec> {
65
- getTypedEyes<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
54
+ export interface ClassicEyes<TDriver, TContext, TElement, TSelector, TTarget = Target<TDriver, TContext, TElement, TSelector, 'classic'>> extends ClassicCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> {
55
+ getTypedEyes<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
66
56
  type?: TType;
67
- settings?: any;
68
57
  logger?: Logger;
69
- }): Promise<TypedEyes<TSpec, TType>>;
70
- check<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
58
+ }): Promise<TypedEyes<TDriver, TContext, TElement, TSelector, TType>>;
59
+ check<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
71
60
  type?: TType;
72
61
  target?: TTarget;
73
- settings?: Partial<CheckSettings<TSpec, TDefaultType> & CheckSettings<TSpec, TType>>;
74
- config?: Config<TSpec, TDefaultType> & Config<TSpec, TType>;
62
+ settings?: Partial<CheckSettings<TElement, TSelector, 'classic'> & CheckSettings<TElement, TSelector, TType>>;
63
+ config?: Config<TElement, TSelector, 'classic'> & Config<TElement, TSelector, TType>;
75
64
  logger?: Logger;
76
65
  }): Promise<CheckResult<TType>[]>;
77
- checkAndClose<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
66
+ checkAndClose<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
78
67
  type?: TType;
79
68
  target?: TTarget;
80
- settings?: Partial<CheckSettings<TSpec, TDefaultType> & CloseSettings<TDefaultType> & CheckSettings<TSpec, TType> & CloseSettings<TType>>;
81
- config?: Config<TSpec, TDefaultType> & Config<TSpec, TType>;
69
+ settings?: Partial<CheckSettings<TElement, TSelector, 'classic'> & CloseSettings<'classic'> & CheckSettings<TElement, TSelector, TType> & CloseSettings<TType>>;
70
+ config?: Config<TElement, TSelector, 'classic'> & Config<TElement, TSelector, TType>;
82
71
  logger?: Logger;
83
72
  }): Promise<TestResult<TType>[]>;
73
+ locateText<TPattern extends string>(options: {
74
+ target?: TTarget;
75
+ settings: Partial<LocateTextSettings<TPattern, TElement, TSelector, 'classic'>>;
76
+ config?: Config<TElement, TSelector, 'classic'>;
77
+ logger?: Logger;
78
+ }): Promise<AutomationCore.LocateTextResult<TPattern>>;
79
+ extractText(options: {
80
+ target?: TTarget;
81
+ settings: MaybeArray<Partial<ExtractTextSettings<TElement, TSelector, 'classic'>>>;
82
+ config?: Config<TElement, TSelector, 'classic'>;
83
+ logger?: Logger;
84
+ }): Promise<string[]>;
84
85
  close(options?: {
85
- settings?: Partial<CloseSettings<TDefaultType>>;
86
- config?: Config<TSpec, TDefaultType>;
86
+ settings?: Partial<CloseSettings<'classic'>>;
87
+ config?: Config<TElement, TSelector, 'classic'>;
87
88
  logger?: Logger;
88
- }): Promise<void>;
89
- abort(options?: {
90
- settings?: Partial<AbortSettings<TDefaultType>>;
91
- config?: Config<TSpec, TDefaultType>;
89
+ }): Promise<TestResult<'classic'>[]>;
90
+ }
91
+ export interface UFGEyes<TDriver, TContext, TElement, TSelector, TTarget = Target<TDriver, TContext, TElement, TSelector, 'ufg'>> extends UFGCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> {
92
+ getTypedEyes<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
93
+ type?: TType;
94
+ settings?: {
95
+ type: 'web' | 'native';
96
+ renderers: Renderer[];
97
+ };
98
+ logger?: Logger;
99
+ }): Promise<TypedEyes<TDriver, TContext, TElement, TSelector, TType>>;
100
+ check<TType extends 'classic' | 'ufg' = 'ufg'>(options?: {
101
+ type?: TType;
102
+ target?: TTarget;
103
+ settings?: Partial<CheckSettings<TElement, TSelector, 'ufg'> & CheckSettings<TElement, TSelector, TType>>;
104
+ config?: Config<TElement, TSelector, 'ufg'> & Config<TElement, TSelector, TType>;
92
105
  logger?: Logger;
93
- }): Promise<void>;
94
- getResults(options?: {
95
- settings?: Partial<GetResultsSettings<TDefaultType>>;
96
- config?: Config<TSpec, TDefaultType>;
106
+ }): Promise<CheckResult<TType>[]>;
107
+ checkAndClose<TType extends 'classic' | 'ufg' = 'ufg'>(options?: {
108
+ type?: TType;
109
+ target?: TTarget;
110
+ settings?: Partial<CheckSettings<TElement, TSelector, 'ufg'> & CloseSettings<'ufg'> & CheckSettings<TElement, TSelector, TType> & CloseSettings<TType>>;
111
+ config?: Config<TElement, TSelector, 'ufg'> & Config<TElement, TSelector, TType>;
112
+ logger?: Logger;
113
+ }): Promise<TestResult<TType>[]>;
114
+ close(options?: {
115
+ settings?: Partial<CloseSettings<'ufg'>>;
116
+ config?: Config<TElement, TSelector, 'ufg'>;
97
117
  logger?: Logger;
98
- }): Promise<TestResult<TDefaultType>[]>;
118
+ }): Promise<TestResult<'ufg'>[]>;
99
119
  }
100
- export type Config<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
101
- open: Partial<Omit<OpenSettings<TType>, 'userCommandId'>>;
102
- screenshot: Partial<Omit<ClassicCore.ScreenshotSettings<TSpec>, 'userCommandId'>>;
103
- check: Partial<Omit<CheckSettings<TSpec, TType>, keyof ClassicCore.ScreenshotSettings<TSpec> | 'userCommandId'>>;
104
- close: Partial<Omit<CloseSettings<TType>, 'userCommandId'>>;
120
+ export type Eyes<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg', TTarget = Target<TDriver, TContext, TElement, TSelector, TType>> = TType extends 'ufg' ? UFGEyes<TDriver, TContext, TElement, TSelector, TTarget> : ClassicEyes<TDriver, TContext, TElement, TSelector, TTarget>;
121
+ export type Config<TElement, TSelector, TType extends 'classic' | 'ufg'> = {
122
+ open: Partial<OpenSettings<TType>>;
123
+ screenshot: Partial<ClassicCore.ScreenshotSettings<TElement, TSelector>>;
124
+ check: Partial<Omit<CheckSettings<TElement, TSelector, TType>, keyof ClassicCore.ScreenshotSettings<TElement, TSelector>>>;
125
+ close: Partial<CloseSettings<TType>>;
105
126
  };
127
+ export type LocateSettings<TLocator extends string, TElement, TSelector> = AutomationCore.LocateSettings<TLocator, TElement, TSelector>;
106
128
  export type OpenSettings<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.OpenSettings : ClassicCore.OpenSettings;
107
- export type CheckSettings<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckSettings<TSpec> : ClassicCore.CheckSettings<TSpec>;
108
- export type CloseSettings<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CloseSettings : ClassicCore.CloseSettings;
109
- export type AbortSettings<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.AbortSettings : ClassicCore.AbortSettings;
110
- export type GetResultsSettings<TType extends 'classic' | 'ufg'> = (TType extends 'ufg' ? UFGCore.GetResultsSettings : ClassicCore.GetResultsSettings) & {
129
+ export type CheckSettings<TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckSettings<TElement, TSelector> : ClassicCore.CheckSettings<TElement, TSelector>;
130
+ export type LocateTextSettings<TPattern extends string, TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.LocateTextSettings<TPattern, TElement, TSelector> : ClassicCore.LocateTextSettings<TPattern, TElement, TSelector>;
131
+ export type ExtractTextSettings<TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.ExtractTextSettings<TElement, TSelector> : ClassicCore.ExtractTextSettings<TElement, TSelector>;
132
+ export type CloseSettings<TType extends 'classic' | 'ufg'> = (TType extends 'ufg' ? UFGCore.CloseSettings : ClassicCore.CloseSettings) & {
111
133
  throwErr?: boolean;
112
134
  };
113
135
  export type CheckResult<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckResult : ClassicCore.CheckResult;
@@ -1,16 +1,24 @@
1
- import type { DriverTarget, AbortSettings, CheckResult } from './types';
1
+ import type { DriverTarget, AbortSettings, TestResult } from './types';
2
+ import type { Eyes as BaseEyes } from '@applitools/core-base';
2
3
  import { type Logger } from '@applitools/logger';
4
+ import { type Renderer } from '@applitools/ufg-client';
3
5
  import { type AbortController } from 'abort-controller';
4
- import { type SpecType, type SpecDriver } from '@applitools/driver';
5
- type Options<TSpec extends SpecType> = {
6
- storage: Map<string, CheckResult['promise'][]>;
6
+ import { type SpecDriver } from '@applitools/driver';
7
+ type Options<TDriver, TContext, TElement, TSelector> = {
8
+ storage: {
9
+ renderer: Renderer;
10
+ promise: Promise<{
11
+ eyes: BaseEyes;
12
+ renderer: Renderer;
13
+ }>;
14
+ }[];
7
15
  controller: AbortController;
8
- target?: DriverTarget<TSpec>;
9
- spec?: SpecDriver<TSpec>;
16
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
17
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
10
18
  logger: Logger;
11
19
  };
12
- export declare function makeAbort<TSpec extends SpecType>({ storage, target, spec, controller, logger: defaultLogger, }: Options<TSpec>): ({ settings, logger, }?: {
20
+ export declare function makeAbort<TDriver, TContext, TElement, TSelector>({ storage, target, spec, controller, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ settings, logger, }?: {
13
21
  settings?: AbortSettings | undefined;
14
22
  logger?: Logger | undefined;
15
- }) => Promise<void>;
23
+ }) => Promise<TestResult[]>;
16
24
  export {};
@@ -1,20 +1,20 @@
1
1
  import type { Region } from '@applitools/utils';
2
- import type { DriverTarget, Target, Eyes, CheckSettings, TestResult, CloseSettings } from './types';
2
+ import type { DriverTarget, UFGTarget, Eyes, CheckSettings, TestResult, CloseSettings } from './types';
3
3
  import { type AbortSignal } from 'abort-controller';
4
4
  import { type Logger } from '@applitools/logger';
5
5
  import { type UFGClient } from '@applitools/ufg-client';
6
- import { type SpecType, type SpecDriver } from '@applitools/driver';
7
- type Options<TSpec extends SpecType> = {
8
- eyes: Eyes<TSpec>;
6
+ import { type SpecDriver, type Selector } from '@applitools/driver';
7
+ type Options<TDriver, TContext, TElement, TSelector> = {
8
+ eyes: Eyes<TDriver, TContext, TElement, TSelector>;
9
9
  client: UFGClient;
10
- target?: DriverTarget<TSpec>;
11
- spec?: SpecDriver<TSpec>;
10
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
11
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
12
12
  signal?: AbortSignal;
13
13
  logger: Logger;
14
14
  };
15
- export declare function makeCheckAndClose<TSpec extends SpecType>({ spec, eyes, client, signal, target: defaultTarget, logger: defaultLogger, }: Options<TSpec>): ({ target, settings, logger, }: {
16
- target?: Target<TSpec> | undefined;
17
- settings?: (import("@applitools/core-base").CheckSettings<Region | import("@applitools/driver").ElementReference<TSpec>> & import("./types").ScreenshotSettings<TSpec> & {
15
+ export declare function makeCheckAndClose<TDriver, TContext, TElement, TSelector>({ spec, eyes, client, signal, target: defaultTarget, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }: {
16
+ target?: UFGTarget<TDriver, TContext, TElement, TSelector> | undefined;
17
+ settings?: (import("@applitools/core-base").CheckSettings<Region | (TElement | Selector<TSelector>)> & import("./types").ScreenshotSettings<TElement, TSelector> & {
18
18
  renderers?: import("@applitools/ufg-client").Renderer[] | undefined;
19
19
  hooks?: {
20
20
  beforeCaptureScreenshot: string;
@@ -1,19 +1,19 @@
1
- import type { DriverTarget, Target, Eyes, CheckSettings, CheckResult } from './types';
1
+ import type { DriverTarget, UFGTarget, Eyes, CheckSettings, CheckResult } from './types';
2
2
  import { type AbortSignal } from 'abort-controller';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type UFGClient } from '@applitools/ufg-client';
5
- import { type SpecType, type SpecDriver } from '@applitools/driver';
6
- type Options<TSpec extends SpecType> = {
7
- eyes: Eyes<TSpec>;
5
+ import { type SpecDriver } from '@applitools/driver';
6
+ type Options<TDriver, TContext, TElement, TSelector> = {
7
+ eyes: Eyes<TDriver, TContext, TElement, TSelector>;
8
8
  client: UFGClient;
9
- target?: DriverTarget<TSpec>;
10
- spec?: SpecDriver<TSpec>;
9
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
10
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
11
11
  signal?: AbortSignal;
12
12
  logger: Logger;
13
13
  };
14
- export declare function makeCheck<TSpec extends SpecType>({ eyes, client, target: defaultTarget, spec, signal, logger: defaultLogger, }: Options<TSpec>): ({ target, settings, logger, }: {
15
- settings?: CheckSettings<TSpec> | undefined;
16
- target?: Target<TSpec> | undefined;
14
+ export declare function makeCheck<TDriver, TContext, TElement, TSelector>({ eyes, client, target: defaultTarget, spec, signal, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }: {
15
+ settings?: CheckSettings<TElement, TSelector> | undefined;
16
+ target?: UFGTarget<TDriver, TContext, TElement, TSelector> | undefined;
17
17
  logger?: Logger | undefined;
18
18
  }) => Promise<CheckResult[]>;
19
19
  export {};
@@ -1,14 +1,23 @@
1
- import type { DriverTarget, CloseSettings, CheckResult } from './types';
1
+ import type { CloseSettings, TestResult } from './types';
2
+ import type { Eyes as BaseEyes } from '@applitools/core-base';
2
3
  import { type Logger } from '@applitools/logger';
3
- import { type SpecType, type SpecDriver } from '@applitools/driver';
4
- type Options<TSpec extends SpecType> = {
5
- storage: Map<string, CheckResult['promise'][]>;
6
- target?: DriverTarget<TSpec>;
7
- spec?: SpecDriver<TSpec>;
4
+ import { type Renderer } from '@applitools/ufg-client';
5
+ import type { DriverTarget } from './types';
6
+ import { type SpecDriver } from '@applitools/driver';
7
+ type Options<TDriver, TContext, TElement, TSelector> = {
8
+ storage: {
9
+ renderer: Renderer;
10
+ promise: Promise<{
11
+ eyes: BaseEyes;
12
+ renderer: Renderer;
13
+ }>;
14
+ }[];
15
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
16
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
8
17
  logger: Logger;
9
18
  };
10
- export declare function makeClose<TSpec extends SpecType>({ storage, target, spec, logger: defaultLogger }: Options<TSpec>): ({ settings, logger, }?: {
19
+ export declare function makeClose<TDriver, TContext, TElement, TSelector>({ storage, target, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ settings, logger, }?: {
11
20
  settings?: CloseSettings | undefined;
12
21
  logger?: Logger | undefined;
13
- }) => Promise<void>;
22
+ }) => Promise<TestResult[]>;
14
23
  export {};
@@ -1,16 +1,16 @@
1
1
  import type { Core } from './types';
2
2
  import type { Core as BaseCore } from '@applitools/core-base';
3
3
  import { type UFGClient } from '@applitools/ufg-client';
4
- import { type SpecType, type SpecDriver } from '@applitools/driver';
4
+ import { type SpecDriver } from '@applitools/driver';
5
5
  import { type Logger } from '@applitools/logger';
6
- type Options<TSpec extends SpecType> = {
6
+ type Options<TDriver, TContext, TElement, TSelector> = {
7
7
  concurrency: number;
8
- spec?: SpecDriver<TSpec>;
8
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
9
9
  client?: UFGClient;
10
10
  core?: BaseCore;
11
11
  agentId?: string;
12
12
  cwd?: string;
13
13
  logger?: Logger;
14
14
  };
15
- export declare function makeCore<TSpec extends SpecType>({ concurrency, spec, client, core, agentId, cwd, logger, }: Options<TSpec>): Core<TSpec>;
15
+ export declare function makeCore<TDriver, TContext, TElement, TSelector>({ concurrency, spec, client, core, agentId, cwd, logger, }: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TContext, TElement, TSelector>;
16
16
  export {};
@@ -1,18 +1,18 @@
1
1
  import type { DriverTarget, Eyes, OpenSettings } from './types';
2
2
  import type { Core as BaseCore, Eyes as BaseEyes } from '@applitools/core-base';
3
3
  import { type Logger } from '@applitools/logger';
4
- import { type SpecType, type SpecDriver } from '@applitools/driver';
4
+ import { type SpecDriver } from '@applitools/driver';
5
5
  import { type UFGClient } from '@applitools/ufg-client';
6
- type Options<TSpec extends SpecType> = {
6
+ type Options<TDriver, TContext, TElement, TSelector> = {
7
7
  core: BaseCore;
8
8
  client?: UFGClient;
9
- spec?: SpecDriver<TSpec>;
9
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
10
10
  logger: Logger;
11
11
  };
12
- export declare function makeOpenEyes<TSpec extends SpecType>({ core, client, spec, logger: defaultLogger }: Options<TSpec>): ({ target, settings, eyes, logger, }: {
13
- target?: DriverTarget<TSpec> | undefined;
12
+ export declare function makeOpenEyes<TDriver, TContext, TElement, TSelector>({ core, client, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, eyes, logger, }: {
13
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector> | undefined;
14
14
  settings: OpenSettings;
15
15
  eyes?: BaseEyes<import("@applitools/core-base").ImageTarget>[] | undefined;
16
16
  logger?: Logger | undefined;
17
- }) => Promise<Eyes<TSpec>>;
17
+ }) => Promise<Eyes<TDriver, TContext, TElement, TSelector>>;
18
18
  export {};
@@ -1,23 +1,22 @@
1
1
  import type { MaybeArray } from '@applitools/utils';
2
2
  import type * as BaseCore from '@applitools/core-base/types';
3
3
  import type * as AutomationCore from '../automation/types';
4
- import { type SpecType } from '@applitools/driver';
5
4
  import { type Logger } from '@applitools/logger';
6
5
  import { type Proxy } from '@applitools/req';
7
6
  import { type Renderer, 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
- export type Target<TSpec extends SpecType> = SnapshotTarget | AutomationCore.Target<TSpec>;
11
- export interface Core<TSpec extends SpecType, TTarget = AutomationCore.Target<TSpec>, TEyes extends Eyes<TSpec, TTarget | SnapshotTarget> = Eyes<TSpec, TTarget | SnapshotTarget>> extends AutomationCore.Core<TSpec, TTarget, TEyes> {
9
+ export type UFGTarget<TDriver, TContext, TElement, TSelector> = AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector> | SnapshotTarget;
10
+ export interface Core<TDriver, TContext, TElement, TSelector, TEyes = Eyes<TDriver, TContext, TElement, TSelector>> extends AutomationCore.Core<TDriver, TContext, TElement, TSelector, TEyes> {
12
11
  readonly type: 'ufg';
13
12
  openEyes(options: {
14
- target?: AutomationCore.DriverTarget<TSpec>;
13
+ target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector>;
15
14
  settings: OpenSettings;
16
15
  eyes?: BaseCore.Eyes[];
17
16
  logger?: Logger;
18
17
  }): Promise<TEyes>;
19
18
  }
20
- export interface Eyes<TSpec extends SpecType, TTarget = Target<TSpec>> extends AutomationCore.Eyes<TSpec, TTarget> {
19
+ export interface Eyes<TDriver, TContext, TElement, TSelector, TTarget = UFGTarget<TDriver, TContext, TElement, TSelector>> extends AutomationCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> {
21
20
  readonly type: 'ufg';
22
21
  getBaseEyes(options?: {
23
22
  settings?: {
@@ -28,23 +27,28 @@ export interface Eyes<TSpec extends SpecType, TTarget = Target<TSpec>> extends A
28
27
  }): Promise<BaseCore.Eyes[]>;
29
28
  check(options?: {
30
29
  target?: TTarget;
31
- settings?: CheckSettings<TSpec>;
30
+ settings?: CheckSettings<TElement, TSelector>;
32
31
  logger?: Logger;
33
32
  }): Promise<CheckResult[]>;
34
33
  checkAndClose(options?: {
35
34
  target?: TTarget;
36
- settings?: CheckSettings<TSpec> & AutomationCore.CloseSettings;
35
+ settings?: CheckSettings<TElement, TSelector> & AutomationCore.CloseSettings;
37
36
  logger?: Logger;
38
37
  }): Promise<TestResult[]>;
39
- getResults(options?: {
40
- settings?: AutomationCore.GetResultsSettings;
38
+ locateText: never;
39
+ extractText: never;
40
+ close(options?: {
41
+ settings?: AutomationCore.CloseSettings;
42
+ logger?: Logger;
43
+ }): Promise<TestResult[]>;
44
+ abort(options?: {
41
45
  logger?: Logger;
42
46
  }): Promise<TestResult[]>;
43
47
  }
44
48
  export type OpenSettings = AutomationCore.OpenSettings & {
45
49
  renderConcurrency?: number;
46
50
  };
47
- export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings<TSpec> & {
51
+ export type CheckSettings<TElement, TSelector> = AutomationCore.CheckSettings<TElement, TSelector> & {
48
52
  renderers?: Renderer[];
49
53
  hooks?: {
50
54
  beforeCaptureScreenshot: string;
@@ -59,11 +63,11 @@ export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings
59
63
  };
60
64
  };
61
65
  export type CheckResult = AutomationCore.CheckResult & {
62
- readonly renderer: Renderer;
63
- readonly promise: Promise<Omit<CheckResult, 'promise'> & {
66
+ readonly renderer?: Renderer;
67
+ readonly promise?: Promise<Omit<CheckResult, 'promise'> & {
64
68
  eyes: BaseCore.Eyes;
65
69
  }>;
66
70
  };
67
71
  export type TestResult = AutomationCore.TestResult & {
68
- readonly renderer: Renderer;
72
+ readonly renderer?: Renderer;
69
73
  };
@@ -1,6 +1,6 @@
1
- import { type SpecType, type Driver } from '@applitools/driver';
1
+ import { type Driver } from '@applitools/driver';
2
2
  import { type Logger } from '@applitools/logger';
3
- export declare function extractBrokerUrl<TSpec extends SpecType>({ driver, logger, }: {
4
- driver: Driver<TSpec>;
3
+ export declare function extractBrokerUrl({ driver, logger, }: {
4
+ driver: Driver<unknown, unknown, unknown, unknown>;
5
5
  logger: Logger;
6
6
  }): Promise<string | null>;
@@ -1,16 +1,16 @@
1
- import { type SpecType, type Context, type ElementReference, type CommonSelector } from '@applitools/driver';
2
- export declare function generateSafeSelectors<TSpec extends SpecType>({ context, elementReferences, }: {
3
- context: Context<TSpec>;
4
- elementReferences: ElementReference<TSpec>[];
1
+ import { type Context, type Selector } from '@applitools/driver';
2
+ export declare function generateSafeSelectors<TElement, TSelector>({ context, elementReferences, }: {
3
+ context: Context<unknown, unknown, TElement, TSelector>;
4
+ elementReferences: (TElement | Selector<TSelector>)[];
5
5
  }): Promise<{
6
6
  selectors: ({
7
7
  safeSelector: null;
8
8
  originalSelector: null;
9
- elementReference: ElementReference<TSpec>;
9
+ elementReference: TElement | Selector<TSelector>;
10
10
  } | {
11
- safeSelector: CommonSelector<never>;
12
- originalSelector: import("@applitools/driver").Selector<never> | null;
13
- elementReference: ElementReference<TSpec>;
11
+ safeSelector: Selector<never>;
12
+ originalSelector: Selector<never> | null;
13
+ elementReference: TElement | Selector<TSelector>;
14
14
  })[];
15
15
  cleanupGeneratedSelectors: () => Promise<void>;
16
16
  }>;
@@ -1,5 +1,5 @@
1
1
  import { type Logger } from '@applitools/logger';
2
- import { type SpecType, type Context } from '@applitools/driver';
2
+ import { type Context } from '@applitools/driver';
3
3
  import { type DomSnapshot } from '@applitools/ufg-client';
4
4
  type RawDomSnapshot = {
5
5
  url: string;
@@ -29,8 +29,8 @@ export type DomSnapshotSettings = {
29
29
  pollTimeout?: number;
30
30
  showLogs?: boolean;
31
31
  };
32
- export declare function takeDomSnapshot<TSpec extends SpecType>({ context, settings, logger, }: {
33
- context: Context<TSpec>;
32
+ export declare function takeDomSnapshot<TContext extends Context<unknown, unknown, unknown, unknown>>({ context, settings, logger, }: {
33
+ context: TContext;
34
34
  settings?: DomSnapshotSettings;
35
35
  logger: Logger;
36
36
  }): Promise<DomSnapshot>;
@@ -1,6 +1,6 @@
1
1
  import type { Size } from '@applitools/utils';
2
2
  import { type Logger } from '@applitools/logger';
3
- import { type SpecType, type Driver } from '@applitools/driver';
3
+ import { type Driver } from '@applitools/driver';
4
4
  import { type DomSnapshot, type Renderer, type ChromeEmulationDevice, type IOSDevice, type ScreenOrientation } from '@applitools/ufg-client';
5
5
  import { type DomSnapshotSettings } from './take-dom-snapshot';
6
6
  export * from './take-dom-snapshot';
@@ -9,8 +9,8 @@ export type DomSnapshotsSettings = DomSnapshotSettings & {
9
9
  waitBeforeCapture?: number | (() => void);
10
10
  layoutBreakpoints?: number[] | boolean;
11
11
  };
12
- export declare function takeDomSnapshots<TSpec extends SpecType>({ driver, settings, hooks, provides, logger, }: {
13
- driver: Driver<TSpec>;
12
+ export declare function takeDomSnapshots<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, hooks, provides, logger, }: {
13
+ driver: TDriver;
14
14
  settings: DomSnapshotsSettings;
15
15
  hooks?: {
16
16
  beforeSnapshots?(): void | Promise<void>;
@@ -1,13 +1,13 @@
1
1
  import type { Size } from '@applitools/utils';
2
2
  import { type Logger } from '@applitools/logger';
3
- import { type SpecType, type Driver } from '@applitools/driver';
3
+ import { type Driver } from '@applitools/driver';
4
4
  import { type DomSnapshot, type AndroidSnapshot, type IOSSnapshot, type ChromeEmulationDevice, type IOSDevice, type ScreenOrientation } from '@applitools/ufg-client';
5
5
  import { type DomSnapshotsSettings } from './take-dom-snapshots';
6
6
  import { type VHSesSettings } from './take-vhses';
7
7
  export * from './take-dom-snapshots';
8
8
  export * from './take-vhses';
9
- export declare function takeSnapshots<TSpec extends SpecType>({ driver, settings, hooks, provides, logger, }: {
10
- driver: Driver<TSpec>;
9
+ export declare function takeSnapshots<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, hooks, provides, logger, }: {
10
+ driver: TDriver;
11
11
  settings: DomSnapshotsSettings & VHSesSettings;
12
12
  hooks: {
13
13
  beforeSnapshots?(): void | Promise<void>;
@@ -1,13 +1,13 @@
1
1
  import type { ServerSettings } from '../types';
2
2
  import { type Logger } from '@applitools/logger';
3
- import { type SpecType, type Driver } from '@applitools/driver';
3
+ import { type Driver } from '@applitools/driver';
4
4
  import { type Renderer, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
5
5
  export type VHSesSettings = ServerSettings & {
6
6
  renderers: Renderer[];
7
7
  waitBeforeCapture?: number;
8
8
  };
9
- export declare function takeVHSes<TSpec extends SpecType>({ driver, settings, hooks, logger, }: {
10
- driver: Driver<TSpec>;
9
+ export declare function takeVHSes<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, hooks, logger, }: {
10
+ driver: TDriver;
11
11
  settings: VHSesSettings;
12
12
  hooks?: {
13
13
  beforeSnapshots?(): void | Promise<void>;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeGetEyesResults = void 0;
4
- const test_error_1 = require("./errors/test-error");
5
- function makeGetEyesResults({ eyes, logger: defaultLogger, }) {
6
- return async function getEyesResults({ settings, logger = defaultLogger, } = {}) {
7
- const typedEyes = await eyes.getTypedEyes({ logger });
8
- const results = await typedEyes.getResults({ settings, logger });
9
- if (settings === null || settings === void 0 ? void 0 : settings.throwErr) {
10
- results.forEach(result => {
11
- if (result.status !== 'Passed')
12
- throw new test_error_1.TestError(result);
13
- });
14
- }
15
- return results;
16
- };
17
- }
18
- exports.makeGetEyesResults = makeGetEyesResults;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeGetResults = void 0;
4
- const abort_error_1 = require("../errors/abort-error");
5
- function makeGetResults({ storage, logger: defaultLogger }) {
6
- return async function getResults({ settings, logger = defaultLogger, } = {}) {
7
- logger.log('Command "getResults" is called with settings', settings);
8
- return Promise.all(Array.from(storage.values(), async (promises) => {
9
- var _a;
10
- try {
11
- const [{ eyes, renderer }] = await Promise.all(promises);
12
- const [result] = await eyes.getResults({ settings, logger });
13
- return { ...result, renderer };
14
- }
15
- catch (error) {
16
- if (error instanceof abort_error_1.AbortError && ((_a = error.info) === null || _a === void 0 ? void 0 : _a.eyes)) {
17
- logger.warn('Command "getResults" received an abort error during performing', settings);
18
- const [result] = await error.info.eyes.getResults({ settings, logger });
19
- return { ...result, renderer: error.info.renderer };
20
- }
21
- logger.fatal('Command "getResults" received an error during performing', settings);
22
- throw error;
23
- }
24
- }));
25
- };
26
- }
27
- exports.makeGetResults = makeGetResults;