@applitools/core 2.5.2 → 2.5.3-legacy

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 (190) hide show
  1. package/dist/abort.js +40 -0
  2. package/dist/automation/abort.js +47 -0
  3. package/dist/automation/close.js +52 -0
  4. package/dist/automation/extract-text.js +3 -2
  5. package/dist/automation/get-nml-client.js +36 -0
  6. package/dist/automation/get-results.js +21 -0
  7. package/dist/automation/get-viewport-size.js +3 -2
  8. package/dist/automation/locate-text.js +3 -2
  9. package/dist/automation/locate.js +3 -2
  10. package/dist/automation/set-viewport-size.js +3 -2
  11. package/dist/automation/types.js +0 -15
  12. package/dist/automation/utils/report-kobiton.js +21 -0
  13. package/dist/automation/utils/take-screenshot.js +4 -2
  14. package/dist/automation/utils/to-base-check-settings.js +69 -7
  15. package/dist/automation/utils/to-environment-key.js +31 -0
  16. package/dist/automation/utils/uniquify-environments.js +27 -0
  17. package/dist/automation/utils/wait-for-lazy-load.js +9 -8
  18. package/dist/autonomous/core.js +25 -0
  19. package/dist/autonomous/create-render-results.js +49 -0
  20. package/dist/autonomous/create-render-target.js +19 -0
  21. package/dist/autonomous/get-render-results.js +55 -0
  22. package/dist/autonomous/open-eyes.js +13 -0
  23. package/dist/autonomous/start-renders.js +67 -0
  24. package/dist/autonomous/take-snapshots.js +16 -0
  25. package/dist/autonomous/types.js +17 -0
  26. package/dist/check-and-close.js +32 -15
  27. package/dist/check.js +33 -30
  28. package/dist/classic/check-and-close.js +189 -46
  29. package/dist/classic/check.js +319 -60
  30. package/dist/classic/core.js +6 -5
  31. package/dist/classic/get-base-eyes.js +27 -7
  32. package/dist/classic/open-eyes.js +47 -57
  33. package/dist/classic/utils/extract-default-environments.js +73 -0
  34. package/dist/classic/utils/take-dom-capture.js +2 -1
  35. package/dist/classic/utils/take-screenshots.js +63 -0
  36. package/dist/cli/cli.js +99 -3
  37. package/dist/close-batch.js +8 -7
  38. package/dist/close.js +32 -4
  39. package/dist/core.js +43 -9
  40. package/dist/delete-test.js +9 -7
  41. package/dist/extract-text.js +9 -5
  42. package/dist/get-account-info.js +36 -0
  43. package/dist/get-ec-client.js +3 -2
  44. package/dist/get-eyes-results.js +29 -3
  45. package/dist/get-manager-results.js +52 -18
  46. package/dist/get-typed-eyes.js +5 -6
  47. package/dist/index.js +3 -3
  48. package/dist/lang.js +31 -0
  49. package/dist/locate-text.js +7 -5
  50. package/dist/locate.js +7 -5
  51. package/dist/make-manager.js +34 -11
  52. package/dist/offline/merge-configs.js +42 -0
  53. package/dist/offline/run-offline-snapshots.js +341 -0
  54. package/dist/open-eyes.js +192 -48
  55. package/dist/run-offline-snapshots.js +336 -0
  56. package/dist/troubleshoot/check-network.js +5 -1
  57. package/dist/troubleshoot/eyes.js +3 -3
  58. package/dist/troubleshoot/logs.js +76 -0
  59. package/dist/troubleshoot/ufg.js +23 -16
  60. package/dist/ufg/check-and-close.js +109 -174
  61. package/dist/ufg/check.js +111 -178
  62. package/dist/ufg/core.js +10 -8
  63. package/dist/ufg/create-render-target-from-snapshot.js +21 -0
  64. package/dist/ufg/get-base-eyes.js +40 -12
  65. package/dist/ufg/get-ufg-client.js +13 -4
  66. package/dist/ufg/open-eyes.js +33 -57
  67. package/dist/ufg/take-snapshots.js +92 -0
  68. package/dist/ufg/utils/extract-default-environment.js +22 -0
  69. package/dist/ufg/utils/generate-safe-selectors.js +9 -32
  70. package/dist/ufg/utils/take-dom-snapshot.js +61 -26
  71. package/dist/ufg/utils/take-dom-snapshots.js +99 -68
  72. package/dist/ufg/utils/to-generated-selectors.js +67 -0
  73. package/dist/ufg/utils/to-safe-check-settings.js +69 -0
  74. package/dist/universal/core-server.js +53 -22
  75. package/dist/universal/core.js +23 -6
  76. package/dist/universal/history.js +9 -0
  77. package/dist/universal/spec-driver.js +46 -50
  78. package/dist/{ufg/get-nml-client.js → utils/ensure-offline-folder.js} +14 -13
  79. package/dist/utils/extract-branching-timestamp.js +56 -0
  80. package/dist/utils/extract-current-commit.js +72 -0
  81. package/dist/utils/extract-git-info.js +168 -0
  82. package/dist/utils/extract-start-info.js +100 -0
  83. package/dist/utils/extract-test-environment.js +70 -0
  84. package/dist/utils/memory-usage-logging.js +46 -0
  85. package/dist/utils/populate-eyes-server-settings.js +41 -0
  86. package/dist/utils/validate-sdk-version.js +89 -0
  87. package/package.json +3 -3
  88. package/types/abort.d.ts +13 -0
  89. package/types/automation/abort.d.ts +16 -0
  90. package/types/automation/close.d.ts +14 -0
  91. package/types/automation/extract-text.d.ts +1 -1
  92. package/types/automation/get-nml-client.d.ts +16 -0
  93. package/types/automation/get-results.d.ts +11 -0
  94. package/types/automation/get-viewport-size.d.ts +1 -1
  95. package/types/automation/locate-text.d.ts +1 -1
  96. package/types/automation/locate.d.ts +1 -1
  97. package/types/automation/set-viewport-size.d.ts +1 -1
  98. package/types/automation/types.d.ts +107 -16
  99. package/types/automation/utils/report-kobiton.d.ts +12 -0
  100. package/types/automation/utils/take-screenshot.d.ts +5 -2
  101. package/types/automation/utils/to-base-check-settings.d.ts +13 -3
  102. package/types/automation/utils/to-environment-key.d.ts +2 -0
  103. package/types/automation/utils/uniquify-environments.d.ts +2 -0
  104. package/types/automation/utils/wait-for-lazy-load.d.ts +4 -8
  105. package/types/autonomous/core.d.ts +19 -0
  106. package/types/autonomous/create-render-results.d.ts +10 -0
  107. package/types/autonomous/create-render-target.d.ts +12 -0
  108. package/types/autonomous/get-render-results.d.ts +12 -0
  109. package/types/autonomous/open-eyes.d.ts +13 -0
  110. package/types/autonomous/start-renders.d.ts +12 -0
  111. package/types/autonomous/take-snapshots.d.ts +15 -0
  112. package/types/autonomous/types.d.ts +57 -0
  113. package/types/check-and-close.d.ts +3 -3
  114. package/types/check.d.ts +3 -3
  115. package/types/classic/check-and-close.d.ts +12 -5
  116. package/types/classic/check.d.ts +6 -3
  117. package/types/classic/core.d.ts +8 -2
  118. package/types/classic/get-base-eyes.d.ts +4 -8
  119. package/types/classic/open-eyes.d.ts +3 -4
  120. package/types/classic/types.d.ts +4 -5
  121. package/types/classic/utils/extract-default-environments.d.ts +9 -0
  122. package/types/classic/utils/take-dom-capture.d.ts +8 -0
  123. package/types/classic/utils/take-screenshots.d.ts +18 -0
  124. package/types/close-batch.d.ts +1 -1
  125. package/types/close.d.ts +3 -2
  126. package/types/core.d.ts +11 -2
  127. package/types/delete-test.d.ts +1 -1
  128. package/types/extract-text.d.ts +1 -1
  129. package/types/get-account-info.d.ts +11 -0
  130. package/types/get-ec-client.d.ts +1 -1
  131. package/types/get-eyes-results.d.ts +1 -1
  132. package/types/get-manager-results.d.ts +1 -1
  133. package/types/get-typed-eyes.d.ts +2 -4
  134. package/types/index.d.ts +2 -1
  135. package/types/lang.d.ts +32 -0
  136. package/types/locate-text.d.ts +1 -1
  137. package/types/locate.d.ts +1 -1
  138. package/types/make-manager.d.ts +11 -2
  139. package/types/offline/merge-configs.d.ts +1 -0
  140. package/types/offline/run-offline-snapshots.d.ts +11 -0
  141. package/types/open-eyes.d.ts +11 -2
  142. package/types/run-offline-snapshots.d.ts +6 -0
  143. package/types/troubleshoot/logs.d.ts +25 -0
  144. package/types/types.d.ts +19 -11
  145. package/types/ufg/check-and-close.d.ts +18 -10
  146. package/types/ufg/check.d.ts +5 -4
  147. package/types/ufg/core.d.ts +8 -5
  148. package/types/ufg/create-render-target-from-snapshot.d.ts +8 -0
  149. package/types/ufg/get-base-eyes.d.ts +4 -9
  150. package/types/ufg/get-ufg-client.d.ts +6 -3
  151. package/types/ufg/open-eyes.d.ts +3 -4
  152. package/types/ufg/take-snapshots.d.ts +17 -0
  153. package/types/ufg/types.d.ts +39 -39
  154. package/types/ufg/utils/extract-default-environment.d.ts +5 -0
  155. package/types/ufg/utils/generate-safe-selectors.d.ts +3 -12
  156. package/types/ufg/utils/take-dom-snapshot.d.ts +16 -21
  157. package/types/ufg/utils/take-dom-snapshots.d.ts +14 -10
  158. package/types/ufg/utils/to-generated-selectors.d.ts +34 -0
  159. package/types/ufg/utils/to-safe-check-settings.d.ts +22 -0
  160. package/types/universal/core-server.d.ts +6 -2
  161. package/types/universal/core.d.ts +6 -2
  162. package/types/universal/spec-driver.d.ts +6 -5
  163. package/types/universal/types.d.ts +59 -51
  164. package/types/utils/ensure-offline-folder.d.ts +1 -0
  165. package/types/utils/extract-branching-timestamp.d.ts +16 -0
  166. package/types/utils/extract-current-commit.d.ts +24 -0
  167. package/types/utils/extract-git-info.d.ts +59 -0
  168. package/types/utils/extract-start-info.d.ts +29 -0
  169. package/types/utils/extract-test-environment.d.ts +2 -0
  170. package/types/utils/memory-usage-logging.d.ts +7 -0
  171. package/types/utils/populate-eyes-server-settings.d.ts +2 -0
  172. package/types/utils/validate-sdk-version.d.ts +42 -0
  173. package/CHANGELOG.md +0 -222
  174. package/dist/classic/abort.js +0 -22
  175. package/dist/classic/close.js +0 -22
  176. package/dist/ufg/abort.js +0 -32
  177. package/dist/ufg/close.js +0 -37
  178. package/dist/ufg/get-results.js +0 -27
  179. package/dist/ufg/utils/take-vhses.js +0 -153
  180. package/dist/ufg/utils/uniquify-renderers.js +0 -27
  181. package/dist/utils/extract-ci-provider.js +0 -31
  182. package/types/classic/abort.d.ts +0 -16
  183. package/types/classic/close.d.ts +0 -16
  184. package/types/ufg/abort.d.ts +0 -21
  185. package/types/ufg/close.d.ts +0 -19
  186. package/types/ufg/get-nml-client.d.ts +0 -17
  187. package/types/ufg/get-results.d.ts +0 -16
  188. package/types/ufg/utils/take-vhses.d.ts +0 -17
  189. package/types/ufg/utils/uniquify-renderers.d.ts +0 -2
  190. package/types/utils/extract-ci-provider.d.ts +0 -1
