@appium/fake-driver 5.2.0 → 5.2.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/LICENSE +1 -1
- package/build/lib/commands/alert.d.ts +12 -40
- package/build/lib/commands/alert.d.ts.map +1 -1
- package/build/lib/commands/alert.js +3 -23
- package/build/lib/commands/alert.js.map +1 -1
- package/build/lib/commands/contexts.d.ts +12 -42
- package/build/lib/commands/contexts.d.ts.map +1 -1
- package/build/lib/commands/contexts.js +8 -28
- package/build/lib/commands/contexts.js.map +1 -1
- package/build/lib/commands/element.d.ts +25 -74
- package/build/lib/commands/element.d.ts.map +1 -1
- package/build/lib/commands/element.js +24 -76
- package/build/lib/commands/element.js.map +1 -1
- package/build/lib/commands/find.d.ts +16 -44
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js +21 -45
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/general.d.ts +25 -88
- package/build/lib/commands/general.d.ts.map +1 -1
- package/build/lib/commands/general.js +3 -61
- package/build/lib/commands/general.js.map +1 -1
- package/build/lib/commands/index.d.ts +13 -5
- package/build/lib/commands/index.d.ts.map +1 -1
- package/build/lib/commands/index.js +13 -14
- package/build/lib/commands/index.js.map +1 -1
- package/build/lib/commands/mixin.d.ts +11 -0
- package/build/lib/commands/mixin.d.ts.map +1 -0
- package/build/lib/commands/mixin.js +17 -0
- package/build/lib/commands/mixin.js.map +1 -0
- package/build/lib/driver.d.ts +37 -111
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +11 -73
- package/build/lib/driver.js.map +1 -1
- package/build/lib/fake-app.d.ts +9 -7
- package/build/lib/fake-app.d.ts.map +1 -1
- package/build/lib/fake-app.js +2 -0
- package/build/lib/fake-app.js.map +1 -1
- package/build/lib/fake-element.d.ts +12 -4
- package/build/lib/fake-element.d.ts.map +1 -1
- package/build/lib/fake-element.js +11 -4
- package/build/lib/fake-element.js.map +1 -1
- package/build/lib/scripts/fake-error.d.ts +1 -0
- package/build/lib/scripts/fake-error.js +11 -1
- package/build/lib/scripts/fake-error.js.map +1 -1
- package/build/lib/scripts/fake-stdin.d.ts +2 -0
- package/build/lib/scripts/fake-stdin.d.ts.map +1 -0
- package/build/lib/scripts/fake-stdin.js +13 -0
- package/build/lib/scripts/fake-stdin.js.map +1 -0
- package/lib/commands/alert.ts +70 -0
- package/lib/commands/{contexts.js → contexts.ts} +26 -34
- package/lib/commands/element.ts +138 -0
- package/lib/commands/find.ts +137 -0
- package/lib/commands/general.ts +115 -0
- package/lib/commands/{index.js → index.ts} +14 -5
- package/lib/commands/mixin.ts +13 -0
- package/lib/driver.js +41 -78
- package/lib/fake-app.js +3 -3
- package/lib/fake-element.js +21 -6
- package/lib/scripts/fake-error.js +8 -1
- package/lib/scripts/fake-stdin.js +9 -0
- package/package.json +4 -3
- package/lib/commands/alert.js +0 -73
- package/lib/commands/element.js +0 -161
- package/lib/commands/find.js +0 -118
- package/lib/commands/general.js +0 -147
|
@@ -1,46 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @template {boolean} Mult
|
|
14
|
-
* @template [Ctx=any]
|
|
15
|
-
* @param {string} strategy
|
|
16
|
-
* @param {string} selector
|
|
17
|
-
* @param {Mult} mult
|
|
18
|
-
* @param {Ctx} [context]
|
|
19
|
-
* @returns {Promise<Mult extends true ? Element[] : Element>}
|
|
20
|
-
* @this {FakeDriver}
|
|
21
|
-
*/
|
|
22
|
-
function findElOrEls<Mult extends boolean, Ctx = any>(this: import("../driver").FakeDriver, strategy: string, selector: string, mult: Mult, context?: Ctx | undefined): Promise<Mult extends true ? import("@appium/types").Element<string>[] : import("@appium/types").Element<string>>;
|
|
23
|
-
/**
|
|
24
|
-
* This should override whatever's in ExternalDriver
|
|
25
|
-
* @param {string} strategy Strategy
|
|
26
|
-
* @param {string} selector Selector
|
|
27
|
-
* @this {FakeDriver}
|
|
28
|
-
*/
|
|
29
|
-
function findElement(this: import("../driver").FakeDriver, strategy: string, selector: string): Promise<import("@appium/types").Element<string>>;
|
|
30
|
-
/**
|
|
31
|
-
* @this {FakeDriver}
|
|
32
|
-
*/
|
|
33
|
-
function findElements(this: import("../driver").FakeDriver, strategy: any, selector: any): Promise<import("@appium/types").Element<string>[]>;
|
|
34
|
-
/**
|
|
35
|
-
* @this {FakeDriver}
|
|
36
|
-
*/
|
|
37
|
-
function findElementFromElement(this: import("../driver").FakeDriver, strategy: any, selector: any, elementId: any): Promise<import("@appium/types").Element<string>>;
|
|
38
|
-
/**
|
|
39
|
-
* @this {FakeDriver}
|
|
40
|
-
*/
|
|
41
|
-
function findElementsFromElement(this: import("../driver").FakeDriver, strategy: any, selector: any, elementId: any): Promise<import("@appium/types").Element<string>[]>;
|
|
1
|
+
import { Element } from '@appium/types';
|
|
2
|
+
import { FakeElement } from '../fake-element';
|
|
3
|
+
import { FakeDriver } from '../driver';
|
|
4
|
+
interface FakeDriverFindMixin {
|
|
5
|
+
getExistingElementForNode(node: FakeElement): string | null;
|
|
6
|
+
wrapNewEl(obj: FakeElement): Element;
|
|
7
|
+
findElOrEls<Many extends boolean, Ctx = any>(this: FakeDriver, strategy: string, selector: string, many: Many, context?: Ctx): Promise<Many extends true ? Element[] : Element>;
|
|
8
|
+
findElement(strategy: string, selector: string): Promise<Element>;
|
|
9
|
+
findElements(strategy: string, selector: string): Promise<Element[]>;
|
|
10
|
+
findElementFromElement(elementId: string, strategy: string, selector: string): Promise<Element>;
|
|
11
|
+
findElementsFromElement(elementId: string, strategy: string, selector: string): Promise<Element[]>;
|
|
42
12
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
13
|
+
declare module '../driver' {
|
|
14
|
+
interface FakeDriver extends FakeDriverFindMixin {
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
46
18
|
//# sourceMappingURL=find.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAKrC,UAAU,mBAAmB;IAC3B,yBAAyB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5D,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC;IAErC,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,GAAG,GAAG,GAAG,EACzC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,IAAI,SAAS,IAAI,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;IACpD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChG,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACvB;AAED,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,UAAW,SAAQ,mBAAmB;KAAG;CACpD"}
|
|
@@ -6,44 +6,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const lodash_1 = __importDefault(require("lodash"));
|
|
7
7
|
const driver_1 = require("appium/driver");
|
|
8
8
|
const fake_element_1 = require("../fake-element");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
const support_1 = require("@appium/support");
|
|
10
|
+
const mixin_1 = require("./mixin");
|
|
11
|
+
const { W3C_WEB_ELEMENT_IDENTIFIER } = support_1.util;
|
|
12
|
+
const FindMixin = {
|
|
13
13
|
getExistingElementForNode(node) {
|
|
14
|
-
for (
|
|
14
|
+
for (const [id, el] of lodash_1.default.toPairs(this.elMap)) {
|
|
15
15
|
if (el.node === node) {
|
|
16
16
|
return id;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
return null;
|
|
20
20
|
},
|
|
21
|
-
/**
|
|
22
|
-
* @this {FakeDriver}
|
|
23
|
-
*/
|
|
24
21
|
wrapNewEl(obj) {
|
|
25
22
|
// first check and see if we already have a ref to this element
|
|
26
|
-
|
|
23
|
+
const existingElId = this.getExistingElementForNode(obj);
|
|
27
24
|
if (existingElId) {
|
|
28
|
-
return { ELEMENT: existingElId };
|
|
25
|
+
return { ELEMENT: existingElId, [W3C_WEB_ELEMENT_IDENTIFIER]: existingElId };
|
|
29
26
|
}
|
|
30
27
|
// otherwise add the element to the map
|
|
31
28
|
this.maxElId++;
|
|
32
|
-
this.
|
|
33
|
-
|
|
29
|
+
const maxElId = this.maxElId.toString();
|
|
30
|
+
this.elMap[maxElId] = new fake_element_1.FakeElement(obj, this.appModel);
|
|
31
|
+
return { ELEMENT: maxElId, [W3C_WEB_ELEMENT_IDENTIFIER]: maxElId };
|
|
34
32
|
},
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
* @template [Ctx=any]
|
|
38
|
-
* @param {string} strategy
|
|
39
|
-
* @param {string} selector
|
|
40
|
-
* @param {Mult} mult
|
|
41
|
-
* @param {Ctx} [context]
|
|
42
|
-
* @returns {Promise<Mult extends true ? Element[] : Element>}
|
|
43
|
-
* @this {FakeDriver}
|
|
44
|
-
*/
|
|
45
|
-
async findElOrEls(strategy, selector, mult, context) {
|
|
46
|
-
let qMap = {
|
|
33
|
+
async findElOrEls(strategy, selector, many, context) {
|
|
34
|
+
const qMap = {
|
|
47
35
|
xpath: 'xpathQuery',
|
|
48
36
|
id: 'idQuery',
|
|
49
37
|
'accessibility id': 'idQuery',
|
|
@@ -58,12 +46,12 @@ exports.default = {
|
|
|
58
46
|
if (selector === 'badsel') {
|
|
59
47
|
throw new driver_1.errors.InvalidSelectorError();
|
|
60
48
|
}
|
|
61
|
-
|
|
49
|
+
const els = this.appModel[qMap[strategy]](selector, context);
|
|
62
50
|
let retval;
|
|
63
51
|
if (els.length) {
|
|
64
|
-
if (
|
|
65
|
-
|
|
66
|
-
for (
|
|
52
|
+
if (many) {
|
|
53
|
+
const allEls = [];
|
|
54
|
+
for (const el of els) {
|
|
67
55
|
allEls.push(this.wrapNewEl(el));
|
|
68
56
|
}
|
|
69
57
|
retval = allEls;
|
|
@@ -72,13 +60,13 @@ exports.default = {
|
|
|
72
60
|
retval = this.wrapNewEl(els[0]);
|
|
73
61
|
}
|
|
74
62
|
}
|
|
75
|
-
else if (
|
|
63
|
+
else if (many) {
|
|
76
64
|
retval = [];
|
|
77
65
|
}
|
|
78
66
|
else {
|
|
79
67
|
throw new driver_1.errors.NoSuchElementError();
|
|
80
68
|
}
|
|
81
|
-
return
|
|
69
|
+
return retval;
|
|
82
70
|
},
|
|
83
71
|
/**
|
|
84
72
|
* This should override whatever's in ExternalDriver
|
|
@@ -89,29 +77,17 @@ exports.default = {
|
|
|
89
77
|
async findElement(strategy, selector) {
|
|
90
78
|
return this.findElOrEls(strategy, selector, false);
|
|
91
79
|
},
|
|
92
|
-
/**
|
|
93
|
-
* @this {FakeDriver}
|
|
94
|
-
*/
|
|
95
80
|
async findElements(strategy, selector) {
|
|
96
81
|
return this.findElOrEls(strategy, selector, true);
|
|
97
82
|
},
|
|
98
|
-
/**
|
|
99
|
-
* @this {FakeDriver}
|
|
100
|
-
*/
|
|
101
83
|
async findElementFromElement(strategy, selector, elementId) {
|
|
102
|
-
|
|
84
|
+
const el = this.getElement(elementId);
|
|
103
85
|
return this.findElOrEls(strategy, selector, false, el.xmlFragment);
|
|
104
86
|
},
|
|
105
|
-
/**
|
|
106
|
-
* @this {FakeDriver}
|
|
107
|
-
*/
|
|
108
87
|
async findElementsFromElement(strategy, selector, elementId) {
|
|
109
|
-
|
|
88
|
+
const el = this.getElement(elementId);
|
|
110
89
|
return this.findElOrEls(strategy, selector, true, el.xmlFragment);
|
|
111
90
|
},
|
|
112
91
|
};
|
|
113
|
-
|
|
114
|
-
* @typedef {import('@appium/types').Element} Element
|
|
115
|
-
* @typedef {import('../driver').FakeDriver} FakeDriver
|
|
116
|
-
*/
|
|
92
|
+
(0, mixin_1.mixin)(FindMixin);
|
|
117
93
|
//# sourceMappingURL=find.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,90 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
function getPageSource(this: import("../driver").FakeDriver): Promise<string>;
|
|
22
|
-
/**
|
|
23
|
-
* @this {FakeDriver}
|
|
24
|
-
*/
|
|
25
|
-
function getOrientation(this: import("../driver").FakeDriver): Promise<string>;
|
|
26
|
-
/**
|
|
27
|
-
*
|
|
28
|
-
* @param {import('../types').FakeDriverCaps['orientation']} o
|
|
29
|
-
* @this {FakeDriver}
|
|
30
|
-
*/
|
|
31
|
-
function setOrientation(this: import("../driver").FakeDriver, o: any): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* @this {FakeDriver}
|
|
34
|
-
*/
|
|
35
|
-
function getScreenshot(this: import("../driver").FakeDriver): Promise<string>;
|
|
36
|
-
/**
|
|
37
|
-
* @this {FakeDriver}
|
|
38
|
-
*/
|
|
39
|
-
function getWindowSize(this: import("../driver").FakeDriver): Promise<{
|
|
40
|
-
width: number;
|
|
41
|
-
height: number;
|
|
42
|
-
}>;
|
|
43
|
-
/**
|
|
44
|
-
* @this {FakeDriver}
|
|
45
|
-
*/
|
|
46
|
-
function getWindowRect(this: import("../driver").FakeDriver): Promise<{
|
|
47
|
-
width: number;
|
|
48
|
-
height: number;
|
|
49
|
-
x: number;
|
|
50
|
-
y: number;
|
|
51
|
-
}>;
|
|
52
|
-
/**
|
|
53
|
-
*
|
|
54
|
-
* @this {FakeDriver}
|
|
55
|
-
*/
|
|
56
|
-
function performActions(this: import("../driver").FakeDriver, actions: any): Promise<void>;
|
|
57
|
-
/**
|
|
58
|
-
* @this {FakeDriver}
|
|
59
|
-
*/
|
|
60
|
-
function releaseActions(this: import("../driver").FakeDriver): Promise<void>;
|
|
61
|
-
/**
|
|
62
|
-
* @this {FakeDriver}
|
|
63
|
-
*/
|
|
64
|
-
function getLog(this: import("../driver").FakeDriver, type: any): Promise<any[]>;
|
|
65
|
-
/**
|
|
66
|
-
* @this {FakeDriver}
|
|
67
|
-
*/
|
|
68
|
-
function mobileShake(this: import("../driver").FakeDriver): Promise<void>;
|
|
69
|
-
/**
|
|
70
|
-
* @this {FakeDriver}
|
|
71
|
-
*/
|
|
72
|
-
function doubleClick(this: import("../driver").FakeDriver): Promise<void>;
|
|
73
|
-
/**
|
|
74
|
-
* @this {FakeDriver}
|
|
75
|
-
*/
|
|
76
|
-
function execute(this: import("../driver").FakeDriver, script: any, args: any): Promise<any>;
|
|
77
|
-
/**
|
|
78
|
-
* Add two or maybe even three numbers
|
|
79
|
-
*
|
|
80
|
-
* @param {number} num1
|
|
81
|
-
* @param {number} num2
|
|
82
|
-
* @param {number} [num3]
|
|
83
|
-
* @returns {Promise<number>}
|
|
84
|
-
* @this {FakeDriver}
|
|
85
|
-
*/
|
|
86
|
-
function fakeAddition(this: import("../driver").FakeDriver, num1: number, num2: number, num3?: number | undefined): Promise<number>;
|
|
1
|
+
import { ActionSequence, Location, Rect, Size } from '@appium/types';
|
|
2
|
+
import { Orientation } from '../driver';
|
|
3
|
+
interface FakeDriverGeneralMixin {
|
|
4
|
+
title(): Promise<string>;
|
|
5
|
+
keys(value: string | string[]): Promise<void>;
|
|
6
|
+
setGeoLocation(location: Location): Promise<void>;
|
|
7
|
+
getGeoLocation(): Promise<Location>;
|
|
8
|
+
getPageSource(): Promise<string>;
|
|
9
|
+
getOrientation(): Promise<string>;
|
|
10
|
+
setOrientation(orientation: Orientation): Promise<void>;
|
|
11
|
+
getScreenshot(): Promise<string>;
|
|
12
|
+
getWindowSize(): Promise<Size>;
|
|
13
|
+
getWindowRect(): Promise<Rect>;
|
|
14
|
+
performActions(actions: ActionSequence[]): Promise<void>;
|
|
15
|
+
releaseActions(): Promise<void>;
|
|
16
|
+
mobileShake(): Promise<void>;
|
|
17
|
+
doubleClick(): Promise<void>;
|
|
18
|
+
execute(script: string, args: any[]): Promise<any>;
|
|
19
|
+
fakeAddition(a: number, b: number, c?: number): Promise<number>;
|
|
20
|
+
getLog(type: string): Promise<unknown[]>;
|
|
87
21
|
}
|
|
88
|
-
|
|
89
|
-
|
|
22
|
+
declare module '../driver' {
|
|
23
|
+
interface FakeDriver extends FakeDriverGeneralMixin {
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
90
27
|
//# sourceMappingURL=general.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../lib/commands/general.
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAa,WAAW,EAAC,MAAM,WAAW,CAAC;AAKlD,UAAU,sBAAsB;IAC9B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAC1C;AAED,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,UAAW,SAAQ,sBAAsB;KAAG;CACvD"}
|
|
@@ -1,93 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const driver_1 = require("appium/driver");
|
|
4
|
+
const mixin_1 = require("./mixin");
|
|
4
5
|
const ORIENTATIONS = new Set(['LANDSCAPE', 'PORTRAIT']);
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @this {FakeDriver}
|
|
8
|
-
*/
|
|
6
|
+
const GeneralMixin = {
|
|
9
7
|
async title() {
|
|
10
8
|
this.assertWebviewContext();
|
|
11
9
|
return this.appModel.title;
|
|
12
10
|
},
|
|
13
|
-
/**
|
|
14
|
-
* @this {FakeDriver}
|
|
15
|
-
*/
|
|
16
11
|
async keys(value) {
|
|
17
12
|
if (!this.focusedElId) {
|
|
18
13
|
throw new driver_1.errors.InvalidElementStateError();
|
|
19
14
|
}
|
|
20
15
|
await this.setValue(value, this.focusedElId);
|
|
21
16
|
},
|
|
22
|
-
/**
|
|
23
|
-
* @this {FakeDriver}
|
|
24
|
-
*/
|
|
25
17
|
async setGeoLocation(location) {
|
|
26
18
|
// TODO test this adequately once WD bug is fixed
|
|
27
19
|
this.appModel.lat = location.latitude;
|
|
28
20
|
this.appModel.long = location.longitude;
|
|
29
21
|
},
|
|
30
|
-
/**
|
|
31
|
-
* @this {FakeDriver}
|
|
32
|
-
*/
|
|
33
22
|
async getGeoLocation() {
|
|
34
23
|
return this.appModel.currentGeoLocation;
|
|
35
24
|
},
|
|
36
|
-
/**
|
|
37
|
-
* @this {FakeDriver}
|
|
38
|
-
*/
|
|
39
25
|
async getPageSource() {
|
|
40
26
|
return this.appModel.rawXml;
|
|
41
27
|
},
|
|
42
|
-
/**
|
|
43
|
-
* @this {FakeDriver}
|
|
44
|
-
*/
|
|
45
28
|
async getOrientation() {
|
|
46
29
|
return this.appModel.orientation;
|
|
47
30
|
},
|
|
48
|
-
/**
|
|
49
|
-
*
|
|
50
|
-
* @param {import('../types').FakeDriverCaps['orientation']} o
|
|
51
|
-
* @this {FakeDriver}
|
|
52
|
-
*/
|
|
53
31
|
async setOrientation(o) {
|
|
54
32
|
if (!ORIENTATIONS.has(o)) {
|
|
55
33
|
throw new driver_1.errors.UnknownError('Orientation must be LANDSCAPE or PORTRAIT');
|
|
56
34
|
}
|
|
57
35
|
this.appModel.orientation = o;
|
|
58
36
|
},
|
|
59
|
-
/**
|
|
60
|
-
* @this {FakeDriver}
|
|
61
|
-
*/
|
|
62
37
|
async getScreenshot() {
|
|
63
38
|
return this.appModel.getScreenshot();
|
|
64
39
|
},
|
|
65
|
-
/**
|
|
66
|
-
* @this {FakeDriver}
|
|
67
|
-
*/
|
|
68
40
|
async getWindowSize() {
|
|
69
41
|
return { width: this.appModel.width, height: this.appModel.height };
|
|
70
42
|
},
|
|
71
|
-
/**
|
|
72
|
-
* @this {FakeDriver}
|
|
73
|
-
*/
|
|
74
43
|
async getWindowRect() {
|
|
75
44
|
return { width: this.appModel.width, height: this.appModel.height, x: 0, y: 0 };
|
|
76
45
|
},
|
|
77
|
-
/**
|
|
78
|
-
*
|
|
79
|
-
* @this {FakeDriver}
|
|
80
|
-
*/
|
|
81
46
|
async performActions(actions) {
|
|
82
47
|
this.appModel.actionLog.push(actions);
|
|
83
48
|
},
|
|
84
|
-
/**
|
|
85
|
-
* @this {FakeDriver}
|
|
86
|
-
*/
|
|
87
49
|
async releaseActions() { },
|
|
88
|
-
/**
|
|
89
|
-
* @this {FakeDriver}
|
|
90
|
-
*/
|
|
91
50
|
async getLog(type) {
|
|
92
51
|
switch (type) {
|
|
93
52
|
case 'actions':
|
|
@@ -96,36 +55,19 @@ exports.default = {
|
|
|
96
55
|
throw new Error(`Don't understand log type '${type}'`);
|
|
97
56
|
}
|
|
98
57
|
},
|
|
99
|
-
/**
|
|
100
|
-
* @this {FakeDriver}
|
|
101
|
-
*/
|
|
102
58
|
async mobileShake() {
|
|
103
59
|
this.shook = true;
|
|
104
60
|
},
|
|
105
|
-
/**
|
|
106
|
-
* @this {FakeDriver}
|
|
107
|
-
*/
|
|
108
61
|
async doubleClick() { },
|
|
109
|
-
/**
|
|
110
|
-
* @this {FakeDriver}
|
|
111
|
-
*/
|
|
112
62
|
async execute(script, args) {
|
|
113
63
|
return await this.executeMethod(script, args);
|
|
114
64
|
},
|
|
115
65
|
/**
|
|
116
66
|
* Add two or maybe even three numbers
|
|
117
|
-
*
|
|
118
|
-
* @param {number} num1
|
|
119
|
-
* @param {number} num2
|
|
120
|
-
* @param {number} [num3]
|
|
121
|
-
* @returns {Promise<number>}
|
|
122
|
-
* @this {FakeDriver}
|
|
123
67
|
*/
|
|
124
68
|
async fakeAddition(num1, num2, num3 = 0) {
|
|
125
69
|
return num1 + num2 + (num3 ?? 0);
|
|
126
70
|
},
|
|
127
71
|
};
|
|
128
|
-
|
|
129
|
-
* @typedef {import('../driver').FakeDriver} FakeDriver
|
|
130
|
-
*/
|
|
72
|
+
(0, mixin_1.mixin)(GeneralMixin);
|
|
131
73
|
//# sourceMappingURL=general.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/commands/general.
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Export all of the "stuff" from these mixin files. The mixins themselves are not exported,
|
|
3
|
+
* but any types/interfaces that they export (e.g., options objects for some command) are exported.
|
|
4
|
+
*
|
|
5
|
+
* Mixins must not use `Object.assign()` and are expected to use the `mixin` function in the sibling
|
|
6
|
+
* `mixin` module.
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import './alert';
|
|
10
|
+
import './contexts';
|
|
11
|
+
import './element';
|
|
12
|
+
import './find';
|
|
13
|
+
import './general';
|
|
6
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,SAAS,CAAC;AACjB,OAAO,YAAY,CAAC;AACpB,OAAO,WAAW,CAAC;AACnB,OAAO,QAAQ,CAAC;AAChB,OAAO,WAAW,CAAC"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Export all of the "stuff" from these mixin files. The mixins themselves are not exported,
|
|
4
|
+
* but any types/interfaces that they export (e.g., options objects for some command) are exported.
|
|
5
|
+
*
|
|
6
|
+
* Mixins must not use `Object.assign()` and are expected to use the `mixin` function in the sibling
|
|
7
|
+
* `mixin` module.
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
5
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var element_1 = require("./element");
|
|
12
|
-
Object.defineProperty(exports, "element", { enumerable: true, get: function () { return __importDefault(element_1).default; } });
|
|
13
|
-
var find_1 = require("./find");
|
|
14
|
-
Object.defineProperty(exports, "find", { enumerable: true, get: function () { return __importDefault(find_1).default; } });
|
|
15
|
-
var general_1 = require("./general");
|
|
16
|
-
Object.defineProperty(exports, "general", { enumerable: true, get: function () { return __importDefault(general_1).default; } });
|
|
11
|
+
require("./alert");
|
|
12
|
+
require("./contexts");
|
|
13
|
+
require("./element");
|
|
14
|
+
require("./find");
|
|
15
|
+
require("./general");
|
|
17
16
|
/* // TODO:
|
|
18
17
|
//rest.post('/wd/hub/session/:sessionId?/touch/click', controller.doClick);
|
|
19
18
|
//rest.post('/wd/hub/session/:sessionId?/touch/longclick', controller.touchLongClick);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/commands/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAEH,mBAAiB;AACjB,sBAAoB;AACpB,qBAAmB;AACnB,kBAAgB;AAChB,qBAAmB;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsFE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FakeDriver } from '../driver';
|
|
2
|
+
/**
|
|
3
|
+
* This function assigns a mixin `T` to the `FakeDriver` class' prototype.
|
|
4
|
+
* While each mixin has its own interface which is (in isolation) unrelated to `FakeDriver`, the constraint
|
|
5
|
+
* on this generic type `T` is that it must be a partial of `FakeDriver`'s interface. This enforces
|
|
6
|
+
* that it does not conflict with the existing interface of `FakeDriver`. In that way, you can
|
|
7
|
+
* think of it as a type guard.
|
|
8
|
+
* @param mixin Mixin implementation
|
|
9
|
+
*/
|
|
10
|
+
export declare function mixin<T extends Partial<FakeDriver>>(mixin: T): void;
|
|
11
|
+
//# sourceMappingURL=mixin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../../lib/commands/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAErC;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAEnE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mixin = void 0;
|
|
4
|
+
const driver_1 = require("../driver");
|
|
5
|
+
/**
|
|
6
|
+
* This function assigns a mixin `T` to the `FakeDriver` class' prototype.
|
|
7
|
+
* While each mixin has its own interface which is (in isolation) unrelated to `FakeDriver`, the constraint
|
|
8
|
+
* on this generic type `T` is that it must be a partial of `FakeDriver`'s interface. This enforces
|
|
9
|
+
* that it does not conflict with the existing interface of `FakeDriver`. In that way, you can
|
|
10
|
+
* think of it as a type guard.
|
|
11
|
+
* @param mixin Mixin implementation
|
|
12
|
+
*/
|
|
13
|
+
function mixin(mixin) {
|
|
14
|
+
Object.assign(driver_1.FakeDriver.prototype, mixin);
|
|
15
|
+
}
|
|
16
|
+
exports.mixin = mixin;
|
|
17
|
+
//# sourceMappingURL=mixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../../lib/commands/mixin.ts"],"names":[],"mappings":";;;AAAA,sCAAqC;AAErC;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAgC,KAAQ;IAC3D,MAAM,CAAC,MAAM,CAAC,mBAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAFD,sBAEC"}
|