@applitools/core 2.0.2 → 2.3.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 (73) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cli/cli.js +89 -0
  3. package/dist/index.js +2 -0
  4. package/dist/make-manager.js +2 -2
  5. package/dist/ufg/utils/generate-safe-selectors.js +2 -4
  6. package/dist/universal/core-server-process.js +31 -0
  7. package/dist/universal/core-server.js +150 -0
  8. package/dist/universal/core.js +145 -0
  9. package/dist/universal/refer.js +67 -0
  10. package/dist/universal/spec-driver.js +166 -0
  11. package/dist/universal/types.js +2 -0
  12. package/dist/universal/ws-server.js +59 -0
  13. package/package.json +40 -17
  14. package/types/automation/extract-text.d.ts +0 -16
  15. package/types/automation/get-viewport-size.d.ts +0 -12
  16. package/types/automation/locate-text.d.ts +0 -15
  17. package/types/automation/locate.d.ts +0 -15
  18. package/types/automation/set-viewport-size.d.ts +0 -14
  19. package/types/automation/types.d.ts +0 -84
  20. package/types/automation/utils/take-screenshot.d.ts +0 -19
  21. package/types/automation/utils/to-base-check-settings.d.ts +0 -17
  22. package/types/automation/utils/wait-for-lazy-load.d.ts +0 -14
  23. package/types/check-and-close.d.ts +0 -18
  24. package/types/check.d.ts +0 -18
  25. package/types/classic/abort.d.ts +0 -16
  26. package/types/classic/check-and-close.d.ts +0 -19
  27. package/types/classic/check.d.ts +0 -15
  28. package/types/classic/close.d.ts +0 -16
  29. package/types/classic/core.d.ts +0 -13
  30. package/types/classic/get-base-eyes.d.ts +0 -17
  31. package/types/classic/open-eyes.d.ts +0 -16
  32. package/types/classic/types.d.ts +0 -34
  33. package/types/classic/utils/take-dom-capture.d.ts +0 -14
  34. package/types/close-batch.d.ts +0 -13
  35. package/types/close.d.ts +0 -13
  36. package/types/core.d.ts +0 -14
  37. package/types/delete-test.d.ts +0 -13
  38. package/types/errors/abort-error.d.ts +0 -4
  39. package/types/errors/internal-error.d.ts +0 -6
  40. package/types/errors/test-error.d.ts +0 -5
  41. package/types/extract-text.d.ts +0 -17
  42. package/types/get-eyes-results.d.ts +0 -12
  43. package/types/get-manager-results.d.ts +0 -14
  44. package/types/get-typed-eyes.d.ts +0 -22
  45. package/types/index.d.ts +0 -6
  46. package/types/locate-text.d.ts +0 -16
  47. package/types/locate.d.ts +0 -17
  48. package/types/make-ec-client.d.ts +0 -16
  49. package/types/make-manager.d.ts +0 -22
  50. package/types/open-eyes.d.ts +0 -23
  51. package/types/troubleshoot/check-network.d.ts +0 -21
  52. package/types/troubleshoot/eyes.d.ts +0 -11
  53. package/types/troubleshoot/ufg.d.ts +0 -10
  54. package/types/troubleshoot/utils.d.ts +0 -2
  55. package/types/types.d.ts +0 -130
  56. package/types/ufg/abort.d.ts +0 -21
  57. package/types/ufg/check-and-close.d.ts +0 -33
  58. package/types/ufg/check.d.ts +0 -19
  59. package/types/ufg/close.d.ts +0 -19
  60. package/types/ufg/core.d.ts +0 -16
  61. package/types/ufg/get-base-eyes.d.ts +0 -23
  62. package/types/ufg/get-results.d.ts +0 -16
  63. package/types/ufg/open-eyes.d.ts +0 -18
  64. package/types/ufg/types.d.ts +0 -71
  65. package/types/ufg/utils/extract-broker-url.d.ts +0 -6
  66. package/types/ufg/utils/generate-safe-selectors.d.ts +0 -16
  67. package/types/ufg/utils/take-dom-snapshot.d.ts +0 -49
  68. package/types/ufg/utils/take-dom-snapshots.d.ts +0 -24
  69. package/types/ufg/utils/take-snapshots.d.ts +0 -21
  70. package/types/ufg/utils/take-vhses.d.ts +0 -17
  71. package/types/ufg/utils/uniquify-renderers.d.ts +0 -2
  72. package/types/utils/extract-ci-provider.d.ts +0 -1
  73. package/types/utils/format-results.d.ts +0 -16