@@ -1,9 +1,9 @@
1
1
  import type { Core } from './types';
2
- import type { Core as BaseCore } from '@applitools/core-base';
3
- import { type UFGClient } from '@applitools/ufg-client';
2
+ import { type AsyncCache, 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,10 +11,13 @@ type Options<TSpec extends SpecType> = {
11
11
  nml?: NMLClient;
12
12
  };
13
13
  base?: BaseCore;
14
- agentId?: string;
14
+ asyncCache?: AsyncCache;
15
15
  concurrency?: number;
16
- cwd?: string;
16
+ fetchConcurrency?: number;
17
+ agentId?: string;
17
18
  logger?: Logger;
19
+ offlineLocationPath?: string;
20
+ maskLog?: boolean;
18
21
  };
19
- export declare function makeCore<TSpec extends SpecType>({ concurrency, spec, clients, base, agentId, cwd, logger: defaultLogger, }: Options<TSpec>): Core<TSpec>;
22
+ export declare function makeCore<TSpec extends SpecType>({ spec, clients, base: defaultBase, asyncCache, concurrency, offlineLocationPath, fetchConcurrency, agentId, logger: defaultLogger, maskLog, }: Options<TSpec>): Core<TSpec>;
20
23
  export {};
@@ -0,0 +1,8 @@
1
+ import { UFGClient, RenderTarget } from '@applitools/ufg-client';
2
+ import { Snapshot } from './types';
3
+ import { Logger } from '@applitools/logger';
4
+ export declare function createRenderTargetFromSnapshot({ ufgClient, snapshot, logger, }: {
5
+ ufgClient: UFGClient;
6
+ snapshot: Snapshot;
7
+ logger: Logger;
8
+ }): Promise<RenderTarget>;
@@ -1,20 +1,15 @@
1
- import type { Eyes, OpenSettings } from './types';
1
+ import type { Eyes, GetBaseEyesSettings, OpenSettings } from './types';
2
2
  import type { Eyes as BaseEyes } from '@applitools/core-base';
