@applitools/core 1.0.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 (90) hide show
  1. package/LICENSE +26 -0
  2. package/dist/automation/get-viewport-size.js +12 -0
  3. package/dist/automation/locate.js +22 -0
  4. package/dist/automation/set-viewport-size.js +12 -0
  5. package/dist/automation/utils/take-screenshot.js +55 -0
  6. package/dist/check-and-close.js +11 -0
  7. package/dist/check.js +55 -0
  8. package/dist/classic/check-and-close.js +67 -0
  9. package/dist/classic/check.js +78 -0
  10. package/dist/classic/core.js +50 -0
  11. package/dist/classic/extract-text.js +71 -0
  12. package/dist/classic/locate-text.js +53 -0
  13. package/dist/classic/open-eyes.js +78 -0
  14. package/dist/classic/utils/take-dom-capture.js +135 -0
  15. package/dist/classic/utils/transform-check-settings.js +68 -0
  16. package/dist/close-manager.js +62 -0
  17. package/dist/close.js +20 -0
  18. package/dist/core.js +51 -0
  19. package/dist/errors/test-error.js +29 -0
  20. package/dist/extract-text.js +37 -0
  21. package/dist/index.js +32 -0
  22. package/dist/locate-text.js +11 -0
  23. package/dist/locate.js +11 -0
  24. package/dist/make-manager.js +65 -0
  25. package/dist/open-eyes.js +84 -0
  26. package/dist/troubleshoot/check-network.js +106 -0
  27. package/dist/troubleshoot/eyes.js +85 -0
  28. package/dist/troubleshoot/ufg.js +130 -0
  29. package/dist/troubleshoot/utils.js +68 -0
  30. package/dist/ufg/abort.js +18 -0
  31. package/dist/ufg/check-and-close.js +7 -0
  32. package/dist/ufg/check.js +192 -0
  33. package/dist/ufg/close.js +31 -0
  34. package/dist/ufg/core.js +78 -0
  35. package/dist/ufg/open-eyes.js +123 -0
  36. package/dist/ufg/utils/generate-safe-selectors.js +60 -0
  37. package/dist/ufg/utils/take-dom-snapshot.js +132 -0
  38. package/dist/ufg/utils/take-dom-snapshots.js +141 -0
  39. package/dist/ufg/utils/take-snapshots.js +38 -0
  40. package/dist/ufg/utils/take-vhses.js +258 -0
  41. package/dist/utils/execute-poll-script.js +75 -0
  42. package/dist/utils/extract-broker-url.js +19 -0
  43. package/dist/utils/format-results.js +185 -0
  44. package/dist/utils/to-base-check-settings.js +69 -0
  45. package/dist/utils/wait-for-lazy-load.js +25 -0
  46. package/package.json +105 -0
  47. package/types/automation/get-viewport-size.d.ts +11 -0
  48. package/types/automation/locate.d.ts +16 -0
  49. package/types/automation/set-viewport-size.d.ts +12 -0
  50. package/types/automation/utils/take-screenshot.d.ts +15 -0
  51. package/types/check-and-close.d.ts +15 -0
  52. package/types/check.d.ts +15 -0
  53. package/types/classic/check-and-close.d.ts +16 -0
  54. package/types/classic/check.d.ts +16 -0
  55. package/types/classic/core.d.ts +13 -0
  56. package/types/classic/extract-text.d.ts +16 -0
  57. package/types/classic/locate-text.d.ts +16 -0
  58. package/types/classic/open-eyes.d.ts +15 -0
  59. package/types/classic/utils/take-dom-capture.d.ts +13 -0
  60. package/types/classic/utils/transform-check-settings.d.ts +11 -0
  61. package/types/close-manager.d.ts +18 -0
  62. package/types/close.d.ts +14 -0
  63. package/types/core.d.ts +14 -0
  64. package/types/errors/test-error.d.ts +5 -0
  65. package/types/extract-text.d.ts +15 -0
  66. package/types/index.d.ts +3 -0
  67. package/types/locate-text.d.ts +15 -0
  68. package/types/locate.d.ts +15 -0
  69. package/types/make-manager.d.ts +19 -0
  70. package/types/open-eyes.d.ts +19 -0
  71. package/types/troubleshoot/check-network.d.ts +20 -0
  72. package/types/troubleshoot/eyes.d.ts +11 -0
  73. package/types/troubleshoot/ufg.d.ts +10 -0
  74. package/types/troubleshoot/utils.d.ts +4 -0
  75. package/types/ufg/abort.d.ts +17 -0
  76. package/types/ufg/check-and-close.d.ts +17 -0
  77. package/types/ufg/check.d.ts +27 -0
  78. package/types/ufg/close.d.ts +16 -0
  79. package/types/ufg/core.d.ts +16 -0
  80. package/types/ufg/open-eyes.d.ts +18 -0
  81. package/types/ufg/utils/generate-safe-selectors.d.ts +12 -0
  82. package/types/ufg/utils/take-dom-snapshot.d.ts +23 -0
  83. package/types/ufg/utils/take-dom-snapshots.d.ts +24 -0
  84. package/types/ufg/utils/take-snapshots.d.ts +21 -0
  85. package/types/ufg/utils/take-vhses.d.ts +17 -0
  86. package/types/utils/execute-poll-script.d.ts +20 -0
  87. package/types/utils/extract-broker-url.d.ts +2 -0
  88. package/types/utils/format-results.d.ts +16 -0
  89. package/types/utils/to-base-check-settings.d.ts +17 -0
  90. package/types/utils/wait-for-lazy-load.d.ts +13 -0