@@ -1,19 +0,0 @@
1
- import type { DriverTarget, CloseSettings } from './types';
2
- import { type Logger } from '@applitools/logger';
3
- import { type SpecType, type SpecDriver } from '@applitools/driver';
4
- import { Renderer } from '@applitools/ufg-client';
5
- import { Eyes as baseEyes } from '@applitools/core-base';
6
- type Options<TSpec extends SpecType> = {
7
- storage: Map<string, Promise<{
8
- renderer: Renderer;
9
- eyes: baseEyes;
10
- }>[]>;
11
- target?: DriverTarget<TSpec>;
12
- spec?: SpecDriver<TSpec>;
13
- logger: Logger;
14
- };
15
- export declare function makeClose<TSpec extends SpecType>({ storage, target, spec, logger: defaultLogger }: Options<TSpec>): ({ settings, logger, }?: {
16
- settings?: CloseSettings | undefined;
17
- logger?: Logger | undefined;
18
- }) => Promise<void>;
19
- export {};
@@ -1,16 +0,0 @@
1
- import type { Core } from './types';
2
- import type { Core as BaseCore } from '@applitools/core-base';
3
- import { type UFGClient } from '@applitools/ufg-client';
4
- import { type SpecType, type SpecDriver } from '@applitools/driver';
5
- import { type Logger } from '@applitools/logger';
6
- type Options<TSpec extends SpecType> = {
7
- concurrency: number;
8
- spec?: SpecDriver<TSpec>;
9
- client?: UFGClient;
10
- core?: BaseCore;
11
- agentId?: string;
12
- cwd?: string;
13
- logger?: Logger;
14
- };
15
- export declare function makeCore<TSpec extends SpecType>({ concurrency, spec, client, core, agentId, cwd, logger, }: Options<TSpec>): Core<TSpec>;
16
- export {};
@@ -1,23 +0,0 @@
1
- import type { OpenSettings } from './types';
2
- import type { Core as CoreBase, Eyes as EyesBase } from '@applitools/core-base';
3
- import { type Logger } from '@applitools/logger';
4
- import { type UFGClient, type Renderer } from '@applitools/ufg-client';
5
- type Options = {
6
- settings: OpenSettings;
7
- eyes?: EyesBase[];
8
- core: CoreBase;
9
- client: UFGClient;
10
- logger: Logger;
11
- };
12
- export declare function makeGetBaseEyes({ settings: defaultSettings, core, client, eyes, logger: defaultLogger }: Options): (({ settings, logger, }?: {
13
- settings?: {
14
- type: 'web' | 'native';
15
- renderer: Renderer;
16
- } | undefined;
17
- logger?: Logger | undefined;
18
- }) => Promise<EyesBase[]>) & {
19
- getCachedValues(): Promise<EyesBase<import("@applitools/core-base").ImageTarget>[]>[];
20
- setCachedValue(key: any, value: Promise<EyesBase<import("@applitools/core-base").ImageTarget>[]>): void;
21
- clearCache(): void;
22
- };
23
- export {};
@@ -1,16 +0,0 @@
1
- import type { GetResultsSettings, TestResult } from './types';
2
- import { type Logger } from '@applitools/logger';
3
- import { Renderer } from '@applitools/ufg-client';
4
- import { Eyes as baseEyes } from '@applitools/core-base';
5
- type Options = {
6
- storage: Map<string, Promise<{
7
- renderer: Renderer;
8
- eyes: baseEyes;
9
- }>[]>;
10
- logger: Logger;
11
- };
12
- export declare function makeGetResults({ storage, logger: defaultLogger }: Options): ({ settings, logger, }?: {
13
- settings?: GetResultsSettings | undefined;
14
- logger?: Logger | undefined;
15
- }) => Promise<TestResult[]>;
16
- export {};
@@ -1,18 +0,0 @@
1
- import type { DriverTarget, Eyes, OpenSettings } from './types';
2
- import type { Core as BaseCore, Eyes as BaseEyes } from '@applitools/core-base';
3
- import { type Logger } from '@applitools/logger';
4
- import { type SpecType, type SpecDriver } from '@applitools/driver';
5
- import { type UFGClient } from '@applitools/ufg-client';
6
- type Options<TSpec extends SpecType> = {
7
- core: BaseCore;
8
- client?: UFGClient;
9
- spec?: SpecDriver<TSpec>;
10
- logger: Logger;
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;
14
- settings: OpenSettings;
15
- eyes?: BaseEyes<import("@applitools/core-base").ImageTarget>[] | undefined;
16
- logger?: Logger | undefined;
17
- }) => Promise<Eyes<TSpec>>;
18
- export {};
@@ -1,71 +0,0 @@
1
- import type { MaybeArray } from '@applitools/utils';
2
- import type * as BaseCore from '@applitools/core-base/types';
3
- import type * as AutomationCore from '../automation/types';
4
- import { type SpecType } from '@applitools/driver';
5
- import { type Logger } from '@applitools/logger';
6
- import { type Proxy } from '@applitools/req';
7
- import { type Renderer, type DomSnapshot, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
8
- export * from '../automation/types';
9
- 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> {
12
- readonly type: 'ufg';
13
- openEyes(options: {
14
- target?: AutomationCore.DriverTarget<TSpec>;
15
- settings: OpenSettings;
16
- eyes?: BaseCore.Eyes[];
17
- logger?: Logger;
18
- }): Promise<TEyes>;
19
- }
20
- export interface Eyes<TSpec extends SpecType, TTarget = Target<TSpec>> extends AutomationCore.Eyes<TSpec, TTarget> {
21
- readonly type: 'ufg';
22
- getBaseEyes(options?: {
23
- settings?: {
24
- type: 'web' | 'native';
25
- renderer: Renderer;
26
- };
27
- logger?: Logger;
28
- }): Promise<BaseCore.Eyes[]>;
29
- check(options?: {
30
- target?: TTarget;
31
- settings?: CheckSettings<TSpec>;
32
- logger?: Logger;
33
- }): Promise<CheckResult[]>;
34
- checkAndClose(options?: {
35
- target?: TTarget;
36
- settings?: CheckSettings<TSpec> & AutomationCore.CloseSettings;
37
- logger?: Logger;
38
- }): Promise<TestResult[]>;
39
- getResults(options?: {
40
- settings?: AutomationCore.GetResultsSettings;
41
- logger?: Logger;
42
- }): Promise<TestResult[]>;
43
- }
44
- export type OpenSettings = AutomationCore.OpenSettings & {
45
- renderConcurrency?: number;
46
- };
47
- export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings<TSpec> & {
48
- renderers?: Renderer[];
49
- hooks?: {
50
- beforeCaptureScreenshot: string;
51
- };
52
- disableBrowserFetching?: boolean;
53
- layoutBreakpoints?: boolean | number[];
54
- ufgOptions?: Record<string, any>;
55
- nmgOptions?: Record<string, any>;
56
- autProxy?: Proxy & {
57
- mode?: 'Allow' | 'Block';
58
- domains?: string[];
59
- };
60
- };
61
- export type CheckResult = AutomationCore.CheckResult & {
62
- readonly renderer: Renderer;
63
- readonly promise: Promise<Omit<CheckResult, 'promise'> & {
64
- eyes: BaseCore.Eyes;
65
- }>;
66
- };
67
- export type TestResult = AutomationCore.TestResult & {
68
- readonly renderer: Renderer;
69
- } & {
70
- eyes: BaseCore.Eyes;
71
- };
@@ -1,6 +0,0 @@
1
- import { type SpecType, type Driver } from '@applitools/driver';
2
- import { type Logger } from '@applitools/logger';
3
- export declare function extractBrokerUrl<TSpec extends SpecType>({ driver, logger, }: {
4
- driver: Driver<TSpec>;
5
- logger: Logger;
6
- }): Promise<string | null>;
@@ -1,16 +0,0 @@
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>[];
5
- }): Promise<{
6
- selectors: ({
7
- safeSelector: null;
8
- originalSelector: null;
9
- elementReference: ElementReference<TSpec>;
10
- } | {
11
- safeSelector: CommonSelector<never>;
12
- originalSelector: import("@applitools/driver").Selector<never> | null;
13
- elementReference: ElementReference<TSpec>;
14
- })[];
15
- cleanupGeneratedSelectors: () => Promise<void>;
16
- }>;
@@ -1,49 +0,0 @@
1
- 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 = {
5
- url: string;
6
- selector: string;
7
- cdt: {
8
- attributes: {
9
- name: string;
10
- value: string;
11
- }[];
12
- }[];
13
- crossFrames: {
14
- selector: string;
15
- index: number;
16
- }[];
17
- frames: RawDomSnapshot[];
18
- resourceUrls: string[];
19
- blobs: {
20
- url: string;
21
- value: string;
22
- }[];
23
- };
24
- export type DomSnapshotSettings = {
25
- disableBrowserFetching?: boolean;
26
- skipResources?: string[];
27
- chunkByteLength?: number;
28
- executionTimeout?: number;
29
- pollTimeout?: number;
30
- showLogs?: boolean;
31
- };
32
- export declare function takeDomSnapshot<TSpec extends SpecType>({ context, settings, logger, }: {
33
- context: Context<TSpec>;
34
- settings?: DomSnapshotSettings;
35
- logger: Logger;
36
- }): 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 +0,0 @@
1
- import type { Size } from '@applitools/utils';
2
- import { type Logger } from '@applitools/logger';
3
- 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 DomSnapshotSettings } from './take-dom-snapshot';
6
- export * from './take-dom-snapshot';
7
- export type DomSnapshotsSettings = DomSnapshotSettings & {
8
- renderers: Renderer[];
9
- waitBeforeCapture?: number | (() => void);
10
- layoutBreakpoints?: number[] | boolean;
11
- };
12
- export declare function takeDomSnapshots<TSpec extends SpecType>({ driver, settings, hooks, provides, logger, }: {
13
- driver: Driver<TSpec>;
14
- settings: DomSnapshotsSettings;
15
- hooks?: {
16
- beforeSnapshots?(): void | Promise<void>;
17
- beforeEachSnapshot?(): void | Promise<void>;
18
- };
19
- provides?: {
20
- getChromeEmulationDevices(): Promise<Record<ChromeEmulationDevice, Record<ScreenOrientation, Size>>>;
21
- getIOSDevices(): Promise<Record<IOSDevice, Record<ScreenOrientation, Size>>>;
22
- };
23
- logger: Logger;
24
- }): Promise<DomSnapshot[]>;
@@ -1,21 +0,0 @@
1
- import type { Size } from '@applitools/utils';
2
- import { type Logger } from '@applitools/logger';
3
- import { type SpecType, type Driver } from '@applitools/driver';
4
- import { type DomSnapshot, type AndroidSnapshot, type IOSSnapshot, type ChromeEmulationDevice, type IOSDevice, type ScreenOrientation } from '@applitools/ufg-client';
5
- import { type DomSnapshotsSettings } from './take-dom-snapshots';
6
- import { type VHSesSettings } from './take-vhses';
7
- export * from './take-dom-snapshots';
8
- export * from './take-vhses';
9
- export declare function takeSnapshots<TSpec extends SpecType>({ driver, settings, hooks, provides, logger, }: {
10
- driver: Driver<TSpec>;
11
- settings: DomSnapshotsSettings & VHSesSettings;
12
- hooks: {
13
- beforeSnapshots?(): void | Promise<void>;
14
- beforeEachSnapshot?(): void | Promise<void>;
15
- };
16
- provides: {
17
- getChromeEmulationDevices(): Promise<Record<ChromeEmulationDevice, Record<ScreenOrientation, Size>>>;
18
- getIOSDevices(): Promise<Record<IOSDevice, Record<ScreenOrientation, Size>>>;
19
- };
20
- logger: Logger;
21
- }): Promise<DomSnapshot[] | AndroidSnapshot[] | IOSSnapshot[]>;
@@ -1,17 +0,0 @@
1
- import type { ServerSettings } from '../types';
2
- import { type Logger } from '@applitools/logger';
3
- import { type SpecType, type Driver } from '@applitools/driver';
4
- import { type Renderer, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
5
- export type VHSesSettings = ServerSettings & {
6
- renderers: Renderer[];
7
- waitBeforeCapture?: number;
8
- };
9
- export declare function takeVHSes<TSpec extends SpecType>({ driver, settings, hooks, logger, }: {
10
- driver: Driver<TSpec>;
11
- settings: VHSesSettings;
12
- hooks?: {
13
- beforeSnapshots?(): void | Promise<void>;
14
- beforeEachSnapshot?(): void | Promise<void>;
15
- };
16
- logger: Logger;
17
- }): Promise<AndroidSnapshot[] | IOSSnapshot[]>;
@@ -1,2 +0,0 @@
1
- import { type Renderer } from '@applitools/ufg-client';
2
- export declare function uniquifyRenderers(renderers: Renderer[]): Renderer[];
@@ -1 +0,0 @@
1
- export declare function extractCIProvider(): string | null;
@@ -1,16 +0,0 @@
1
- import type { TestResult } from '@applitools/core-base';
2
- export declare function toFormatterString(results: TestResult[], { includeSubTests, markNewAsPassed }?: {
3
- includeSubTests?: boolean;
4
- markNewAsPassed?: boolean;
5
- }): string;
6
- export declare function toHierarchicTAPString(results: TestResult[], { includeSubTests, markNewAsPassed }?: {
7
- includeSubTests?: boolean;
8
- markNewAsPassed?: boolean;
9
- }): string;
10
- export declare function toFlattenedTAPString(results: TestResult[], { markNewAsPassed }?: {
11
- markNewAsPassed?: boolean;
12
- }): string;
13
- export declare function toXmlOutput(results: TestResult[], { totalTime }?: {
14
- totalTime?: number;
15
- }): string;
16
- export declare function toJsonOutput(results: TestResult[], space?: number | string): string;