3
3
  import { type SpecType } from '@applitools/driver';
4
4
  import { type Logger } from '@applitools/logger';
5
- import { type RendererSettings } from '@applitools/ufg-client';
6
5
  type Options<TSpec extends SpecType> = {
7
6
  settings: OpenSettings;
8
7
  eyes: Eyes<TSpec>;
9
8
  base?: BaseEyes[];
10
9
  logger: Logger;
11
10
  };
12
- export declare function makeGetBaseEyes<TSpec extends SpecType>({ settings: defaultSettings, eyes, base, logger: defaultLogger, }: Options<TSpec>): (({ settings, logger, }?: {
13
- settings?: RendererSettings | undefined;
11
+ export declare function makeGetBaseEyes<TSpec extends SpecType>({ settings: defaultSettings, eyes, logger: mainLogger, }: Options<TSpec>): ({ settings, logger, }: {
12
+ settings: GetBaseEyesSettings<TSpec>;
14
13
  logger?: Logger | undefined;
15
- }) => Promise<BaseEyes[]>) & {
16
- getCachedValues(): Promise<BaseEyes[]>[];
17
- setCachedValue(key: any, value: Promise<BaseEyes[]>): void;
18
- clearCache(): void;
19
- };
14
+ }) => Promise<BaseEyes>;
20
15
  export {};
