@applitools/driver 1.2.5 → 1.3.1

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.
@@ -0,0 +1,62 @@
1
+ /// <reference types="node" />
2
+ import type * as types from '@applitools/types';
3
+ import { Context, ContextReference } from './context';
4
+ import { Element } from './element';
5
+ export declare class Driver<TDriver, TContext, TElement, TSelector> {
6
+ private _target;
7
+ private _mainContext;
8
+ private _currentContext;
9
+ private _driverInfo;
10
+ private _logger;
11
+ private _utils;
12
+ protected readonly _spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
13
+ constructor(options: {
14
+ spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
15
+ driver: Driver<TDriver, TContext, TElement, TSelector> | TDriver;
16
+ logger?: any;
17
+ });
18
+ get target(): TDriver;
19
+ get currentContext(): Context<TDriver, TContext, TElement, TSelector>;
20
+ get mainContext(): Context<TDriver, TContext, TElement, TSelector>;
21
+ get features(): {
22
+ shadowSelector?: boolean;
23
+ allCookies?: boolean;
24
+ };
25
+ get deviceName(): string;
26
+ get platformName(): string;
27
+ get platformVersion(): string | number;
28
+ get browserName(): string;
29
+ get browserVersion(): string | number;
30
+ get userAgent(): string;
31
+ get pixelRatio(): number;
32
+ get statusBarHeight(): number;
33
+ get navigationBarHeight(): number;
34
+ get isNative(): boolean;
35
+ get isWeb(): boolean;
36
+ get isMobile(): boolean;
37
+ get isIOS(): boolean;
38
+ get isAndroid(): boolean;
39
+ get isIE(): boolean;
40
+ get isEdgeLegacy(): boolean;
41
+ updateCurrentContext(context: Context<TDriver, TContext, TElement, TSelector>): void;
42
+ init(): Promise<this>;
43
+ refreshContexts(): Promise<Context<TDriver, TContext, TElement, TSelector>>;
44
+ switchTo(context: Context<TDriver, TContext, TElement, TSelector>): Promise<Context<TDriver, TContext, TElement, TSelector>>;
45
+ switchToMainContext(): Promise<Context<TDriver, TContext, TElement, TSelector>>;
46
+ switchToParentContext(elevation?: number): Promise<Context<TDriver, TContext, TElement, TSelector>>;
47
+ switchToChildContext(...references: ContextReference<TDriver, TContext, TElement, TSelector>[]): Promise<Context<TDriver, TContext, TElement, TSelector>>;
48
+ normalizeRegion(region: types.Region): Promise<types.Region>;
49
+ getRegionInViewport(context: Context<TDriver, TContext, TElement, TSelector>, region: types.Region): Promise<types.Region>;
50
+ element(selector: types.Selector<TSelector>): Promise<Element<TDriver, TContext, TElement, TSelector>>;
51
+ elements(selector: types.Selector<TSelector>): Promise<Element<TDriver, TContext, TElement, TSelector>[]>;
52
+ execute(script: ((arg: any) => any) | string, arg?: any): Promise<any>;
53
+ takeScreenshot(): Promise<Buffer | string>;
54
+ getViewportSize(): Promise<types.Size>;
55
+ setViewportSize(size: types.Size): Promise<void>;
56
+ getDisplaySize(): Promise<types.Size>;
57
+ getOrientation(): Promise<'portrait' | 'landscape'>;
58
+ getCookies(): Promise<types.Cookie[]>;
59
+ getTitle(): Promise<string>;
60
+ getUrl(): Promise<string>;
61
+ visit(url: string): Promise<void>;
62
+ }
@@ -0,0 +1,55 @@
1
+ import type * as types from '@applitools/types';
2
+ import type { Context } from './context';
3
+ export declare type ElementState = {
4
+ contentSize?: types.Size;
5
+ scrollOffset?: types.Location;
6
+ transforms?: any;
7
+ };
8
+ export declare class Element<TDriver, TContext, TElement, TSelector> {
9
+ private _target;
10
+ private _context;
11
+ private _selector;
12
+ private _index;
13
+ private _state;
14
+ private _originalOverflow;
15
+ private _touchPadding;
16
+ private _logger;
17
+ private _utils;
18
+ protected readonly _spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
19
+ constructor(options: {
20
+ spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
21
+ element?: TElement | Element<TDriver, TContext, TElement, TSelector>;
22
+ context?: Context<TDriver, TContext, TElement, TSelector>;
23
+ selector?: types.Selector<TSelector>;
24
+ index?: number;
25
+ logger?: any;
26
+ });
27
+ get target(): TElement;
28
+ get selector(): types.Selector<TSelector>;
29
+ get context(): Context<TDriver, TContext, TElement, TSelector>;
30
+ get driver(): import("./driver").Driver<TDriver, TContext, TElement, TSelector>;
31
+ get isRef(): boolean;
32
+ equals(element: Element<TDriver, TContext, TElement, TSelector> | TElement): Promise<boolean>;
33
+ init(context: Context<TDriver, TContext, TElement, TSelector>): Promise<this>;
34
+ getRegion(): Promise<types.Region>;
35
+ getClientRegion(): Promise<types.Region>;
36
+ getContentSize(): Promise<types.Size>;
37
+ isScrollable(): Promise<boolean>;
38
+ isRoot(): Promise<boolean>;
39
+ getTouchPadding(): Promise<number>;
40
+ getAttribute(name: string): Promise<string>;
41
+ setAttribute(name: string, value: string): Promise<void>;
42
+ scrollTo(offset: types.Location): Promise<types.Location>;
43
+ translateTo(offset: types.Location): Promise<types.Location>;
44
+ getScrollOffset(): Promise<types.Location>;
45
+ getTranslateOffset(): Promise<types.Location>;
46
+ getInnerOffset(): Promise<types.Location>;
47
+ click(): Promise<void>;
48
+ preserveState(): Promise<ElementState>;
49
+ restoreState(state?: ElementState): Promise<void>;
50
+ hideScrollbars(): Promise<void>;
51
+ restoreScrollbars(): Promise<void>;
52
+ refresh(freshElement?: TElement): Promise<boolean>;
53
+ withRefresh<TResult>(operation: (...args: any[]) => TResult): Promise<TResult>;
54
+ toJSON(): TElement;
55
+ }
@@ -0,0 +1,3 @@
1
+ export { MockDriver } from './mock-driver';
2
+ export { Driver, Element, Selector } from './spec-driver';
3
+ export * as spec from './spec-driver';
@@ -0,0 +1,35 @@
1
+ export declare class MockDriver {
2
+ constructor(options?: {});
3
+ mockScript(scriptMatcher: any, resultGenerator: any): void;
4
+ mockElement(selector: any, state: any): any;
5
+ mockElements(nodes: any, { parentId, parentContextId, parentRootId }?: {
6
+ parentId?: any;
7
+ parentContextId?: any;
8
+ parentRootId?: any;
9
+ }): void;
10
+ mockSelector(selector: any, element: any): void;
11
+ wrapMethod(name: any, wrapper: any): void;
12
+ unwrapMethod(name: any): void;
13
+ get info(): {
14
+ isMobile: boolean;
15
+ isNative: boolean;
16
+ deviceName: any;
17
+ platformName: any;
18
+ platformVersion: any;
19
+ browserName: any;
20
+ browserVersion: any;
21
+ };
22
+ executeScript(script: any, args?: any[]): Promise<any>;
23
+ findElement(selector: any, rootElement: any): Promise<any>;
24
+ findElements(selector: any, rootElement: any): Promise<any>;
25
+ switchToFrame(reference: any): Promise<this>;
26
+ switchToParentFrame(): Promise<this>;
27
+ getWindowRect(): Promise<any>;
28
+ setWindowRect(rect: any): Promise<void>;
29
+ getUrl(): Promise<any>;
30
+ getTitle(): Promise<any>;
31
+ visit(url: any): Promise<void>;
32
+ takeScreenshot(): Promise<void>;
33
+ toString(): string;
34
+ toJSON(): string;
35
+ }
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import type { Size, DriverInfo } from '@applitools/types';
3
+ export declare type Driver = any;
4
+ export declare type Element = any;
5
+ export declare type Selector = string | {
6
+ using: string;
7
+ value: string;
8
+ };
9
+ export declare function isDriver(driver: any): driver is Driver;
10
+ export declare function isElement(element: any): element is Element;
11
+ export declare function isSelector(selector: any): selector is Selector;
12
+ export declare function transformSelector(selector: Selector | {
13
+ selector: Selector;
14
+ }): Selector;
15
+ export declare function isStaleElementError(): boolean;
16
+ export declare function isEqualElements(_driver: Driver, element1: Element, element2: Element): Promise<boolean>;
17
+ export declare function executeScript(driver: Driver, script: ((arg: any) => any) | string, arg: any): Promise<any>;
18
+ export declare function findElement(driver: Driver, selector: Selector, parent?: Element): Promise<Element>;
19
+ export declare function findElements(driver: Driver, selector: Selector, parent?: Element): Promise<Element[]>;
20
+ export declare function mainContext(driver: Driver): Promise<Driver>;
21
+ export declare function parentContext(driver: Driver): Promise<Driver>;
22
+ export declare function childContext(driver: Driver, element: Element): Promise<Driver>;
23
+ export declare function takeScreenshot(driver: Driver): Promise<Buffer | string>;
24
+ export declare function getDriverInfo(driver: Driver): Promise<DriverInfo>;
25
+ export declare function getWindowSize(driver: Driver): Promise<Size>;
26
+ export declare function setWindowSize(driver: Driver, size: Size): Promise<void>;
27
+ export declare function getUrl(driver: Driver): Promise<string>;
28
+ export declare function getTitle(driver: Driver): Promise<string>;
29
+ export declare function visit(driver: Driver, url: string): Promise<void>;
@@ -0,0 +1,3 @@
1
+ export * from './driver';
2
+ export * from './context';
3
+ export * from './element';
@@ -0,0 +1,12 @@
1
+ declare type PlatformInfo = {
2
+ platformName: string;
3
+ platformVersion?: string;
4
+ };
5
+ declare type BrowserInfo = {
6
+ browserName: string;
7
+ browserVersion?: string;
8
+ };
9
+ export declare function parseUserAgent(userAgent: string): PlatformInfo & BrowserInfo;
10
+ export declare function parsePlatform(userAgent: string): PlatformInfo;
11
+ export declare function parseBrowser(userAgent: string): BrowserInfo;
12
+ export {};
@@ -0,0 +1,11 @@
1
+ import type * as types from '@applitools/types';
2
+ export declare type SpecUtils<_TDriver, TContext, TElement, TSelector> = {
3
+ isSelector(selector: any): selector is types.Selector<TSelector>;
4
+ transformSelector(selector: types.Selector<TSelector>): TSelector;
5
+ splitSelector(selector: types.Selector<TSelector>): types.Selector<TSelector>[];
6
+ findRootElement(context: TContext, selector: types.Selector<TSelector>): Promise<{
7
+ root: TElement;
8
+ selector: types.Selector<TSelector>;
9
+ }>;
10
+ };
11
+ export declare function makeSpecUtils<TDriver, TContext, TElement, TSelector>(spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>): SpecUtils<TDriver, TContext, TElement, TSelector>;
@@ -1,30 +0,0 @@
1
- {
2
- "requires": true,
3
- "lockfileVersion": 1,
4
- "dependencies": {
5
- "@applitools/driver": {
6
- "version": "file:../dry-run.tgz",
7
- "integrity": "sha512-JKhrl6Y6SNt1ar1BnCiFsgPsXQwXQeYx3Dig8043bpNXUJsGaWMMsLwVuYkUz335/rrsRyKZ/lir1w8TvtXrJA==",
8
- "requires": {
9
- "@applitools/snippets": "2.1.7",
10
- "@applitools/types": "1.0.14",
11
- "@applitools/utils": "1.2.3"
12
- }
13
- },
14
- "@applitools/snippets": {
15
- "version": "2.1.7",
16
- "resolved": "https://registry.npmjs.org/@applitools/snippets/-/snippets-2.1.7.tgz",
17
- "integrity": "sha512-Tr4Gj7Qov/oPy+8WI4oVmmubxqpOzr8P3Wjzpl6rA57xKLg6/TiIg5oZNb4+jEmO2ShjNYLaEwRWHl7kPgb4fw=="
18
- },
19
- "@applitools/types": {
20
- "version": "1.0.14",
21
- "resolved": "https://registry.npmjs.org/@applitools/types/-/types-1.0.14.tgz",
22
- "integrity": "sha512-Exfi8EOGGBwpRpaLizXmsUXInXGXNU26qup7AjLJSJLYETwn3Q3W+0aLHBUbdFA87w9fPCQjXJuZxJgqsNpVig=="
23
- },
24
- "@applitools/utils": {
25
- "version": "1.2.3",
26
- "resolved": "https://registry.npmjs.org/@applitools/utils/-/utils-1.2.3.tgz",
27
- "integrity": "sha512-MZXsrzeHTvjFLzpfyKRDUmZWzNxH3gWd3reqYf+1kYimALKB3CO82VDNmkaGJykrRbxEP03Yqha7fHJj9eKslQ=="
28
- }
29
- }
30
- }
Binary file
package/.eslintrc DELETED
@@ -1,36 +0,0 @@
1
- {
2
- "root": true,
3
- "ignorePatterns": [
4
- "node_modules/",
5
- "dist/",
6
- "logs",
7
- "tmp/",
8
- "types/",
9
- "test/generic/",
10
- "*.d.ts"
11
- ],
12
- "env": {
13
- "node": true
14
- },
15
- "parser": "@typescript-eslint/parser",
16
- "parserOptions": {
17
- "ecmaVersion": 2020,
18
- "sourceType": "module"
19
- },
20
- "plugins": ["@typescript-eslint", "prettier", "node"],
21
- "extends": ["plugin:@typescript-eslint/recommended", "prettier"],
22
- "rules": {
23
- "prettier/prettier": ["error", {
24
- "arrowParens": "avoid",
25
- "printWidth": 120
26
- }],
27
- "@typescript-eslint/no-unused-vars": [
28
- "error",
29
- {"varsIgnorePattern": "^_", "args": "all", "argsIgnorePattern": "^_"}
30
- ],
31
- "@typescript-eslint/explicit-module-boundary-types": "off",
32
- "@typescript-eslint/no-explicit-any": "off",
33
- "@typescript-eslint/ban-ts-comment": "off",
34
- "@typescript-eslint/no-var-requires": "off"
35
- }
36
- }