@applitools/driver 1.4.17-beta.2 → 1.5.2
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/CHANGELOG.md +238 -225
- package/LICENSE +25 -25
- package/README.md +449 -449
- package/dist/capabilities.js +58 -58
- package/dist/context.js +499 -493
- package/dist/debug/check-spec-driver.js +167 -167
- package/dist/debug/index.js +13 -13
- package/dist/driver.js +519 -519
- package/dist/element.js +483 -483
- package/dist/fake/index.js +25 -25
- package/dist/fake/mock-driver.js +347 -344
- package/dist/fake/spec-driver.js +108 -108
- package/dist/helper-android.js +68 -68
- package/dist/helper-ios.js +39 -39
- package/dist/index.js +15 -15
- package/dist/spec-utils.js +77 -77
- package/dist/user-agent.js +113 -113
- package/package.json +100 -100
- package/types/capabilities.d.ts +4 -4
- package/types/context.d.ts +76 -76
- package/types/debug/check-spec-driver.d.ts +20 -20
- package/types/debug/index.d.ts +1 -1
- package/types/driver.d.ts +67 -67
- package/types/element.d.ts +56 -56
- package/types/fake/index.d.ts +3 -3
- package/types/fake/mock-driver.d.ts +35 -35
- package/types/fake/spec-driver.d.ts +30 -30
- package/types/helper-android.d.ts +23 -23
- package/types/helper-ios.d.ts +21 -21
- package/types/index.d.ts +3 -3
- package/types/spec-utils.d.ts +13 -13
- package/types/user-agent.d.ts +12 -12
- package/dist/utils.js +0 -82
- package/types/utils.d.ts +0 -11
package/types/driver.d.ts
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import type * as types from '@applitools/types';
|
|
3
|
-
import { Context, ContextReference } from './context';
|
|
4
|
-
import { Element } from './element';
|
|
5
|
-
import { HelperIOS } from './helper-ios';
|
|
6
|
-
import { HelperAndroid } from './helper-android';
|
|
7
|
-
export declare class Driver<TDriver, TContext, TElement, TSelector> {
|
|
8
|
-
private _target;
|
|
9
|
-
private _mainContext;
|
|
10
|
-
private _currentContext;
|
|
11
|
-
private _driverInfo;
|
|
12
|
-
private _logger;
|
|
13
|
-
private _helper?;
|
|
14
|
-
protected readonly _spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
15
|
-
constructor(options: {
|
|
16
|
-
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
17
|
-
driver: Driver<TDriver, TContext, TElement, TSelector> | TDriver;
|
|
18
|
-
logger?: any;
|
|
19
|
-
});
|
|
20
|
-
get target(): TDriver;
|
|
21
|
-
get currentContext(): Context<TDriver, TContext, TElement, TSelector>;
|
|
22
|
-
get mainContext(): Context<TDriver, TContext, TElement, TSelector>;
|
|
23
|
-
get helper(): HelperAndroid<TDriver, TContext, TElement, TSelector> | HelperIOS<TDriver, TContext, TElement, TSelector>;
|
|
24
|
-
get features(): {
|
|
25
|
-
shadowSelector?: boolean;
|
|
26
|
-
allCookies?: boolean;
|
|
27
|
-
};
|
|
28
|
-
get deviceName(): string;
|
|
29
|
-
get platformName(): string;
|
|
30
|
-
get platformVersion(): string | number;
|
|
31
|
-
get browserName(): string;
|
|
32
|
-
get browserVersion(): string | number;
|
|
33
|
-
get userAgent(): string;
|
|
34
|
-
get orientation(): 'portrait' | 'landscape';
|
|
35
|
-
get pixelRatio(): number;
|
|
36
|
-
get viewportScale(): number;
|
|
37
|
-
get statusBarHeight(): number;
|
|
38
|
-
get navigationBarHeight(): number;
|
|
39
|
-
get isNative(): boolean;
|
|
40
|
-
get isWeb(): boolean;
|
|
41
|
-
get isMobile(): boolean;
|
|
42
|
-
get isIOS(): boolean;
|
|
43
|
-
get isAndroid(): boolean;
|
|
44
|
-
get isIE(): boolean;
|
|
45
|
-
get isEdgeLegacy(): boolean;
|
|
46
|
-
updateCurrentContext(context: Context<TDriver, TContext, TElement, TSelector>): void;
|
|
47
|
-
init(): Promise<this>;
|
|
48
|
-
refreshContexts(): Promise<Context<TDriver, TContext, TElement, TSelector>>;
|
|
49
|
-
switchTo(context: Context<TDriver, TContext, TElement, TSelector>): Promise<Context<TDriver, TContext, TElement, TSelector>>;
|
|
50
|
-
switchToMainContext(): Promise<Context<TDriver, TContext, TElement, TSelector>>;
|
|
51
|
-
switchToParentContext(elevation?: number): Promise<Context<TDriver, TContext, TElement, TSelector>>;
|
|
52
|
-
switchToChildContext(...references: ContextReference<TDriver, TContext, TElement, TSelector>[]): Promise<Context<TDriver, TContext, TElement, TSelector>>;
|
|
53
|
-
normalizeRegion(region: types.Region): Promise<types.Region>;
|
|
54
|
-
getRegionInViewport(context: Context<TDriver, TContext, TElement, TSelector>, region: types.Region): Promise<types.Region>;
|
|
55
|
-
element(selector: types.Selector<TSelector>): Promise<Element<TDriver, TContext, TElement, TSelector>>;
|
|
56
|
-
elements(selector: types.Selector<TSelector>): Promise<Element<TDriver, TContext, TElement, TSelector>[]>;
|
|
57
|
-
execute(script: ((arg: any) => any) | string, arg?: any): Promise<any>;
|
|
58
|
-
takeScreenshot(): Promise<Buffer>;
|
|
59
|
-
getViewportSize(): Promise<types.Size>;
|
|
60
|
-
setViewportSize(size: types.Size): Promise<void>;
|
|
61
|
-
getDisplaySize(): Promise<types.Size>;
|
|
62
|
-
getOrientation(): Promise<'portrait' | 'landscape'>;
|
|
63
|
-
getCookies(): Promise<types.Cookie[]>;
|
|
64
|
-
getTitle(): Promise<string>;
|
|
65
|
-
getUrl(): Promise<string>;
|
|
66
|
-
visit(url: string): Promise<void>;
|
|
67
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type * as types from '@applitools/types';
|
|
3
|
+
import { Context, ContextReference } from './context';
|
|
4
|
+
import { Element } from './element';
|
|
5
|
+
import { HelperIOS } from './helper-ios';
|
|
6
|
+
import { HelperAndroid } from './helper-android';
|
|
7
|
+
export declare class Driver<TDriver, TContext, TElement, TSelector> {
|
|
8
|
+
private _target;
|
|
9
|
+
private _mainContext;
|
|
10
|
+
private _currentContext;
|
|
11
|
+
private _driverInfo;
|
|
12
|
+
private _logger;
|
|
13
|
+
private _helper?;
|
|
14
|
+
protected readonly _spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
15
|
+
constructor(options: {
|
|
16
|
+
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
17
|
+
driver: Driver<TDriver, TContext, TElement, TSelector> | TDriver;
|
|
18
|
+
logger?: any;
|
|
19
|
+
});
|
|
20
|
+
get target(): TDriver;
|
|
21
|
+
get currentContext(): Context<TDriver, TContext, TElement, TSelector>;
|
|
22
|
+
get mainContext(): Context<TDriver, TContext, TElement, TSelector>;
|
|
23
|
+
get helper(): HelperAndroid<TDriver, TContext, TElement, TSelector> | HelperIOS<TDriver, TContext, TElement, TSelector>;
|
|
24
|
+
get features(): {
|
|
25
|
+
shadowSelector?: boolean;
|
|
26
|
+
allCookies?: boolean;
|
|
27
|
+
};
|
|
28
|
+
get deviceName(): string;
|
|
29
|
+
get platformName(): string;
|
|
30
|
+
get platformVersion(): string | number;
|
|
31
|
+
get browserName(): string;
|
|
32
|
+
get browserVersion(): string | number;
|
|
33
|
+
get userAgent(): string;
|
|
34
|
+
get orientation(): 'portrait' | 'landscape';
|
|
35
|
+
get pixelRatio(): number;
|
|
36
|
+
get viewportScale(): number;
|
|
37
|
+
get statusBarHeight(): number;
|
|
38
|
+
get navigationBarHeight(): number;
|
|
39
|
+
get isNative(): boolean;
|
|
40
|
+
get isWeb(): boolean;
|
|
41
|
+
get isMobile(): boolean;
|
|
42
|
+
get isIOS(): boolean;
|
|
43
|
+
get isAndroid(): boolean;
|
|
44
|
+
get isIE(): boolean;
|
|
45
|
+
get isEdgeLegacy(): boolean;
|
|
46
|
+
updateCurrentContext(context: Context<TDriver, TContext, TElement, TSelector>): void;
|
|
47
|
+
init(): Promise<this>;
|
|
48
|
+
refreshContexts(): Promise<Context<TDriver, TContext, TElement, TSelector>>;
|
|
49
|
+
switchTo(context: Context<TDriver, TContext, TElement, TSelector>): Promise<Context<TDriver, TContext, TElement, TSelector>>;
|
|
50
|
+
switchToMainContext(): Promise<Context<TDriver, TContext, TElement, TSelector>>;
|
|
51
|
+
switchToParentContext(elevation?: number): Promise<Context<TDriver, TContext, TElement, TSelector>>;
|
|
52
|
+
switchToChildContext(...references: ContextReference<TDriver, TContext, TElement, TSelector>[]): Promise<Context<TDriver, TContext, TElement, TSelector>>;
|
|
53
|
+
normalizeRegion(region: types.Region): Promise<types.Region>;
|
|
54
|
+
getRegionInViewport(context: Context<TDriver, TContext, TElement, TSelector>, region: types.Region): Promise<types.Region>;
|
|
55
|
+
element(selector: types.Selector<TSelector>): Promise<Element<TDriver, TContext, TElement, TSelector>>;
|
|
56
|
+
elements(selector: types.Selector<TSelector>): Promise<Element<TDriver, TContext, TElement, TSelector>[]>;
|
|
57
|
+
execute(script: ((arg: any) => any) | string, arg?: any): Promise<any>;
|
|
58
|
+
takeScreenshot(): Promise<Buffer>;
|
|
59
|
+
getViewportSize(): Promise<types.Size>;
|
|
60
|
+
setViewportSize(size: types.Size): Promise<void>;
|
|
61
|
+
getDisplaySize(): Promise<types.Size>;
|
|
62
|
+
getOrientation(): Promise<'portrait' | 'landscape'>;
|
|
63
|
+
getCookies(): Promise<types.Cookie[]>;
|
|
64
|
+
getTitle(): Promise<string>;
|
|
65
|
+
getUrl(): Promise<string>;
|
|
66
|
+
visit(url: string): Promise<void>;
|
|
67
|
+
}
|
package/types/element.d.ts
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
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
|
-
protected readonly _spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
18
|
-
constructor(options: {
|
|
19
|
-
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
20
|
-
element?: TElement | Element<TDriver, TContext, TElement, TSelector>;
|
|
21
|
-
context?: Context<TDriver, TContext, TElement, TSelector>;
|
|
22
|
-
selector?: types.Selector<TSelector>;
|
|
23
|
-
index?: number;
|
|
24
|
-
logger?: any;
|
|
25
|
-
});
|
|
26
|
-
get target(): TElement;
|
|
27
|
-
get selector(): types.Selector<TSelector>;
|
|
28
|
-
get context(): Context<TDriver, TContext, TElement, TSelector>;
|
|
29
|
-
get driver(): import("./driver").Driver<TDriver, TContext, TElement, TSelector>;
|
|
30
|
-
get isRef(): boolean;
|
|
31
|
-
equals(element: Element<TDriver, TContext, TElement, TSelector> | TElement): Promise<boolean>;
|
|
32
|
-
init(context: Context<TDriver, TContext, TElement, TSelector>): Promise<this>;
|
|
33
|
-
getRegion(): Promise<types.Region>;
|
|
34
|
-
getClientRegion(): Promise<types.Region>;
|
|
35
|
-
getContentSize(): Promise<types.Size>;
|
|
36
|
-
isScrollable(): Promise<boolean>;
|
|
37
|
-
isRoot(): Promise<boolean>;
|
|
38
|
-
getTouchPadding(): Promise<number>;
|
|
39
|
-
getText(): Promise<string>;
|
|
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
|
-
type(value: string): Promise<void>;
|
|
49
|
-
preserveState(): Promise<ElementState>;
|
|
50
|
-
restoreState(state?: ElementState): Promise<void>;
|
|
51
|
-
hideScrollbars(): Promise<void>;
|
|
52
|
-
restoreScrollbars(): Promise<void>;
|
|
53
|
-
refresh(freshElement?: TElement): Promise<boolean>;
|
|
54
|
-
withRefresh<TResult>(operation: (...args: any[]) => TResult): Promise<TResult>;
|
|
55
|
-
toJSON(): TElement;
|
|
56
|
-
}
|
|
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
|
+
protected readonly _spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
18
|
+
constructor(options: {
|
|
19
|
+
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
20
|
+
element?: TElement | Element<TDriver, TContext, TElement, TSelector>;
|
|
21
|
+
context?: Context<TDriver, TContext, TElement, TSelector>;
|
|
22
|
+
selector?: types.Selector<TSelector>;
|
|
23
|
+
index?: number;
|
|
24
|
+
logger?: any;
|
|
25
|
+
});
|
|
26
|
+
get target(): TElement;
|
|
27
|
+
get selector(): types.Selector<TSelector>;
|
|
28
|
+
get context(): Context<TDriver, TContext, TElement, TSelector>;
|
|
29
|
+
get driver(): import("./driver").Driver<TDriver, TContext, TElement, TSelector>;
|
|
30
|
+
get isRef(): boolean;
|
|
31
|
+
equals(element: Element<TDriver, TContext, TElement, TSelector> | TElement): Promise<boolean>;
|
|
32
|
+
init(context: Context<TDriver, TContext, TElement, TSelector>): Promise<this>;
|
|
33
|
+
getRegion(): Promise<types.Region>;
|
|
34
|
+
getClientRegion(): Promise<types.Region>;
|
|
35
|
+
getContentSize(): Promise<types.Size>;
|
|
36
|
+
isScrollable(): Promise<boolean>;
|
|
37
|
+
isRoot(): Promise<boolean>;
|
|
38
|
+
getTouchPadding(): Promise<number>;
|
|
39
|
+
getText(): Promise<string>;
|
|
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
|
+
type(value: string): Promise<void>;
|
|
49
|
+
preserveState(): Promise<ElementState>;
|
|
50
|
+
restoreState(state?: ElementState): Promise<void>;
|
|
51
|
+
hideScrollbars(): Promise<void>;
|
|
52
|
+
restoreScrollbars(): Promise<void>;
|
|
53
|
+
refresh(freshElement?: TElement): Promise<boolean>;
|
|
54
|
+
withRefresh<TResult>(operation: (...args: any[]) => TResult): Promise<TResult>;
|
|
55
|
+
toJSON(): TElement;
|
|
56
|
+
}
|
package/types/fake/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { MockDriver } from './mock-driver';
|
|
2
|
-
export { Driver, Element, Selector } from './spec-driver';
|
|
3
|
-
export * as spec from './spec-driver';
|
|
1
|
+
export { MockDriver } from './mock-driver';
|
|
2
|
+
export { Driver, Element, Selector } from './spec-driver';
|
|
3
|
+
export * as spec from './spec-driver';
|
|
@@ -1,35 +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
|
-
}
|
|
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
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
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 getOrientation(_driver: Driver): Promise<'portrait' | 'landscape'>;
|
|
28
|
-
export declare function getUrl(driver: Driver): Promise<string>;
|
|
29
|
-
export declare function getTitle(driver: Driver): Promise<string>;
|
|
30
|
-
export declare function visit(driver: Driver, url: string): Promise<void>;
|
|
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 getOrientation(_driver: Driver): Promise<'portrait' | 'landscape'>;
|
|
28
|
+
export declare function getUrl(driver: Driver): Promise<string>;
|
|
29
|
+
export declare function getTitle(driver: Driver): Promise<string>;
|
|
30
|
+
export declare function visit(driver: Driver, url: string): Promise<void>;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import type * as types from '@applitools/types';
|
|
2
|
-
import type { Driver } from './driver';
|
|
3
|
-
import type { Element } from './element';
|
|
4
|
-
export declare class HelperAndroid<TDriver, TContext, TElement, TSelector> {
|
|
5
|
-
static make<TDriver, TContext, TElement, TSelector>(options: {
|
|
6
|
-
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
7
|
-
driver: Driver<TDriver, TContext, TElement, TSelector>;
|
|
8
|
-
logger: any;
|
|
9
|
-
}): Promise<HelperAndroid<TDriver, TContext, TElement, TSelector> | null>;
|
|
10
|
-
private readonly _spec;
|
|
11
|
-
private readonly _element;
|
|
12
|
-
private readonly _legacy;
|
|
13
|
-
private _logger;
|
|
14
|
-
constructor(options: {
|
|
15
|
-
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
16
|
-
element: Element<TDriver, TContext, TElement, TSelector>;
|
|
17
|
-
legacy: boolean;
|
|
18
|
-
logger?: any;
|
|
19
|
-
});
|
|
20
|
-
_getElementId(element: Element<TDriver, TContext, TElement, TSelector>): Promise<string>;
|
|
21
|
-
getContentSize(element: Element<TDriver, TContext, TElement, TSelector>): Promise<types.Size>;
|
|
22
|
-
getRegion(element: Element<TDriver, TContext, TElement, TSelector>): Promise<types.Region>;
|
|
23
|
-
}
|
|
1
|
+
import type * as types from '@applitools/types';
|
|
2
|
+
import type { Driver } from './driver';
|
|
3
|
+
import type { Element } from './element';
|
|
4
|
+
export declare class HelperAndroid<TDriver, TContext, TElement, TSelector> {
|
|
5
|
+
static make<TDriver, TContext, TElement, TSelector>(options: {
|
|
6
|
+
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
7
|
+
driver: Driver<TDriver, TContext, TElement, TSelector>;
|
|
8
|
+
logger: any;
|
|
9
|
+
}): Promise<HelperAndroid<TDriver, TContext, TElement, TSelector> | null>;
|
|
10
|
+
private readonly _spec;
|
|
11
|
+
private readonly _element;
|
|
12
|
+
private readonly _legacy;
|
|
13
|
+
private _logger;
|
|
14
|
+
constructor(options: {
|
|
15
|
+
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
16
|
+
element: Element<TDriver, TContext, TElement, TSelector>;
|
|
17
|
+
legacy: boolean;
|
|
18
|
+
logger?: any;
|
|
19
|
+
});
|
|
20
|
+
_getElementId(element: Element<TDriver, TContext, TElement, TSelector>): Promise<string>;
|
|
21
|
+
getContentSize(element: Element<TDriver, TContext, TElement, TSelector>): Promise<types.Size>;
|
|
22
|
+
getRegion(element: Element<TDriver, TContext, TElement, TSelector>): Promise<types.Region>;
|
|
23
|
+
}
|
package/types/helper-ios.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import type * as types from '@applitools/types';
|
|
2
|
-
import type { Driver } from './driver';
|
|
3
|
-
import type { Element } from './element';
|
|
4
|
-
export declare class HelperIOS<TDriver, TContext, TElement, TSelector> {
|
|
5
|
-
static make<TDriver, TContext, TElement, TSelector>(options: {
|
|
6
|
-
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
7
|
-
driver: Driver<TDriver, TContext, TElement, TSelector>;
|
|
8
|
-
logger: any;
|
|
9
|
-
}): Promise<HelperIOS<TDriver, TContext, TElement, TSelector> | null>;
|
|
10
|
-
private readonly _driver;
|
|
11
|
-
private readonly _element;
|
|
12
|
-
private readonly _spec;
|
|
13
|
-
private _logger;
|
|
14
|
-
constructor(options: {
|
|
15
|
-
driver: Driver<TDriver, TContext, TElement, TSelector>;
|
|
16
|
-
element: Element<TDriver, TContext, TElement, TSelector>;
|
|
17
|
-
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
18
|
-
logger?: any;
|
|
19
|
-
});
|
|
20
|
-
getContentSize(_element: Element<TDriver, TContext, TElement, TSelector>): Promise<types.Size>;
|
|
21
|
-
}
|
|
1
|
+
import type * as types from '@applitools/types';
|
|
2
|
+
import type { Driver } from './driver';
|
|
3
|
+
import type { Element } from './element';
|
|
4
|
+
export declare class HelperIOS<TDriver, TContext, TElement, TSelector> {
|
|
5
|
+
static make<TDriver, TContext, TElement, TSelector>(options: {
|
|
6
|
+
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
7
|
+
driver: Driver<TDriver, TContext, TElement, TSelector>;
|
|
8
|
+
logger: any;
|
|
9
|
+
}): Promise<HelperIOS<TDriver, TContext, TElement, TSelector> | null>;
|
|
10
|
+
private readonly _driver;
|
|
11
|
+
private readonly _element;
|
|
12
|
+
private readonly _spec;
|
|
13
|
+
private _logger;
|
|
14
|
+
constructor(options: {
|
|
15
|
+
driver: Driver<TDriver, TContext, TElement, TSelector>;
|
|
16
|
+
element: Element<TDriver, TContext, TElement, TSelector>;
|
|
17
|
+
spec: types.SpecDriver<TDriver, TContext, TElement, TSelector>;
|
|
18
|
+
logger?: any;
|
|
19
|
+
});
|
|
20
|
+
getContentSize(_element: Element<TDriver, TContext, TElement, TSelector>): Promise<types.Size>;
|
|
21
|
+
}
|
package/types/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './driver';
|
|
2
|
-
export * from './context';
|
|
3
|
-
export * from './element';
|
|
1
|
+
export * from './driver';
|
|
2
|
+
export * from './context';
|
|
3
|
+
export * from './element';
|
package/types/spec-utils.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type * as types from '@applitools/types';
|
|
2
|
-
export declare function isCommonSelector<TSelector>(spec: Pick<types.SpecDriver<unknown, unknown, unknown, TSelector>, 'isSelector'>, selector: any): selector is types.CommonSelector<TSelector>;
|
|
3
|
-
export declare function isSelector<TSelector>(spec: Pick<types.SpecDriver<unknown, unknown, unknown, TSelector>, 'isSelector'>, selector: any): selector is types.Selector<TSelector>;
|
|
4
|
-
export declare function transformSelector<TSelector>(spec: Pick<types.SpecDriver<unknown, unknown, unknown, TSelector>, 'isSelector' | 'transformSelector'>, selector: types.Selector<TSelector>, environment?: {
|
|
5
|
-
isWeb?: boolean;
|
|
6
|
-
isNative?: boolean;
|
|
7
|
-
isIOS?: boolean;
|
|
8
|
-
isAndroid?: boolean;
|
|
9
|
-
}): TSelector;
|
|
10
|
-
export declare function splitSelector<TSelector>(spec: Pick<types.SpecDriver<unknown, unknown, unknown, TSelector>, 'isSelector'>, selector: types.Selector<TSelector>): {
|
|
11
|
-
contextSelectors: types.Selector<TSelector>[];
|
|
12
|
-
elementSelector: types.Selector<TSelector>;
|
|
13
|
-
};
|
|
1
|
+
import type * as types from '@applitools/types';
|
|
2
|
+
export declare function isCommonSelector<TSelector>(spec: Pick<types.SpecDriver<unknown, unknown, unknown, TSelector>, 'isSelector'>, selector: any): selector is types.CommonSelector<TSelector>;
|
|
3
|
+
export declare function isSelector<TSelector>(spec: Pick<types.SpecDriver<unknown, unknown, unknown, TSelector>, 'isSelector'>, selector: any): selector is types.Selector<TSelector>;
|
|
4
|
+
export declare function transformSelector<TSelector>(spec: Pick<types.SpecDriver<unknown, unknown, unknown, TSelector>, 'isSelector' | 'transformSelector'>, selector: types.Selector<TSelector>, environment?: {
|
|
5
|
+
isWeb?: boolean;
|
|
6
|
+
isNative?: boolean;
|
|
7
|
+
isIOS?: boolean;
|
|
8
|
+
isAndroid?: boolean;
|
|
9
|
+
}): TSelector;
|
|
10
|
+
export declare function splitSelector<TSelector>(spec: Pick<types.SpecDriver<unknown, unknown, unknown, TSelector>, 'isSelector'>, selector: types.Selector<TSelector>): {
|
|
11
|
+
contextSelectors: types.Selector<TSelector>[];
|
|
12
|
+
elementSelector: types.Selector<TSelector>;
|
|
13
|
+
};
|
package/types/user-agent.d.ts
CHANGED
|
@@ -1,12 +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 {};
|
|
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 {};
|
package/dist/utils.js
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.makeSpecUtils = void 0;
|
|
23
|
-
const utils = __importStar(require("@applitools/utils"));
|
|
24
|
-
const snippets = require('@applitools/snippets');
|
|
25
|
-
function makeSpecUtils(spec) {
|
|
26
|
-
return { isSelector, transformSelector, splitSelector, findRootElement };
|
|
27
|
-
function isSelector(selector) {
|
|
28
|
-
return (spec.isSelector(selector) ||
|
|
29
|
-
utils.types.isString(selector) ||
|
|
30
|
-
(utils.types.isPlainObject(selector) &&
|
|
31
|
-
utils.types.has(selector, 'selector') &&
|
|
32
|
-
(utils.types.isString(selector.selector) || spec.isSelector(selector.selector))));
|
|
33
|
-
}
|
|
34
|
-
function transformSelector(selector) {
|
|
35
|
-
var _a, _b;
|
|
36
|
-
return (_b = (_a = spec.transformSelector) === null || _a === void 0 ? void 0 : _a.call(spec, selector)) !== null && _b !== void 0 ? _b : selector;
|
|
37
|
-
}
|
|
38
|
-
function splitSelector(selector) {
|
|
39
|
-
let current = selector;
|
|
40
|
-
let active = {};
|
|
41
|
-
const path = [active];
|
|
42
|
-
while (utils.types.has(current, 'selector') &&
|
|
43
|
-
(utils.types.has(current, 'frame') || utils.types.has(current, 'shadow'))) {
|
|
44
|
-
active.selector = current.selector;
|
|
45
|
-
if (current.type)
|
|
46
|
-
active.type = current.type;
|
|
47
|
-
if (current.frame) {
|
|
48
|
-
active = {};
|
|
49
|
-
path.push(active);
|
|
50
|
-
current = current.frame;
|
|
51
|
-
}
|
|
52
|
-
else if (current.shadow) {
|
|
53
|
-
active = active.shadow = {};
|
|
54
|
-
current = current.shadow;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (spec.isSelector(current) || utils.types.isString(current)) {
|
|
58
|
-
active.selector = current;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
active.selector = current.selector;
|
|
62
|
-
if (current.type)
|
|
63
|
-
active.type = current.type;
|
|
64
|
-
}
|
|
65
|
-
return path;
|
|
66
|
-
}
|
|
67
|
-
async function findRootElement(context, selector) {
|
|
68
|
-
let root = null;
|
|
69
|
-
let currentSelector = selector;
|
|
70
|
-
while (utils.types.has(currentSelector, ['selector', 'shadow']) && isSelector(currentSelector.shadow)) {
|
|
71
|
-
const element = await spec.findElement(context, transformSelector(currentSelector), root);
|
|
72
|
-
if (!element)
|
|
73
|
-
break;
|
|
74
|
-
root = await spec.executeScript(context, snippets.getShadowRoot, [element]);
|
|
75
|
-
if (!root)
|
|
76
|
-
break;
|
|
77
|
-
currentSelector = currentSelector.shadow;
|
|
78
|
-
}
|
|
79
|
-
return { root, selector: currentSelector };
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
exports.makeSpecUtils = makeSpecUtils;
|
package/types/utils.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
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>;
|