@@ -1,11 +1,14 @@
1
1
  import { type Logger } from '@applitools/logger';
2
- import { type UFGClient, type UFGRequestsConfig } from '@applitools/ufg-client';
2
+ import { type AsyncCache, type UFGClient, type UFGClientSettings } from '@applitools/ufg-client';
3
3
  type Options = {
4
4
  client?: UFGClient;
5
+ fetchConcurrency?: number;
5
6
  logger: Logger;
7
+ asyncCache?: AsyncCache;
8
+ offlineLocationPath?: string;
6
9
  };
7
- export declare function makeGetUFGClient({ client, logger: defaultLogger }: Options): (({ config, logger }: {
8
- config: UFGRequestsConfig;
10
+ export declare function makeGetUFGClient({ client, fetchConcurrency, offlineLocationPath, logger: mainLogger, asyncCache, }: Options): (({ settings, logger }: {
11
+ settings: UFGClientSettings;
9
12
  logger?: Logger | undefined;
10
13
  }) => Promise<UFGClient>) & {
11
14
  getCachedValues(): Promise<UFGClient>[];
@@ -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: defaultLogger }: 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 {};
@@ -0,0 +1,17 @@
1
+ import type { Core, SnapshotSettings, Account, Snapshot } from './types';
2
+ import { type AbortSignal } from 'abort-controller';
3
+ import { type Logger } from '@applitools/logger';
4
+ import { type SpecType, type SpecDriver, type Driver } from '@applitools/driver';
5
+ type Options<TSpec extends SpecType> = {
6
+ core: Core<TSpec>;
7
+ spec: SpecDriver<TSpec>;
8
+ signal?: AbortSignal;
9
+ logger: Logger;
10
+ };
11
+ export declare function makeTakeSnapshots<TSpec extends SpecType>({ core, spec, signal, logger: mainLogger }: Options<TSpec>): ({ driver, settings, account, logger, }: {
12
+ driver: Driver<TSpec>;
13
+ settings?: SnapshotSettings<TSpec> | undefined;
14
+ account: Account;
15
+ logger?: Logger | undefined;
16
+ }) => Promise<Snapshot[]>;
17
+ export {};
@@ -1,80 +1,80 @@
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
- import { type SpecType, type Driver } from '@applitools/driver';
3
+ import { type SpecType, type CommonSelector, type Driver } from '@applitools/driver';
5
4
  import { type Logger } from '@applitools/logger';
6
5
  import { type Proxy } from '@applitools/req';
7
- import { type UFGClient, type UFGRequestsConfig, type Renderer, type DomSnapshot, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
8
- import { type NMLClient, type NMLRequestsConfig } from '@applitools/nml-client';
6
+ import { type UFGClient, type UFGClientSettings, type Selector as UFGSelector, type Environment as UFGEnvironment, type DomSnapshot as UFGDomSnapshot, type AndroidSnapshot as UFGAndroidSnapshot, type IOSSnapshot as UFGIOSSnapshot } from '@applitools/ufg-client';
9
7
  export * from '../automation/types';
10
- export type SnapshotTarget = MaybeArray<DomSnapshot> | MaybeArray<AndroidSnapshot> | MaybeArray<IOSSnapshot>;
8
+ export type DomSnapshot = UFGDomSnapshot & {
9
+ generatedSelectors?: {
10
+ originalSelector: CommonSelector | null;
11
+ safeSelector: CommonSelector | {
12
+ error: string;
13
+ } | null;
14
+ }[];
15
+ };
16
+ export type AndroidSnapshot = UFGAndroidSnapshot;
17
+ export type IOSSnapshot = UFGIOSSnapshot;
18
+ export type SnapshotTarget = MaybeArray<Snapshot>;
11
19
  export type Target<TSpec extends SpecType> = SnapshotTarget | AutomationCore.Target<TSpec>;
12
20
  export interface Core<TSpec extends SpecType> extends AutomationCore.Core<TSpec> {
13
21
  readonly type: 'ufg';
14
22
  getUFGClient(options?: {
15
- config: UFGRequestsConfig;
16
- concurrency?: number;
23
+ settings: UFGClientSettings;
17
24
  logger?: Logger;
18
25
  }): Promise<UFGClient>;
19
- getNMLClient(options: {
20
- config: Omit<NMLRequestsConfig, 'brokerUrl'>;
26
+ takeSnapshots?(options: {
21
27
  driver: Driver<TSpec>;
28
+ settings?: SnapshotSettings<TSpec>;
29
+ account: AutomationCore.Account;
22
30
  logger?: Logger;
23
- }): Promise<NMLClient | null>;
31
+ }): Promise<Snapshot[]>;
24
32
  openEyes(options: {
25
33
  target?: AutomationCore.DriverTarget<TSpec>;
26
34
  settings: AutomationCore.OpenSettings;
27
- base?: BaseCore.Eyes[];
35
+ storage?: AutomationCore.EyesStorage;
28
36
  logger?: Logger;
29
37
  }): Promise<Eyes<TSpec>>;
30
38
  }
31
39
  export interface Eyes<TSpec extends SpecType> extends AutomationCore.Eyes<TSpec> {
32
40
  readonly type: 'ufg';
33
41
  readonly core: Core<TSpec>;
34
- getBaseEyes(options?: {
35
- settings?: {
36
- type: 'web' | 'native';
37
- renderer: Renderer;
38
- };
39
- logger?: Logger;
40
- }): Promise<BaseCore.Eyes[]>;
41
42
  check(options?: {
42
43
  target?: Target<TSpec>;
43
44
  settings?: CheckSettings<TSpec>;
44
45
  logger?: Logger;
45
- }): Promise<CheckResult[]>;
46
+ }): Promise<void>;
46
47
  checkAndClose(options?: {
47
48
  target?: Target<TSpec>;
48
49
  settings?: CheckSettings<TSpec> & AutomationCore.CloseSettings;
49
50
  logger?: Logger;
50
- }): Promise<TestResult[]>;
51
- getResults(options?: {
52
- settings?: AutomationCore.GetResultsSettings;
53
- logger?: Logger;
54
- }): Promise<TestResult[]>;
51
+ }): Promise<void>;
55
52
  }
