@appium/fake-driver 5.1.5 → 5.2.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.
- package/LICENSE +1 -1
- package/build/lib/commands/alert.d.ts +12 -77
- 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 -81
- 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 -145
- 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 -84
- 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 -173
- 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 +26 -13
- 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 +38 -93
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +27 -74
- 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/build/lib/types.d.ts +2 -2
- package/build/lib/types.d.ts.map +1 -1
- 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 +43 -79
- 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
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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"}
|
package/build/lib/fake-app.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
export type ElementWithData = Element & {
|
|
2
|
-
data: any;
|
|
3
|
-
};
|
|
4
1
|
export class FakeApp {
|
|
5
2
|
dom: Document | null;
|
|
6
3
|
activeDom: Document | null;
|
|
@@ -12,15 +9,17 @@ export class FakeApp {
|
|
|
12
9
|
_width: number | null;
|
|
13
10
|
_height: number | null;
|
|
14
11
|
rawXml: string;
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
/** @type {import('./driver').Orientation} */
|
|
13
|
+
currentOrientation: import('./driver').Orientation;
|
|
14
|
+
/** @type {import('@appium/types').ActionSequence[][]} */
|
|
15
|
+
actionLog: import('@appium/types').ActionSequence[][];
|
|
17
16
|
get title(): any;
|
|
18
17
|
/**
|
|
19
18
|
* @type {import('@appium/types').Location}
|
|
20
19
|
*/
|
|
21
20
|
get currentGeoLocation(): import("@appium/types").Location;
|
|
22
|
-
set orientation(arg:
|
|
23
|
-
get orientation():
|
|
21
|
+
set orientation(arg: import("@appium/types").Orientation);
|
|
22
|
+
get orientation(): import("@appium/types").Orientation;
|
|
24
23
|
/**
|
|
25
24
|
* @type {number}
|
|
26
25
|
*/
|
|
@@ -47,6 +46,9 @@ export class FakeApp {
|
|
|
47
46
|
handleAlert(): void;
|
|
48
47
|
getScreenshot(): string;
|
|
49
48
|
}
|
|
49
|
+
export type ElementWithData = Element & {
|
|
50
|
+
data: any;
|
|
51
|
+
};
|
|
50
52
|
import { FakeElement } from "./fake-element";
|
|
51
53
|
declare class FakeWebView {
|
|
52
54
|
constructor(node: any);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-app.d.ts","sourceRoot":"","sources":["../../lib/fake-app.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fake-app.d.ts","sourceRoot":"","sources":["../../lib/fake-app.js"],"names":[],"mappings":"AAUA;IAEI,qBAAe;IACf,2BAAqB;IACrB,mBAAyB;IACzB,iBAAuB;IACvB,gCAAuB;IACvB,YAAY;IACZ,aAAa;IACb,sBAAkB;IAClB,uBAAmB;IACnB,eAAgB;IAChB,6CAA6C;IAC7C,oBADW,OAAO,UAAU,EAAE,WAAW,CACL;IACpC,yDAAyD;IACzD,WADW,OAAO,eAAe,EAAE,cAAc,EAAE,EAAE,CAClC;IAGrB,iBAOC;IAED;;OAEG;IACH,2DAKC;IAMD,0DAEC;IAND,uDAEC;IAMD;;OAEG;IACH,oBAKC;IAED;;OAEG;IACH,qBAKC;IAED,gBAKC;IAED,qCAUC;IAED,6BAEC;IAED,+BAIC;IAED,0BAGC;IAED,gCAIC;IAED,wBAGC;IAED,sDAEC;IAED,kDAEC;IAED,4DAEC;IAED,oDAQC;IAED,oBAEC;IAED,8BAKC;IAED,8BAMC;IAED,iBAEC;IAED,oBAEC;IAED,wBAEC;CACF;8BASY,OAAO,GAAG;IAAC,IAAI,EAAE,GAAG,CAAA;CAAC;;AAPlC;IACE,uBAEC;IADC,UAAgB;CAEnB"}
|
package/build/lib/fake-app.js
CHANGED
|
@@ -24,7 +24,9 @@ class FakeApp {
|
|
|
24
24
|
this._width = null;
|
|
25
25
|
this._height = null;
|
|
26
26
|
this.rawXml = '';
|
|
27
|
+
/** @type {import('./driver').Orientation} */
|
|
27
28
|
this.currentOrientation = 'PORTRAIT';
|
|
29
|
+
/** @type {import('@appium/types').ActionSequence[][]} */
|
|
28
30
|
this.actionLog = [];
|
|
29
31
|
}
|
|
30
32
|
get title() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-app.js","sourceRoot":"","sources":["../../lib/fake-app.js"],"names":[],"mappings":";;;;;;AAAA,4CAAkC;AAClC,2BAAgC;AAChC,gDAAwB;AACxB,4DAAoC;AACpC,kDAA0B;AAC1B,sDAA2B;AAC3B,iDAA2C;AAE3C,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEtD,
|
|
1
|
+
{"version":3,"file":"fake-app.js","sourceRoot":"","sources":["../../lib/fake-app.js"],"names":[],"mappings":";;;;;;AAAA,4CAAkC;AAClC,2BAAgC;AAChC,gDAAwB;AACxB,4DAAoC;AACpC,kDAA0B;AAC1B,sDAA2B;AAC3B,iDAA2C;AAE3C,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEtD,MAAa,OAAO;IAClB;QACE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,6CAA6C;QAC7C,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;QACrC,yDAAyD;QACzD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;SAC9B;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,8BAA8B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QACpB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,GAAG;YAClB,SAAS,EAAE,IAAI,CAAC,IAAI;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,IAAI,WAAW,CAAC,CAAC;QACf,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,OAAO,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,OAAO,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,0BAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAO;QACnB,gBAAG,CAAC,IAAI,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;QACjD,IAAI,IAAI,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,gBAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,GAAG,IAAI,gBAAM,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,eAAe,CAAC,EAAE;QAChB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,QAAQ,GAAG,IAAI,gBAAM,CAAC,aAAa,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAM,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACvF,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,KAAK;QACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,QAAQ,GAAG,IAAI,gBAAM,CAAC,aAAa,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAM,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACvF,CAAC;IAED,eAAe;QACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,GAAG,EAAE,GAAG;QACjB,OAAO,eAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,EAAE,EAAE,GAAG;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,UAAU,CAAC,SAAS,EAAE,GAAG;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,GAAG,EAAE,GAAG;QACf,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACxC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,IAAI;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,OAAO;QACf,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,OAAO,IAAI,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,iBAAiB,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC;IACjF,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,aAAa;QACX,OAAO,IAAA,iBAAY,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;CACF;AAlKD,0BAkKC;AAED,MAAM,WAAW;IACf,YAAY,IAAI;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;GAEG"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
export class FakeElement {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* @param {any} xmlNode
|
|
4
|
+
* @param {FakeApp} app
|
|
5
|
+
*/
|
|
6
|
+
constructor(xmlNode: any, app: FakeApp);
|
|
7
|
+
/** @type {FakeApp} */
|
|
8
|
+
app: FakeApp;
|
|
9
|
+
/** @type {string} */
|
|
10
|
+
type: string;
|
|
11
|
+
/** @type {Record<string,string>} */
|
|
12
|
+
nodeAttrs: Record<string, string>;
|
|
4
13
|
node: any;
|
|
5
|
-
nodeAttrs: {};
|
|
6
|
-
type: any;
|
|
7
14
|
attrs: {};
|
|
8
15
|
css: {};
|
|
9
16
|
parseCss(): void;
|
|
@@ -33,4 +40,5 @@ export class FakeElement {
|
|
|
33
40
|
getCss(prop: any): any;
|
|
34
41
|
get xmlFragment(): Document;
|
|
35
42
|
}
|
|
43
|
+
export type FakeApp = import('./fake-app').FakeApp;
|
|
36
44
|
//# sourceMappingURL=fake-element.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-element.d.ts","sourceRoot":"","sources":["../../lib/fake-element.js"],"names":[],"mappings":"AAGA;
|
|
1
|
+
{"version":3,"file":"fake-element.d.ts","sourceRoot":"","sources":["../../lib/fake-element.js"],"names":[],"mappings":"AAGA;IAUE;;;OAGG;IACH,qBAHW,GAAG,OACH,OAAO,EAajB;IAxBD,sBAAsB;IACtB,KADW,OAAO,CACd;IAEJ,qBAAqB;IACrB,MADW,MAAM,CACZ;IAEL,oCAAoC;IACpC,WADW,OAAO,MAAM,EAAC,MAAM,CAAC,CACtB;IAQR,UAAmB;IAGnB,UAAe;IACf,QAAa;IAOf,iBAUC;IAED,mBAEC;IAED,8BAEC;IAED,qBAEC;IAED,qBAEC;IAED,qBAEC;IAED,sBAEC;IAED;;;MAKC;IAED;;;;;MAEC;IAED;;;MAKC;IAED,cAOC;IAED,4BAEC;IAED,qBAEC;IAED,uBAKC;IAED,4BAGC;CACF;sBAGY,OAAO,YAAY,EAAE,OAAO"}
|
|
@@ -7,6 +7,10 @@ exports.FakeElement = void 0;
|
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
8
|
const xmldom_1 = __importDefault(require("@xmldom/xmldom"));
|
|
9
9
|
class FakeElement {
|
|
10
|
+
/**
|
|
11
|
+
* @param {any} xmlNode
|
|
12
|
+
* @param {FakeApp} app
|
|
13
|
+
*/
|
|
10
14
|
constructor(xmlNode, app) {
|
|
11
15
|
this.app = app;
|
|
12
16
|
this.node = xmlNode;
|
|
@@ -50,8 +54,8 @@ class FakeElement {
|
|
|
50
54
|
}
|
|
51
55
|
getLocation() {
|
|
52
56
|
return {
|
|
53
|
-
x: parseFloat(this.nodeAttrs.left || 0),
|
|
54
|
-
y: parseFloat(this.nodeAttrs.top || 0),
|
|
57
|
+
x: parseFloat(this.nodeAttrs.left || '0'),
|
|
58
|
+
y: parseFloat(this.nodeAttrs.top || '0'),
|
|
55
59
|
};
|
|
56
60
|
}
|
|
57
61
|
getElementRect() {
|
|
@@ -59,8 +63,8 @@ class FakeElement {
|
|
|
59
63
|
}
|
|
60
64
|
getSize() {
|
|
61
65
|
return {
|
|
62
|
-
width: parseFloat(this.nodeAttrs.width || 0),
|
|
63
|
-
height: parseFloat(this.nodeAttrs.height || 0),
|
|
66
|
+
width: parseFloat(this.nodeAttrs.width || '0'),
|
|
67
|
+
height: parseFloat(this.nodeAttrs.height || '0'),
|
|
64
68
|
};
|
|
65
69
|
}
|
|
66
70
|
click() {
|
|
@@ -89,4 +93,7 @@ class FakeElement {
|
|
|
89
93
|
}
|
|
90
94
|
}
|
|
91
95
|
exports.FakeElement = FakeElement;
|
|
96
|
+
/**
|
|
97
|
+
* @typedef {import('./fake-app').FakeApp} FakeApp
|
|
98
|
+
*/
|
|
92
99
|
//# sourceMappingURL=fake-element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-element.js","sourceRoot":"","sources":["../../lib/fake-element.js"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,4DAAoC;AAEpC,
|
|
1
|
+
{"version":3,"file":"fake-element.js","sourceRoot":"","sources":["../../lib/fake-element.js"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const ora_1 = __importDefault(require("ora"));
|
|
7
|
+
const spinner = (0, ora_1.default)('Running fake-error...').start();
|
|
8
|
+
setTimeout(() => {
|
|
9
|
+
spinner.fail('Oh nooooooo!');
|
|
10
|
+
throw Error('Unsuccessfully ran the script');
|
|
11
|
+
}, 1000);
|
|
2
12
|
//# sourceMappingURL=fake-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-error.js","sourceRoot":"","sources":["../../../lib/scripts/fake-error.js"],"names":[],"mappings":"AAAA,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"fake-error.js","sourceRoot":"","sources":["../../../lib/scripts/fake-error.js"],"names":[],"mappings":";;;;;AAAA,8CAAsB;AAEtB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;AAErD,UAAU,CAAC,GAAG,EAAE;IACd,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAC/C,CAAC,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-stdin.d.ts","sourceRoot":"","sources":["../../../lib/scripts/fake-stdin.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_readline_1 = __importDefault(require("node:readline"));
|
|
7
|
+
const rl = node_readline_1.default.createInterface({ input: process.stdin, output: process.stderr });
|
|
8
|
+
rl.question('Press ENTER to continue: ', () => {
|
|
9
|
+
rl.close();
|
|
10
|
+
// eslint-disable-next-line no-console
|
|
11
|
+
console.error('You did it!');
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=fake-stdin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-stdin.js","sourceRoot":"","sources":["../../../lib/scripts/fake-stdin.js"],"names":[],"mappings":";;;;;AAAA,kEAAqC;AAErC,MAAM,EAAE,GAAG,uBAAQ,CAAC,eAAe,CAAC,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAC,CAAC,CAAC;AAEpF,EAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC"}
|
package/build/lib/types.d.ts
CHANGED
|
@@ -4,10 +4,10 @@ import type { FakeDriverConstraints } from './driver';
|
|
|
4
4
|
* W3C-style caps for {@link FakeDriver}
|
|
5
5
|
* @public
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export type W3CFakeDriverCaps = W3CDriverCaps<FakeDriverConstraints>;
|
|
8
8
|
/**
|
|
9
9
|
* Capabilities for {@link FakeDriver}
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export type FakeDriverCaps = DriverCaps<FakeDriverConstraints>;
|
|
13
13
|
//# sourceMappingURL=types.d.ts.map
|
package/build/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,UAAU,CAAC;AAEpD;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,UAAU,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {FakeDriver} from '../driver';
|
|
2
|
+
import {errors} from 'appium/driver';
|
|
3
|
+
import {mixin} from './mixin';
|
|
4
|
+
|
|
5
|
+
interface FakeDriverAlertMixin {
|
|
6
|
+
assertNoAlert(): void;
|
|
7
|
+
assertAlert(): void;
|
|
8
|
+
|
|
9
|
+
getAlertText(): Promise<string>;
|
|
10
|
+
|
|
11
|
+
setAlertText(text: string): Promise<void>;
|
|
12
|
+
|
|
13
|
+
postAcceptAlert(): Promise<void>;
|
|
14
|
+
postDismissAlert(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
declare module '../driver' {
|
|
18
|
+
interface FakeDriver extends FakeDriverAlertMixin {}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const AlertMixin: FakeDriverAlertMixin = {
|
|
22
|
+
assertNoAlert(this: FakeDriver) {
|
|
23
|
+
if (this.appModel.hasAlert()) {
|
|
24
|
+
throw new errors.UnexpectedAlertOpenError();
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
assertAlert(this: FakeDriver) {
|
|
29
|
+
if (!this.appModel.hasAlert()) {
|
|
30
|
+
throw new errors.NoAlertOpenError();
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Get the text of an alert
|
|
36
|
+
*/
|
|
37
|
+
async getAlertText(this: FakeDriver) {
|
|
38
|
+
this.assertAlert();
|
|
39
|
+
return this.appModel.alertText();
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Set the text of an alert
|
|
44
|
+
*/
|
|
45
|
+
async setAlertText(this: FakeDriver, text: string) {
|
|
46
|
+
this.assertAlert();
|
|
47
|
+
try {
|
|
48
|
+
this.appModel.setAlertText(text);
|
|
49
|
+
} catch (e) {
|
|
50
|
+
throw new errors.InvalidElementStateError();
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Accept an alert
|
|
56
|
+
*/
|
|
57
|
+
async postAcceptAlert(this: FakeDriver) {
|
|
58
|
+
this.assertAlert();
|
|
59
|
+
this.appModel.handleAlert();
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Dismiss an alert
|
|
64
|
+
*/
|
|
65
|
+
async postDismissAlert(this: FakeDriver) {
|
|
66
|
+
return this.postAcceptAlert();
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
mixin(AlertMixin);
|
|
@@ -1,55 +1,53 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
+
import {FakeDriver} from '../driver';
|
|
2
3
|
import {errors} from 'appium/driver';
|
|
4
|
+
import {mixin} from './mixin';
|
|
5
|
+
interface FakeDriverContextsMixin {
|
|
6
|
+
getRawContexts(): Record<string, any>;
|
|
7
|
+
assertWebviewContext(): void;
|
|
8
|
+
getCurrentContext(): Promise<string>;
|
|
9
|
+
getContexts(): Promise<string[]>;
|
|
10
|
+
setContext(context: string): Promise<void>;
|
|
11
|
+
setFrame(frame: number | null): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
declare module '../driver' {
|
|
14
|
+
interface FakeDriver extends FakeDriverContextsMixin {}
|
|
15
|
+
}
|
|
3
16
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
getRawContexts() {
|
|
9
|
-
let contexts = {NATIVE_APP: null, PROXY: null};
|
|
10
|
-
let wvs = this.appModel?.getWebviews() ?? [];
|
|
17
|
+
const ContextsMixin: FakeDriverContextsMixin = {
|
|
18
|
+
getRawContexts(this: FakeDriver) {
|
|
19
|
+
const contexts = {NATIVE_APP: null, PROXY: null};
|
|
20
|
+
const wvs = this.appModel.getWebviews() ?? [];
|
|
11
21
|
for (let i = 1; i < wvs.length + 1; i++) {
|
|
12
22
|
contexts[`WEBVIEW_${i}`] = wvs[i - 1];
|
|
13
23
|
}
|
|
14
24
|
return contexts;
|
|
15
25
|
},
|
|
16
26
|
|
|
17
|
-
|
|
18
|
-
* @this {FakeDriver}
|
|
19
|
-
*/
|
|
20
|
-
assertWebviewContext() {
|
|
27
|
+
assertWebviewContext(this: FakeDriver) {
|
|
21
28
|
if (this.curContext === 'NATIVE_APP') {
|
|
22
29
|
throw new errors.InvalidContextError();
|
|
23
30
|
}
|
|
24
31
|
},
|
|
25
32
|
|
|
26
|
-
|
|
27
|
-
* @returns {Promise<string>}
|
|
28
|
-
* @this {FakeDriver}
|
|
29
|
-
*/
|
|
30
|
-
async getCurrentContext() {
|
|
33
|
+
async getCurrentContext(this: FakeDriver): Promise<string> {
|
|
31
34
|
return this.curContext;
|
|
32
35
|
},
|
|
33
36
|
|
|
34
37
|
/**
|
|
35
38
|
* Get the list of available contexts
|
|
36
|
-
*
|
|
37
|
-
* @returns {Promise<string[]>}
|
|
38
|
-
* @this {FakeDriver}
|
|
39
39
|
*/
|
|
40
|
-
async getContexts() {
|
|
40
|
+
async getContexts(this: FakeDriver) {
|
|
41
41
|
return _.keys(this.getRawContexts());
|
|
42
42
|
},
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
45
|
* Set the current context
|
|
46
46
|
*
|
|
47
|
-
* @param
|
|
48
|
-
* @returns {Promise<void>}
|
|
49
|
-
* @this {FakeDriver}
|
|
47
|
+
* @param context - name of the context
|
|
50
48
|
*/
|
|
51
|
-
async setContext(context) {
|
|
52
|
-
|
|
49
|
+
async setContext(this: FakeDriver, context: string) {
|
|
50
|
+
const contexts = this.getRawContexts();
|
|
53
51
|
if (context in contexts) {
|
|
54
52
|
this.curContext = context;
|
|
55
53
|
if (context === 'NATIVE_APP') {
|
|
@@ -68,17 +66,13 @@ export default {
|
|
|
68
66
|
|
|
69
67
|
/**
|
|
70
68
|
* Set the active frame
|
|
71
|
-
*
|
|
72
|
-
* @param {number} frameId
|
|
73
|
-
* @returns {Promise<void>}
|
|
74
|
-
* @this {FakeDriver}
|
|
75
69
|
*/
|
|
76
|
-
async setFrame(frameId) {
|
|
70
|
+
async setFrame(this: FakeDriver, frameId: number | null) {
|
|
77
71
|
this.assertWebviewContext();
|
|
78
72
|
if (frameId === null) {
|
|
79
73
|
this.appModel.deactivateFrame();
|
|
80
74
|
} else {
|
|
81
|
-
|
|
75
|
+
const nodes = this.appModel.xpathQuery(`//iframe[@id="${frameId}"]`);
|
|
82
76
|
if (!nodes.length) {
|
|
83
77
|
throw new errors.NoSuchFrameError();
|
|
84
78
|
}
|
|
@@ -87,6 +81,4 @@ export default {
|
|
|
87
81
|
},
|
|
88
82
|
};
|
|
89
83
|
|
|
90
|
-
|
|
91
|
-
* @typedef {import('../driver').FakeDriver} FakeDriver
|
|
92
|
-
*/
|
|
84
|
+
mixin(ContextsMixin);
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import {errors} from 'appium/driver';
|
|
3
|
+
import {FakeDriver} from '../driver';
|
|
4
|
+
import {Position, Rect, Size} from '@appium/types';
|
|
5
|
+
import {FakeElement} from '../fake-element';
|
|
6
|
+
import {mixin} from './mixin';
|
|
7
|
+
|
|
8
|
+
interface FakeDriverElementsMixin {
|
|
9
|
+
getElements(elementIds: string[]): FakeElement[];
|
|
10
|
+
getElement(elementId: string): FakeElement;
|
|
11
|
+
getName(elementId: string): Promise<string>;
|
|
12
|
+
elementDisplayed(elementId: string): Promise<boolean>;
|
|
13
|
+
elementEnabled(elementId: string): Promise<boolean>;
|
|
14
|
+
elementSelected(elementId: string): Promise<boolean>;
|
|
15
|
+
setValue(keys: string | string[], value: string): Promise<void>;
|
|
16
|
+
getText(elementId: string): Promise<string>;
|
|
17
|
+
clear(elementId: string): Promise<void>;
|
|
18
|
+
click(elementId: string): Promise<void>;
|
|
19
|
+
|
|
20
|
+
getAttribute(elementId: string, attributeName: string): Promise<string>;
|
|
21
|
+
getElementRect(elementId: string): Promise<Rect>;
|
|
22
|
+
getSize(elementId: string): Promise<Size>;
|
|
23
|
+
equalsElement(elementId: string, otherElementId: string): Promise<boolean>;
|
|
24
|
+
getCssProperty(elementId: string, propertyName: string): Promise<string>;
|
|
25
|
+
getLocation(elementId: string): Promise<Position>;
|
|
26
|
+
getLocationInView(elementId: string): Promise<Position>;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare module '../driver' {
|
|
30
|
+
interface FakeDriver extends FakeDriverElementsMixin {}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const ElementsMixin: FakeDriverElementsMixin = {
|
|
34
|
+
getElements(this: FakeDriver, elementIds: string[]) {
|
|
35
|
+
for (const elId of elementIds) {
|
|
36
|
+
if (!_.has(this.elMap, elId)) {
|
|
37
|
+
throw new errors.StaleElementReferenceError();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return elementIds.map((e) => this.elMap[e]);
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
getElement(this: FakeDriver, elementId: string) {
|
|
44
|
+
return this.getElements([elementId])[0];
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
async getName(this: FakeDriver, elementId: string) {
|
|
48
|
+
const el = this.getElement(elementId);
|
|
49
|
+
return el.tagName;
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
async elementDisplayed(this: FakeDriver, elementId: string) {
|
|
53
|
+
const el = this.getElement(elementId);
|
|
54
|
+
return el.isVisible();
|
|
55
|
+
},
|
|
56
|
+
|
|
57
|
+
async elementEnabled(this: FakeDriver, elementId: string) {
|
|
58
|
+
const el = this.getElement(elementId);
|
|
59
|
+
return el.isEnabled();
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
async elementSelected(this: FakeDriver, elementId: string) {
|
|
63
|
+
const el = this.getElement(elementId);
|
|
64
|
+
return el.isSelected();
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
async setValue(this: FakeDriver, keys: string | string[], elementId: string) {
|
|
68
|
+
let value = keys;
|
|
69
|
+
if (keys instanceof Array) {
|
|
70
|
+
value = keys.join('');
|
|
71
|
+
}
|
|
72
|
+
const el = this.getElement(elementId);
|
|
73
|
+
if (el.type !== 'MockInputField') {
|
|
74
|
+
throw new errors.InvalidElementStateError();
|
|
75
|
+
}
|
|
76
|
+
el.setAttr('value', value);
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
async getText(this: FakeDriver, elementId: string) {
|
|
80
|
+
const el = this.getElement(elementId);
|
|
81
|
+
return el.getAttr('value');
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
async clear(this: FakeDriver, elementId: string) {
|
|
85
|
+
await this.setValue('', elementId);
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* This comment should be displayed instead of the one from ExternalDriver
|
|
90
|
+
*/
|
|
91
|
+
async click(this: FakeDriver, elementId: string) {
|
|
92
|
+
this.assertNoAlert();
|
|
93
|
+
const el = this.getElement(elementId);
|
|
94
|
+
if (!el.isVisible()) {
|
|
95
|
+
throw new errors.InvalidElementStateError();
|
|
96
|
+
}
|
|
97
|
+
el.click();
|
|
98
|
+
this.focusedElId = elementId;
|
|
99
|
+
},
|
|
100
|
+
|
|
101
|
+
async getAttribute(this: FakeDriver, attr: string, elementId: string) {
|
|
102
|
+
const el = this.getElement(elementId);
|
|
103
|
+
return el.getAttr(attr);
|
|
104
|
+
},
|
|
105
|
+
|
|
106
|
+
async getElementRect(this: FakeDriver, elementId: string) {
|
|
107
|
+
const el = this.getElement(elementId);
|
|
108
|
+
return el.getElementRect();
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
async getSize(this: FakeDriver, elementId: string) {
|
|
112
|
+
const el = this.getElement(elementId);
|
|
113
|
+
return el.getSize();
|
|
114
|
+
},
|
|
115
|
+
|
|
116
|
+
async equalsElement(this: FakeDriver, elementIdA: string, elementIdB: string) {
|
|
117
|
+
const el1 = this.getElement(elementIdA);
|
|
118
|
+
const el2 = this.getElement(elementIdB);
|
|
119
|
+
return el1.equals(el2);
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
async getCssProperty(this: FakeDriver, prop: string, elementId: string) {
|
|
123
|
+
this.assertWebviewContext();
|
|
124
|
+
const el = this.getElement(elementId);
|
|
125
|
+
return el.getCss(prop);
|
|
126
|
+
},
|
|
127
|
+
|
|
128
|
+
async getLocation(this: FakeDriver, elementId: string) {
|
|
129
|
+
const el = this.getElement(elementId);
|
|
130
|
+
return el.getLocation();
|
|
131
|
+
},
|
|
132
|
+
|
|
133
|
+
async getLocationInView(this: FakeDriver, elementId: string) {
|
|
134
|
+
return this.getLocation(elementId);
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
mixin(ElementsMixin);
|