@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.
- package/dist/abort.js +40 -0
- package/dist/automation/abort.js +47 -0
- package/dist/automation/close.js +52 -0
- package/dist/automation/extract-text.js +3 -2
- package/dist/automation/get-nml-client.js +36 -0
- package/dist/automation/get-results.js +21 -0
- package/dist/automation/get-viewport-size.js +3 -2
- package/dist/automation/locate-text.js +3 -2
- package/dist/automation/locate.js +3 -2
- package/dist/automation/set-viewport-size.js +3 -2
- package/dist/automation/types.js +0 -15
- package/dist/automation/utils/report-kobiton.js +21 -0
- package/dist/automation/utils/take-screenshot.js +4 -2
- package/dist/automation/utils/to-base-check-settings.js +69 -7
- package/dist/automation/utils/to-environment-key.js +31 -0
- package/dist/automation/utils/uniquify-environments.js +27 -0
- package/dist/automation/utils/wait-for-lazy-load.js +9 -8
- package/dist/autonomous/core.js +25 -0
- package/dist/autonomous/create-render-results.js +49 -0
- package/dist/autonomous/create-render-target.js +19 -0
- package/dist/autonomous/get-render-results.js +55 -0
- package/dist/autonomous/open-eyes.js +13 -0
- package/dist/autonomous/start-renders.js +67 -0
- package/dist/autonomous/take-snapshots.js +16 -0
- package/dist/autonomous/types.js +17 -0
- package/dist/check-and-close.js +32 -15
- package/dist/check.js +33 -30
- package/dist/classic/check-and-close.js +189 -46
- package/dist/classic/check.js +319 -60
- package/dist/classic/core.js +6 -5
- package/dist/classic/get-base-eyes.js +27 -7
- package/dist/classic/open-eyes.js +47 -57
- package/dist/classic/utils/extract-default-environments.js +73 -0
- package/dist/classic/utils/take-dom-capture.js +2 -1
- package/dist/classic/utils/take-screenshots.js +63 -0
- package/dist/cli/cli.js +99 -3
- package/dist/close-batch.js +8 -7
- package/dist/close.js +32 -4
- package/dist/core.js +43 -9
- package/dist/delete-test.js +9 -7
- package/dist/extract-text.js +9 -5
- package/dist/get-account-info.js +36 -0
- package/dist/get-ec-client.js +3 -2
- package/dist/get-eyes-results.js +29 -3
- package/dist/get-manager-results.js +52 -18
- package/dist/get-typed-eyes.js +5 -6
- package/dist/index.js +3 -3
- package/dist/lang.js +31 -0
- package/dist/locate-text.js +7 -5
- package/dist/locate.js +7 -5
- package/dist/make-manager.js +34 -11
- package/dist/offline/merge-configs.js +42 -0
- package/dist/offline/run-offline-snapshots.js +341 -0
- package/dist/open-eyes.js +192 -48
- package/dist/run-offline-snapshots.js +336 -0
- package/dist/troubleshoot/check-network.js +5 -1
- package/dist/troubleshoot/eyes.js +3 -3
- package/dist/troubleshoot/logs.js +76 -0
- package/dist/troubleshoot/ufg.js +23 -16
- package/dist/ufg/check-and-close.js +109 -174
- package/dist/ufg/check.js +111 -178
- package/dist/ufg/core.js +10 -8
- package/dist/ufg/create-render-target-from-snapshot.js +21 -0
- package/dist/ufg/get-base-eyes.js +40 -12
- package/dist/ufg/get-ufg-client.js +13 -4
- package/dist/ufg/open-eyes.js +33 -57
- package/dist/ufg/take-snapshots.js +92 -0
- package/dist/ufg/utils/extract-default-environment.js +22 -0
- package/dist/ufg/utils/generate-safe-selectors.js +9 -32
- package/dist/ufg/utils/take-dom-snapshot.js +61 -26
- package/dist/ufg/utils/take-dom-snapshots.js +99 -68
- package/dist/ufg/utils/to-generated-selectors.js +67 -0
- package/dist/ufg/utils/to-safe-check-settings.js +69 -0
- package/dist/universal/core-server.js +53 -22
- package/dist/universal/core.js +23 -6
- package/dist/universal/history.js +9 -0
- package/dist/universal/spec-driver.js +46 -50
- package/dist/{ufg/get-nml-client.js → utils/ensure-offline-folder.js} +14 -13
- package/dist/utils/extract-branching-timestamp.js +56 -0
- package/dist/utils/extract-current-commit.js +72 -0
- package/dist/utils/extract-git-info.js +168 -0
- package/dist/utils/extract-start-info.js +100 -0
- package/dist/utils/extract-test-environment.js +70 -0
- package/dist/utils/memory-usage-logging.js +46 -0
- package/dist/utils/populate-eyes-server-settings.js +41 -0
- package/dist/utils/validate-sdk-version.js +89 -0
- package/package.json +3 -3
- package/types/abort.d.ts +13 -0
- package/types/automation/abort.d.ts +16 -0
- package/types/automation/close.d.ts +14 -0
- package/types/automation/extract-text.d.ts +1 -1
- package/types/automation/get-nml-client.d.ts +16 -0
- package/types/automation/get-results.d.ts +11 -0
- package/types/automation/get-viewport-size.d.ts +1 -1
- package/types/automation/locate-text.d.ts +1 -1
- package/types/automation/locate.d.ts +1 -1
- package/types/automation/set-viewport-size.d.ts +1 -1
- package/types/automation/types.d.ts +107 -16
- package/types/automation/utils/report-kobiton.d.ts +12 -0
- package/types/automation/utils/take-screenshot.d.ts +5 -2
- package/types/automation/utils/to-base-check-settings.d.ts +13 -3
- package/types/automation/utils/to-environment-key.d.ts +2 -0
- package/types/automation/utils/uniquify-environments.d.ts +2 -0
- package/types/automation/utils/wait-for-lazy-load.d.ts +4 -8
- package/types/autonomous/core.d.ts +19 -0
- package/types/autonomous/create-render-results.d.ts +10 -0
- package/types/autonomous/create-render-target.d.ts +12 -0
- package/types/autonomous/get-render-results.d.ts +12 -0
- package/types/autonomous/open-eyes.d.ts +13 -0
- package/types/autonomous/start-renders.d.ts +12 -0
- package/types/autonomous/take-snapshots.d.ts +15 -0
- package/types/autonomous/types.d.ts +57 -0
- package/types/check-and-close.d.ts +3 -3
- package/types/check.d.ts +3 -3
- package/types/classic/check-and-close.d.ts +12 -5
- package/types/classic/check.d.ts +6 -3
- package/types/classic/core.d.ts +8 -2
- package/types/classic/get-base-eyes.d.ts +4 -8
- package/types/classic/open-eyes.d.ts +3 -4
- package/types/classic/types.d.ts +4 -5
- package/types/classic/utils/extract-default-environments.d.ts +9 -0
- package/types/classic/utils/take-dom-capture.d.ts +8 -0
- package/types/classic/utils/take-screenshots.d.ts +18 -0
- package/types/close-batch.d.ts +1 -1
- package/types/close.d.ts +3 -2
- package/types/core.d.ts +11 -2
- package/types/delete-test.d.ts +1 -1
- package/types/extract-text.d.ts +1 -1
- package/types/get-account-info.d.ts +11 -0
- package/types/get-ec-client.d.ts +1 -1
- package/types/get-eyes-results.d.ts +1 -1
- package/types/get-manager-results.d.ts +1 -1
- package/types/get-typed-eyes.d.ts +2 -4
- package/types/index.d.ts +2 -1
- package/types/lang.d.ts +32 -0
- package/types/locate-text.d.ts +1 -1
- package/types/locate.d.ts +1 -1
- package/types/make-manager.d.ts +11 -2
- package/types/offline/merge-configs.d.ts +1 -0
- package/types/offline/run-offline-snapshots.d.ts +11 -0
- package/types/open-eyes.d.ts +11 -2
- package/types/run-offline-snapshots.d.ts +6 -0
- package/types/troubleshoot/logs.d.ts +25 -0
- package/types/types.d.ts +19 -11
- package/types/ufg/check-and-close.d.ts +18 -10
- package/types/ufg/check.d.ts +5 -4
- package/types/ufg/core.d.ts +8 -5
- package/types/ufg/create-render-target-from-snapshot.d.ts +8 -0
- package/types/ufg/get-base-eyes.d.ts +4 -9
- package/types/ufg/get-ufg-client.d.ts +6 -3
- package/types/ufg/open-eyes.d.ts +3 -4
- package/types/ufg/take-snapshots.d.ts +17 -0
- package/types/ufg/types.d.ts +39 -39
- package/types/ufg/utils/extract-default-environment.d.ts +5 -0
- package/types/ufg/utils/generate-safe-selectors.d.ts +3 -12
- package/types/ufg/utils/take-dom-snapshot.d.ts +16 -21
- package/types/ufg/utils/take-dom-snapshots.d.ts +14 -10
- package/types/ufg/utils/to-generated-selectors.d.ts +34 -0
- package/types/ufg/utils/to-safe-check-settings.d.ts +22 -0
- package/types/universal/core-server.d.ts +6 -2
- package/types/universal/core.d.ts +6 -2
- package/types/universal/spec-driver.d.ts +6 -5
- package/types/universal/types.d.ts +59 -51
- package/types/utils/ensure-offline-folder.d.ts +1 -0
- package/types/utils/extract-branching-timestamp.d.ts +16 -0
- package/types/utils/extract-current-commit.d.ts +24 -0
- package/types/utils/extract-git-info.d.ts +59 -0
- package/types/utils/extract-start-info.d.ts +29 -0
- package/types/utils/extract-test-environment.d.ts +2 -0
- package/types/utils/memory-usage-logging.d.ts +7 -0
- package/types/utils/populate-eyes-server-settings.d.ts +2 -0
- package/types/utils/validate-sdk-version.d.ts +42 -0
- package/CHANGELOG.md +0 -222
- package/dist/classic/abort.js +0 -22
- package/dist/classic/close.js +0 -22
- package/dist/ufg/abort.js +0 -32
- package/dist/ufg/close.js +0 -37
- package/dist/ufg/get-results.js +0 -27
- package/dist/ufg/utils/take-vhses.js +0 -153
- package/dist/ufg/utils/uniquify-renderers.js +0 -27
- package/dist/utils/extract-ci-provider.js +0 -31
- package/types/classic/abort.d.ts +0 -16
- package/types/classic/close.d.ts +0 -16
- package/types/ufg/abort.d.ts +0 -21
- package/types/ufg/close.d.ts +0 -19
- package/types/ufg/get-nml-client.d.ts +0 -17
- package/types/ufg/get-results.d.ts +0 -16
- package/types/ufg/utils/take-vhses.d.ts +0 -17
- package/types/ufg/utils/uniquify-renderers.d.ts +0 -2
- package/types/utils/extract-ci-provider.d.ts +0 -1
package/types/ufg/core.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Core } from './types';
|
|
2
|
-
import type
|
|
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
|
-
|
|
14
|
+
asyncCache?: AsyncCache;
|
|
15
15
|
concurrency?: number;
|
|
16
|
-
|
|
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>({
|
|
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,
|
|
13
|
-
settings
|
|
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
|
|
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:
|
|
8
|
-
|
|
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>[];
|
package/types/ufg/open-eyes.d.ts
CHANGED
|
@@ -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:
|
|
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
|
-
|
|
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 {};
|
package/types/ufg/types.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
-
|
|
16
|
-
concurrency?: number;
|
|
23
|
+
settings: UFGClientSettings;
|
|
17
24
|
logger?: Logger;
|
|
18
25
|
}): Promise<UFGClient>;
|
|
19
|
-
|
|
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<
|
|
31
|
+
}): Promise<Snapshot[]>;
|
|
24
32
|
openEyes(options: {
|
|
25
33
|
target?: AutomationCore.DriverTarget<TSpec>;
|
|
26
34
|
settings: AutomationCore.OpenSettings;
|
|
27
|
-
|
|
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<
|
|
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<
|
|
51
|
-
getResults(options?: {
|
|
52
|
-
settings?: AutomationCore.GetResultsSettings;
|
|
53
|
-
logger?: Logger;
|
|
54
|
-
}): Promise<TestResult[]>;
|
|
51
|
+
}): Promise<void>;
|
|
55
52
|
}
|
|
56
|
-
export type
|
|
57
|
-
|
|
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
|
-
|
|
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
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
};
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import { type SpecType, type Context, type ElementReference
|
|
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
|
|
4
|
+
elementReferences?: ElementReference<TSpec>[];
|
|
5
5
|
}): Promise<{
|
|
6
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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 {
|
|
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
|
|
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
|
-
|
|
9
|
-
waitBeforeCapture?: number | (() => void);
|
|
10
|
-
layoutBreakpoints?:
|
|
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<
|
|
21
|
-
getIOSDevices(): Promise<Record<
|
|
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
|
|
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
|
|
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<
|
|
10
|
-
spec: (keyof UniversalSpecDriver<
|
|
11
|
-
}): SpecDriver
|
|
10
|
+
socket: ServerSocket<PrimarySpecType, any>;
|
|
11
|
+
spec: (keyof UniversalSpecDriver<PrimarySpecType>)[];
|
|
12
|
+
}): SpecDriver;
|