56
- export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings<TSpec> & {
57
- renderers?: Renderer[];
53
+ export type SnapshotSettings<TSpec extends SpecType> = AutomationCore.CheckSettings<TSpec> & {
54
+ disableBrowserFetching?: boolean;
55
+ layoutBreakpoints?: {
56
+ breakpoints: number[] | boolean;
57
+ reload?: boolean;
58
+ };
58
59
  hooks?: {
59
60
  beforeCaptureScreenshot: string;
60
61
  };
61
- disableBrowserFetching?: boolean;
62
- layoutBreakpoints?: boolean | number[];
63
62
  ufgOptions?: Record<string, any>;
64
- nmgOptions?: Record<string, any>;
63
+ prefixRenderId?: string;
65
64
  autProxy?: Proxy & {
66
65
  mode?: 'Allow' | 'Block';
67
66
  domains?: string[];
68
67
  };
68
+ headers?: Record<string, string>;
69
69
  };
70
- export type CheckResult = AutomationCore.CheckResult & {
71
- readonly renderer: Renderer;
72
- readonly promise: Promise<Omit<CheckResult, 'promise'> & {
73
- eyes: BaseCore.Eyes;
74
- }>;
75
- };
76
- export type TestResult = AutomationCore.TestResult & {
77
- readonly renderer: Renderer;
78
- } & {
79
- eyes: BaseCore.Eyes;
70
+ export type CheckSettings<TSpec extends SpecType> = SnapshotSettings<TSpec>;
71
+ export type SafeCheckSettings = CheckSettings<SpecType<never, never, UFGSelector, never, never>>;
72
+ export type Snapshot = {
73
+ target: DomSnapshot | AndroidSnapshot | IOSSnapshot;
74
+ settings: SafeCheckSettings;
75
+ environment: UFGEnvironment;
76
+ account: AutomationCore.Account;
77
+ url: string;
78
+ title: string;
79
+ userAgent?: string;
80
80
  };
@@ -0,0 +1,5 @@
1
+ import type { Environment } from '../types';
2
+ import { type SpecType, type Driver } from '@applitools/driver';
3
+ export declare function extractDefaultEnvironments<TSpec extends SpecType>({ driver, }: {
4
+ driver?: Driver<TSpec>;
5
+ }): Promise<Environment[]>;
@@ -1,16 +1,7 @@
1
- import { type SpecType, type Context, type ElementReference, type CommonSelector } from '@applitools/driver';
1
+ import { type SpecType, type Context, type ElementReference } from '@applitools/driver';
2
2
  export declare function generateSafeSelectors<TSpec extends SpecType>({ context, elementReferences, }: {
3
3
  context: Context<TSpec>;
4
- elementReferences: ElementReference<TSpec>[];
4
+ elementReferences?: ElementReference<TSpec>[];
5
5
  }): Promise<{
6
- selectors: ({
7
- safeSelector: null;
8
- originalSelector: null;
9
- elementReference: ElementReference<TSpec>;
10
- } | {
11
- safeSelector: CommonSelector<never>;
12
- originalSelector: CommonSelector<never> | null;
13
- elementReference: ElementReference<TSpec>;
14
- })[];
15
- cleanupGeneratedSelectors: () => Promise<void>;
6
+ generatedSelectors: string[][][];
16
7
  }>;
@@ -1,16 +1,16 @@
1
+ import { type DomSnapshot } from '../types';
1
2
  import { type Logger } from '@applitools/logger';
2
- import { type SpecType, type Context } from '@applitools/driver';
3
- import { type DomSnapshot } from '@applitools/ufg-client';
4
- type RawDomSnapshot = {
3
+ import { type SpecType, type Context, type Cookie, type ElementReference, type CommonSelector } from '@applitools/driver';
4
+ export type RawDomSnapshot = {
5
5
  url: string;
6
- selector: string;
6
+ selector?: string;
7
7
  cdt: {
8
8
  attributes: {
9
9
  name: string;
10
10
  value: string;
11
11
  }[];
12
12
  }[];
13
- crossFrames: {
13
+ crossFrames?: {
14
14
  selector: string;
15
15
  index: number;
16
16
  }[];
@@ -18,32 +18,27 @@ type RawDomSnapshot = {
18
18
  resourceUrls: string[];
19
19
  blobs: {
20
20
  url: string;
21
- value: string;
21
+ value?: string;
22
22
  }[];
23
+ srcAttr: string | null;
24
+ scriptVersion: string;
25
+ safeSelectors?: (CommonSelector | {
26
+ error: string;
27
+ } | null)[];
28
+ warnings?: string[];
23
29
  };
24
- export type DomSnapshotSettings = {
30
+ export type DomSnapshotSettings<TSpec extends SpecType> = {
25
31
  disableBrowserFetching?: boolean;
26
32
  skipResources?: string[];
27
33
  chunkByteLength?: number;
28
34
  executionTimeout?: number;
29
35
  pollTimeout?: number;
30
36
  showLogs?: boolean;
37
+ cookies?: Cookie[];
38
+ elementReferences?: ElementReference<TSpec>[];
31
39
  };
32
40
  export declare function takeDomSnapshot<TSpec extends SpecType>({ context, settings, logger, }: {
33
41
  context: Context<TSpec>;
34
- settings?: DomSnapshotSettings;
42
+ settings?: DomSnapshotSettings<TSpec>;
35
43
  logger: Logger;
36
44
  }): Promise<DomSnapshot>;
37
- export declare function deserializeDomSnapshot({ snapshot }: {
38
- snapshot: RawDomSnapshot;
39
- }): DomSnapshot;
40
- export declare function extractCrossFrames({ snapshot, parent, logger, }: {
41
- snapshot: RawDomSnapshot;
42
- parent?: any;
43
- logger: Logger;
44
- }): {
45
- cdtNode: RawDomSnapshot['cdt'][number];
46
- reference: any;
47
- parentSnapshot: RawDomSnapshot;
48
- }[];
49
- export {};
@@ -1,24 +1,28 @@
1
- import type { Size } from '@applitools/utils';
1
+ import type { DomSnapshot, LazyLoadOptions } from '../types';
2
+ import { type Size } from '@applitools/utils';
2
3
  import { type Logger } from '@applitools/logger';
3
4
  import { type SpecType, type Driver } from '@applitools/driver';
4
- import { type DomSnapshot, type Renderer, type ChromeEmulationDevice, type IOSDevice, type ScreenOrientation } from '@applitools/ufg-client';
5
+ import { type Environment } from '@applitools/ufg-client';
5
6
  import { type DomSnapshotSettings } from './take-dom-snapshot';
6
7
  export * from './take-dom-snapshot';
7
- export type DomSnapshotsSettings = DomSnapshotSettings & {
8
- renderers: Renderer[];
9
- waitBeforeCapture?: number | (() => void);
10
- layoutBreakpoints?: number[] | boolean;
8
+ export type DomSnapshotsSettings<TSpec extends SpecType> = DomSnapshotSettings<TSpec> & {
9
+ environments: Environment[];
10
+ waitBeforeCapture?: number | (() => Promise<void>);
11
+ layoutBreakpoints?: {
12
+ breakpoints: number[] | boolean;
13
+ reload?: boolean;
14
+ };
15
+ lazyLoad?: boolean | LazyLoadOptions;
11
16
  };
12
17
  export declare function takeDomSnapshots<TSpec extends SpecType>({ driver, settings, hooks, provides, logger, }: {
13
18
  driver: Driver<TSpec>;
14
- settings: DomSnapshotsSettings;
19
+ settings: DomSnapshotsSettings<TSpec>;
15
20
  hooks?: {
16
- beforeSnapshots?(): void | Promise<void>;
17
21
  beforeEachSnapshot?(): void | Promise<void>;
18
22
  };
19
23
  provides?: {
20
- getChromeEmulationDevices(): Promise<Record<ChromeEmulationDevice, Record<ScreenOrientation, Size>>>;
21
- getIOSDevices(): Promise<Record<IOSDevice, Record<ScreenOrientation, Size>>>;
24
+ getChromeEmulationDevices(): Promise<Record<string, Record<string, Size>>>;
25
+ getIOSDevices(): Promise<Record<string, Record<string, Size>>>;
22
26
  };
23
27
  logger: Logger;
24
28
  }): Promise<DomSnapshot[]>;
@@ -0,0 +1,34 @@
1
+ import { type SpecType, type ElementReference } from '@applitools/driver';
2
+ import type { Logger } from '@applitools/logger';
3
+ import { type Selector as UFGSelector } from '@applitools/ufg-client';
4
+ export declare function toGeneratedSelectors<TSpec extends SpecType>({ elementReferences, logger, transformElementReference, }: {
5
+ elementReferences: {
6
+ target?: ElementReference<TSpec>;
7
+ scrolling?: ElementReference<TSpec>;
8
+ calculate?: ElementReference<TSpec>[];
9
+ };
10
+ transformElementReference: (elementReference: ElementReference<TSpec>) => UFGSelector | undefined;
11
+ logger: Logger;
12
+ }): {
13
+ elementReferencesToMark: (string | TSpec["element"] | TSpec["secondary"]["element"] | TSpec["selector"] | TSpec["secondary"]["selector"] | {
14
+ selector: string | TSpec["selector"] | TSpec["secondary"]["selector"];
15
+ type?: string | undefined;
16
+ child?: TSpec["selector"] | TSpec["secondary"]["selector"] | import("@applitools/driver").CommonSelector<TSpec["selector"] | TSpec["secondary"]["selector"]> | undefined;
17
+ shadow?: TSpec["selector"] | TSpec["secondary"]["selector"] | import("@applitools/driver").CommonSelector<TSpec["selector"] | TSpec["secondary"]["selector"]> | undefined;
18
+ frame?: TSpec["selector"] | TSpec["secondary"]["selector"] | import("@applitools/driver").CommonSelector<TSpec["selector"] | TSpec["secondary"]["selector"]> | undefined;
19
+ fallback?: TSpec["selector"] | TSpec["secondary"]["selector"] | import("@applitools/driver").CommonSelector<TSpec["selector"] | TSpec["secondary"]["selector"]> | undefined;
20
+ } | (NonNullable<TSpec["element"]> extends infer T ? T extends NonNullable<TSpec["element"]> ? T extends readonly (infer InnerArr)[] ? InnerArr : T : never : never) | (NonNullable<TSpec["secondary"]["element"]> extends infer T_1 ? T_1 extends NonNullable<TSpec["secondary"]["element"]> ? T_1 extends readonly (infer InnerArr)[] ? InnerArr : T_1 : never : never) | (NonNullable<TSpec["selector"]> extends infer T_2 ? T_2 extends NonNullable<TSpec["selector"]> ? T_2 extends readonly (infer InnerArr)[] ? InnerArr : T_2 : never : never) | (NonNullable<TSpec["secondary"]["selector"]> extends infer T_3 ? T_3 extends NonNullable<TSpec["secondary"]["selector"]> ? T_3 extends readonly (infer InnerArr)[] ? InnerArr : T_3 : never : never))[];
21
+ getGeneratedSelectors: (generatedSelectors?: {
22
+ originalSelector: UFGSelector | null;
23
+ safeSelector: UFGSelector | {
24
+ error: string;
25
+ } | null;
26
+ }[]) => {
27
+ target: UFGSelector | undefined;
28
+ scrolling: UFGSelector | undefined;
29
+ calculate: {
30
+ originalSelector: UFGSelector | null;
31
+ safeSelector: UFGSelector | null;
32
+ }[];
33
+ };
34
+ };
@@ -0,0 +1,22 @@
1
+ import type { CheckSettings, SafeCheckSettings } from '../types';
2
+ import { type SpecType, type ElementReference, type CommonSelector } from '@applitools/driver';
3
+ import { type Selector as UFGSelector } from '@applitools/ufg-client';
4
+ export declare function toSafeCheckSettings<TSpec extends SpecType>({ settings }: {
5
+ settings: CheckSettings<TSpec>;
6
+ }): {
7
+ elementReferences: {
8
+ target: ElementReference<TSpec> | undefined;
9
+ scrolling: ElementReference<TSpec> | undefined;
10
+ calculate: ElementReference<TSpec>[];
11
+ };
12
+ getSafeCheckSettings: ({ selectors, }: {
13
+ selectors: {
14
+ target: UFGSelector | undefined;
15
+ scrolling: UFGSelector | undefined;
16
+ calculate: {
17
+ originalSelector: CommonSelector | null;
18
+ safeSelector: UFGSelector | null;
19
+ }[];
20
+ };
21
+ }) => SafeCheckSettings;
22
+ };
@@ -1,12 +1,16 @@
1
1
  import { type ServerOptions } from './ws-server';
2
2
  export type Options = ServerOptions & {
3
+ environment?: Record<string, any>;
4
+ agentIdPrefix?: string;
3
5
  debug?: boolean;
4
6
  shutdownMode?: 'lazy' | 'stdin';
5
7
  idleTimeout?: number;
6
8
  printStdout?: boolean;
9
+ isProcess?: boolean;
10
+ maskLog?: boolean;
7
11
  };
8
- export declare function makeCoreServer({ debug, shutdownMode, idleTimeout, // 15min
9
- printStdout, ...handlerOptions }?: Options): Promise<{
12
+ export declare function makeCoreServer({ environment: defaultEnvironment, agentIdPrefix, debug, shutdownMode, idleTimeout, // 15min
13
+ printStdout, isProcess, maskLog, ...handlerOptions }?: Options): Promise<{
10
14
  port: number;
11
15
  close?: () => void;
12
16
  }>;
@@ -4,8 +4,10 @@ import type { SpecType, SpecDriver } from '@applitools/driver';
4
4
  import { type Socket } from '@applitools/socket';
5
5
  import { WebSocket } from 'ws';
6
6
  export declare function makeCore<TSpec extends SpecType, TType extends 'classic' | 'ufg'>(options: {
7
- agentId: string;
8
7
  spec: 'webdriver' | SpecDriver<TSpec>;
8
+ environment?: Record<string, any>;
9
+ agentId: string;
10
+ maskLog?: boolean;
9
11
  }): Core<TSpec, TType>;
10
12
  export declare function makeManager<TSpec extends SpecType, TType extends 'classic' | 'ufg'>({ socket, core, managerRef, }: {
11
13
  socket: ClientSocket<TSpec, TType>;
@@ -17,7 +19,9 @@ export declare function makeEyes<TSpec extends SpecType, TType extends 'classic'
17
19
  core: Core<TSpec, TType>;
18
20
  eyesRef: Ref<Eyes<TSpec, TType>>;
19
21
  }): Eyes<TSpec, TType>;
20
- export declare function makeClientSocket<TSpec extends SpecType>({ agentId, spec, }: {
22
+ export declare function makeClientSocket<TSpec extends SpecType>({ agentId, environment, spec, maskLog, }: {
21
23
  agentId: string;
24
+ environment?: Record<string, any>;
22
25
  spec: 'webdriver' | SpecDriver<TSpec>;
26
+ maskLog?: boolean;
23
27
  }): Promise<ClientSocket<TSpec, 'classic' | 'ufg'> & Socket<WebSocket>>;
@@ -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;