@@ -0,0 +1,18 @@
1
+ import type { SpecDriver } from '@applitools/types';
2
+ import type { Core as BaseCore } from '@applitools/types/base';
3
+ import type { Eyes, Target, OpenSettings } from '@applitools/types/ufg';
4
+ import { type Logger } from '@applitools/logger';
5
+ import { type UFGClient } from '@applitools/ufg-client';
6
+ declare type Options<TDriver, TContext, TElement, TSelector> = {
7
+ core: BaseCore;
8
+ client?: UFGClient;
9
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
10
+ logger?: Logger;
11
+ };
12
+ export declare function makeOpenEyes<TDriver, TContext, TElement, TSelector>({ spec, core, client, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }: {
13
+ target?: Target<TDriver>;
14
+ settings: OpenSettings;
15
+ logger?: Logger;
16
+ on?: any;
17
+ }) => Promise<Eyes<TDriver, TElement, TSelector>>;
18
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { Selector } from '@applitools/types';
2
+ import { type Context } from '@applitools/driver';
3
+ export declare function generateSafeSelectors<TElement, TSelector>({ context, elementReferences, }: {
4
+ context: Context<unknown, unknown, TElement, TSelector>;
5
+ elementReferences: (TElement | Selector<TSelector>)[];
6
+ }): Promise<{
7
+ selectors: {
8
+ safeSelector: Selector;
9
+ originalSelector: Selector;
10
+ }[];
11
+ cleanupGeneratedSelectors(): Promise<void>;
12
+ }>;
@@ -0,0 +1,23 @@
1
+ import type { DomSnapshot } from '@applitools/types/ufg';
2
+ import { type Logger } from '@applitools/logger';
3
+ import { type Context } from '@applitools/driver';
4
+ import { type PollScriptSettings } from '../../utils/execute-poll-script';
5
+ export declare type DomSnapshotSettings = Partial<PollScriptSettings> & {
6
+ disableBrowserFetching?: boolean;
7
+ skipResources?: string[];
8
+ chunkByteLength?: number;
9
+ showLogs?: boolean;
10
+ };
11
+ export declare function takeDomSnapshot<TContext extends Context<unknown, unknown, unknown, unknown>>({ context, settings, logger, }: {
12
+ context: TContext;
13
+ settings?: DomSnapshotSettings;
14
+ logger: Logger;
15
+ }): Promise<DomSnapshot>;
16
+ export declare function deserializeDomSnapshot({ snapshot }: {
17
+ snapshot: any;
18
+ }): any;
19
+ export declare function extractCrossFrames({ snapshot, parent, logger }: {
20
+ snapshot: any;
21
+ parent?: any;
22
+ logger: any;
23
+ }): any[];
@@ -0,0 +1,24 @@
1
+ import type { Size, Renderer, ChromeEmulationDevice, IOSDevice, ScreenOrientation } from '@applitools/types';
2
+ import type { DomSnapshot } from '@applitools/types/ufg';
3
+ import { type Logger } from '@applitools/logger';
4
+ import { type Driver } from '@applitools/driver';
5
+ import { type DomSnapshotSettings } from './take-dom-snapshot';
6
+ export * from './take-dom-snapshot';
7
+ export declare type DomSnapshotsSettings = DomSnapshotSettings & {
8
+ renderers: Renderer[];
9
+ waitBeforeCapture?: number;
10
+ layoutBreakpoints?: number[] | boolean;
11
+ };
12
+ export declare function takeDomSnapshots<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, hooks, provides, logger, }: {
13
+ driver: TDriver;
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[]>;
@@ -0,0 +1,21 @@
1
+ import type { Size, ChromeEmulationDevice, IOSDevice, ScreenOrientation } from '@applitools/types';
2
+ import type { DomSnapshot, AndroidVHS, IOSVHS } from '@applitools/types/ufg';
3
+ import { type Logger } from '@applitools/logger';
4
+ import { type Driver } from '@applitools/driver';
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<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, hooks, provides, logger, }: {
10
+ driver: TDriver;
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[] | AndroidVHS[] | IOSVHS[]>;
@@ -0,0 +1,17 @@
1
+ import type { Renderer } from '@applitools/types';
2
+ import type { ServerSettings, AndroidVHS, IOSVHS } from '@applitools/types/ufg';
3
+ import { type Logger } from '@applitools/logger';
4
+ import { type Driver } from '@applitools/driver';
5
+ export declare type VHSesSettings = ServerSettings & {
6
+ renderers: Renderer[];
7
+ waitBeforeCapture?: number;
8
+ };
9
+ export declare function takeVHSes<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, hooks, logger, }: {
10
+ driver: TDriver;
11
+ settings?: VHSesSettings;
12
+ hooks?: {
13
+ beforeSnapshots?(): void | Promise<void>;
14
+ beforeEachSnapshot?(): void | Promise<void>;
15
+ };
16
+ logger: Logger;
17
+ }): Promise<AndroidVHS[] | IOSVHS[]>;
@@ -0,0 +1,20 @@
1
+ import { type Context } from '@applitools/driver';
2
+ import { type Logger } from '@applitools/logger';
3
+ export declare type PollScriptSettings = {
4
+ executionTimeout: number;
5
+ pollTimeout: number;
6
+ };
7
+ declare type Script = {
8
+ script: string;
9
+ args: any[];
10
+ };
11
+ export declare function executePollScript<TContext extends Context<unknown, unknown, unknown, unknown>>({ context, scripts, settings, logger, }: {
12
+ context: TContext;
13
+ scripts: {
14
+ main: Script;
15
+ poll: Script;
16
+ };
17
+ settings: PollScriptSettings;
18
+ logger: Logger;
19
+ }): Promise<any>;
20
+ export {};
@@ -0,0 +1,2 @@
1
+ import { type Driver } from '@applitools/driver';
2
+ export declare function extractBrokerUrl(driver: Driver<unknown, unknown, unknown, unknown>): Promise<string>;
@@ -0,0 +1,16 @@
1
+ import type { TestResult } from '@applitools/types/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: any, space: any): string;
@@ -0,0 +1,17 @@
1
+ import { Region, Selector } from '@applitools/types';
2
+ import { CheckSettings as BaseCheckSettings } from '@applitools/types/base';
3
+ import { CheckSettings as ClassicCheckSettings } from '@applitools/types/classic';
4
+ import { CheckSettings as UFGCheckSettings } from '@applitools/types/ufg';
5
+ export declare function toBaseCheckSettings<TElement, TSelector>({ settings, }: {
6
+ settings: ClassicCheckSettings<TElement, TSelector> | UFGCheckSettings<TElement, TSelector>;
7
+ }): {
8
+ elementReferencesToCalculate: (TElement | Selector<TSelector>)[];
9
+ elementReferenceToTarget: TElement | Selector<TSelector>;
10
+ getBaseCheckSettings: ({ calculatedRegions, preserveTransformation, }: {
11
+ calculatedRegions: {
12
+ selector: Selector;
13
+ regions: Region[];
14
+ }[];
15
+ preserveTransformation?: boolean;
16
+ }) => BaseCheckSettings;
17
+ };
@@ -0,0 +1,13 @@
1
+ import { type Logger } from '@applitools/logger';
2
+ import { type Driver } from '@applitools/driver';
3
+ import { type PollScriptSettings } from './execute-poll-script';
4
+ export declare type LazyLoadSettings = Partial<PollScriptSettings> & {
5
+ scrollLength?: number;
6
+ waitingTime?: number;
7
+ maxAmountToScroll?: number;
8
+ };
9
+ export declare function waitForLazyLoad<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, logger, }: {
10
+ driver: TDriver;
11
+ settings: LazyLoadSettings;
12
+ logger: Logger;
13
+ }): Promise<void>;