@appium/fake-driver 6.1.0 → 6.1.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.
Files changed (62) hide show
  1. package/build/lib/command-maps/execute-method-map.d.ts +22 -0
  2. package/build/lib/command-maps/execute-method-map.d.ts.map +1 -0
  3. package/build/lib/command-maps/execute-method-map.js +20 -0
  4. package/build/lib/command-maps/execute-method-map.js.map +1 -0
  5. package/build/lib/command-maps/new-bidi-commands.d.ts +26 -0
  6. package/build/lib/command-maps/new-bidi-commands.d.ts.map +1 -0
  7. package/build/lib/command-maps/new-bidi-commands.js +29 -0
  8. package/build/lib/command-maps/new-bidi-commands.js.map +1 -0
  9. package/build/lib/command-maps/new-method-map.d.ts +30 -0
  10. package/build/lib/command-maps/new-method-map.d.ts.map +1 -0
  11. package/build/lib/command-maps/new-method-map.js +19 -0
  12. package/build/lib/command-maps/new-method-map.js.map +1 -0
  13. package/build/lib/commands/alert.d.ts +3 -0
  14. package/build/lib/commands/alert.d.ts.map +1 -1
  15. package/build/lib/commands/alert.js +3 -0
  16. package/build/lib/commands/alert.js.map +1 -1
  17. package/build/lib/commands/contexts.d.ts +4 -0
  18. package/build/lib/commands/contexts.d.ts.map +1 -1
  19. package/build/lib/commands/contexts.js +4 -0
  20. package/build/lib/commands/contexts.js.map +1 -1
  21. package/build/lib/commands/element.d.ts +14 -0
  22. package/build/lib/commands/element.d.ts.map +1 -1
  23. package/build/lib/commands/element.js +14 -0
  24. package/build/lib/commands/element.js.map +1 -1
  25. package/build/lib/commands/find.d.ts +6 -0
  26. package/build/lib/commands/find.d.ts.map +1 -1
  27. package/build/lib/commands/find.js +5 -0
  28. package/build/lib/commands/find.js.map +1 -1
  29. package/build/lib/commands/general.d.ts +15 -0
  30. package/build/lib/commands/general.d.ts.map +1 -1
  31. package/build/lib/commands/general.js +15 -0
  32. package/build/lib/commands/general.js.map +1 -1
  33. package/build/lib/driver.d.ts +84 -84
  34. package/build/lib/driver.d.ts.map +1 -1
  35. package/build/lib/driver.js +27 -77
  36. package/build/lib/driver.js.map +1 -1
  37. package/build/lib/fake-app.d.ts +4 -4
  38. package/build/lib/fake-app.d.ts.map +1 -1
  39. package/build/lib/fake-app.js +13 -13
  40. package/build/lib/fake-app.js.map +1 -1
  41. package/build/lib/fake-element.d.ts +2 -2
  42. package/build/lib/fake-element.d.ts.map +1 -1
  43. package/build/lib/fake-element.js +14 -14
  44. package/build/lib/fake-element.js.map +1 -1
  45. package/build/lib/index.d.ts +1 -0
  46. package/build/lib/index.d.ts.map +1 -1
  47. package/build/lib/index.js +1 -0
  48. package/build/lib/index.js.map +1 -1
  49. package/lib/command-maps/execute-method-map.ts +19 -0
  50. package/lib/command-maps/new-bidi-commands.ts +27 -0
  51. package/lib/command-maps/new-method-map.ts +18 -0
  52. package/lib/commands/alert.ts +3 -0
  53. package/lib/commands/contexts.ts +4 -0
  54. package/lib/commands/element.ts +14 -0
  55. package/lib/commands/find.ts +7 -0
  56. package/lib/commands/general.ts +15 -0
  57. package/lib/driver.ts +36 -87
  58. package/lib/fake-app.ts +16 -16
  59. package/lib/fake-element.ts +20 -20
  60. package/lib/index.ts +1 -0
  61. package/package.json +4 -4
  62. package/tsconfig.json +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fake-element.d.ts","sourceRoot":"","sources":["../../lib/fake-element.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,QAAQ,IAAI,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;CAC7C;AAED,wGAAwG;AACxG,qBAAa,WAAW;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEhB,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO;IAqB9C,OAAO,CAAC,QAAQ;IAYhB,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAInC,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1B,SAAS,IAAI,OAAO;IAIpB,SAAS,IAAI,OAAO;IAIpB,UAAU,IAAI,OAAO;IAIrB,WAAW,IAAI;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC;IAOrC,cAAc,IAAI;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAIvE,OAAO,IAAI;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAO1C,KAAK,IAAI,IAAI;IASb,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAInC,SAAS,IAAI,OAAO;IAIpB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOnC,IAAI,WAAW,IAAI,WAAW,CAQ7B;CACF"}
1
+ {"version":3,"file":"fake-element.d.ts","sourceRoot":"","sources":["../../lib/fake-element.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,QAAQ,IAAI,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;CAC7C;AAED,wGAAwG;AACxG,qBAAa,WAAW;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEhB,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO;IAqB9C,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,WAAW,IAAI,WAAW,CAQ7B;IAED,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAInC,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1B,SAAS,IAAI,OAAO;IAIpB,SAAS,IAAI,OAAO;IAIpB,UAAU,IAAI,OAAO;IAIrB,WAAW,IAAI;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC;IAOrC,cAAc,IAAI;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAIvE,OAAO,IAAI;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAO1C,KAAK,IAAI,IAAI;IASb,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAInC,SAAS,IAAI,OAAO;IAIpB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOnC,OAAO,CAAC,QAAQ;CAWjB"}
@@ -32,20 +32,13 @@ class FakeElement {
32
32
  }
33
33
  this.parseCss();
34
34
  }
35
- parseCss() {
36
- if (this.nodeAttrs.style) {
37
- const segments = this.nodeAttrs.style.split(';');
38
- for (const s of segments) {
39
- let [prop, val] = s.split(':');
40
- prop = prop.trim();
41
- val = val.trim();
42
- this.css[prop] = val;
43
- }
44
- }
45
- }
46
35
  get tagName() {
47
36
  return this.node.tagName;
48
37
  }
38
+ get xmlFragment() {
39
+ const frag = new xmldom_1.default.XMLSerializer().serializeToString(this.node);
40
+ return new xmldom_1.default.DOMParser().parseFromString(frag, xmldom_1.default.MIME_TYPE.XML_TEXT);
41
+ }
49
42
  setAttr(k, v) {
50
43
  this.attrs[k] = v;
51
44
  }
@@ -96,9 +89,16 @@ class FakeElement {
96
89
  }
97
90
  return null;
98
91
  }
99
- get xmlFragment() {
100
- const frag = new xmldom_1.default.XMLSerializer().serializeToString(this.node);
101
- return new xmldom_1.default.DOMParser().parseFromString(frag, xmldom_1.default.MIME_TYPE.XML_TEXT);
92
+ parseCss() {
93
+ if (this.nodeAttrs.style) {
94
+ const segments = this.nodeAttrs.style.split(';');
95
+ for (const s of segments) {
96
+ let [prop, val] = s.split(':');
97
+ prop = prop.trim();
98
+ val = val.trim();
99
+ this.css[prop] = val;
100
+ }
101
+ }
102
102
  }
103
103
  }
104
104
  exports.FakeElement = FakeElement;
@@ -1 +1 @@
1
- {"version":3,"file":"fake-element.js","sourceRoot":"","sources":["../../lib/fake-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake-element.js","sourceRoot":"","sources":["../../lib/fake-element.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { FakeDriver } from './driver';
2
2
  import { startServer } from './server';
3
+ /** main. */
3
4
  export declare function main(): Promise<import("../../types/build/lib").AppiumServer>;
4
5
  export { FakeDriver, startServer };
5
6
  export type { FakeDriverCaps, W3CFakeDriverCaps } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAKrC,wBAAsB,IAAI,0DAQzB;AAED,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC;AACjC,YAAY,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAKrC,YAAY;AACZ,wBAAsB,IAAI,0DAQzB;AAED,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC;AACjC,YAAY,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,SAAS,CAAC"}
@@ -8,6 +8,7 @@ const server_1 = require("./server");
8
8
  Object.defineProperty(exports, "startServer", { enumerable: true, get: function () { return server_1.startServer; } });
9
9
  const DEFAULT_HOST = 'localhost';
10
10
  const DEFAULT_PORT = 4774;
11
+ /** main. */
11
12
  async function main() {
12
13
  const getArgValue = (argName) => {
13
14
  const argIndex = process.argv.indexOf(argName);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;AAMA,oBAQC;AAdD,qCAAoC;AAgB5B,2FAhBA,mBAAU,OAgBA;AAflB,qCAAqC;AAejB,4FAfZ,oBAAW,OAeY;AAb/B,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,YAAY,GAAG,IAAI,CAAC;AAEnB,KAAK,UAAU,IAAI;IACxB,MAAM,WAAW,GAAG,CAAC,OAAe,EAAiB,EAAE;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;IACzE,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;IACnD,OAAO,MAAM,IAAA,oBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;AAOA,oBAQC;AAfD,qCAAoC;AAiB5B,2FAjBA,mBAAU,OAiBA;AAhBlB,qCAAqC;AAgBjB,4FAhBZ,oBAAW,OAgBY;AAd/B,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,YAAY;AACL,KAAK,UAAU,IAAI;IACxB,MAAM,WAAW,GAAG,CAAC,OAAe,EAAiB,EAAE;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;IACzE,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;IACnD,OAAO,MAAM,IAAA,oBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type {ExecuteMethodMap} from '@appium/types';
2
+ import type {FakeDriver} from '../driver';
3
+
4
+ export const EXECUTE_METHOD_MAP = {
5
+ 'fake: addition': {
6
+ command: 'fakeAddition',
7
+ params: {required: ['num1', 'num2'], optional: ['num3']},
8
+ },
9
+ 'fake: getThing': {
10
+ command: 'getFakeThing',
11
+ },
12
+ 'fake: setThing': {
13
+ command: 'setFakeThing',
14
+ params: {required: ['thing']},
15
+ },
16
+ 'fake: getDeprecatedCommandsCalled': {
17
+ command: 'getDeprecatedCommandsCalled',
18
+ },
19
+ } as const satisfies ExecuteMethodMap<FakeDriver>;
@@ -0,0 +1,27 @@
1
+ import type {BidiModuleMap} from '@appium/types';
2
+
3
+ export const NEW_BIDI_COMMANDS = {
4
+ 'appium:fake': {
5
+ getFakeThing: {
6
+ command: 'getFakeThing',
7
+ },
8
+ setFakeThing: {
9
+ command: 'setFakeThing',
10
+ params: {
11
+ required: ['thing'],
12
+ },
13
+ },
14
+ doSomeMath: {
15
+ command: 'doSomeMath',
16
+ params: {
17
+ required: ['num1', 'num2'],
18
+ },
19
+ },
20
+ doSomeMath2: {
21
+ command: 'doSomeMath2',
22
+ params: {
23
+ required: ['num1', 'num2'],
24
+ },
25
+ },
26
+ },
27
+ } as const satisfies BidiModuleMap;
@@ -0,0 +1,18 @@
1
+ import type {MethodMap} from '@appium/types';
2
+ import type {FakeDriver} from '../driver';
3
+
4
+ export const NEW_METHOD_MAP = {
5
+ '/session/:sessionId/fakedriver': {
6
+ GET: {command: 'getFakeThing'},
7
+ POST: {command: 'setFakeThing', payloadParams: {required: ['thing'] as const}},
8
+ },
9
+ '/session/:sessionId/fakedriverargs': {
10
+ GET: {command: 'getFakeDriverArgs'},
11
+ },
12
+ '/session/:sessionId/deprecated': {
13
+ POST: {command: 'callDeprecatedCommand', deprecated: true},
14
+ },
15
+ '/session/:sessionId/doubleclick': {
16
+ POST: {command: 'doubleClick'},
17
+ },
18
+ } as const satisfies MethodMap<FakeDriver>;
@@ -15,11 +15,13 @@ export function assertAlert(this: FakeDriver): void {
15
15
  }
16
16
  }
17
17
 
18
+ /** getAlertText. */
18
19
  export async function getAlertText(this: FakeDriver): Promise<string> {
19
20
  this.assertAlert();
20
21
  return this.appModel.alertText();
21
22
  }
22
23
 
24
+ /** setAlertText. */
23
25
  export async function setAlertText(this: FakeDriver, text: string): Promise<void> {
24
26
  this.assertAlert();
25
27
  try {
@@ -29,6 +31,7 @@ export async function setAlertText(this: FakeDriver, text: string): Promise<void
29
31
  }
30
32
  }
31
33
 
34
+ /** postAcceptAlert. */
32
35
  export async function postAcceptAlert(this: FakeDriver): Promise<void> {
33
36
  this.assertAlert();
34
37
  this.appModel.handleAlert();
@@ -21,14 +21,17 @@ export function assertWebviewContext(this: FakeDriver): void {
21
21
  }
22
22
  }
23
23
 
24
+ /** getCurrentContext. */
24
25
  export async function getCurrentContext(this: FakeDriver): Promise<string> {
25
26
  return this.curContext;
26
27
  }
27
28
 
29
+ /** getContexts. */
28
30
  export async function getContexts(this: FakeDriver): Promise<string[]> {
29
31
  return _.keys(this.getRawContexts());
30
32
  }
31
33
 
34
+ /** setContext. */
32
35
  export async function setContext(this: FakeDriver, context: string): Promise<void> {
33
36
  const contexts = this.getRawContexts();
34
37
  if (context in contexts) {
@@ -47,6 +50,7 @@ export async function setContext(this: FakeDriver, context: string): Promise<voi
47
50
  }
48
51
  }
49
52
 
53
+ /** setFrame. */
50
54
  export async function setFrame(this: FakeDriver, frameId: number | null): Promise<void> {
51
55
  this.assertWebviewContext();
52
56
  if (frameId === null) {
@@ -14,30 +14,36 @@ export function getElements(this: FakeDriver, elementIds: string[]): FakeElement
14
14
  return elementIds.map((e) => this.elMap[e]);
15
15
  }
16
16
 
17
+ /** getElement. */
17
18
  export function getElement(this: FakeDriver, elementId: string): FakeElement {
18
19
  return this.getElements([elementId])[0];
19
20
  }
20
21
 
22
+ /** getName. */
21
23
  export async function getName(this: FakeDriver, elementId: string): Promise<string> {
22
24
  const el = this.getElement(elementId);
23
25
  return el.tagName;
24
26
  }
25
27
 
28
+ /** elementDisplayed. */
26
29
  export async function elementDisplayed(this: FakeDriver, elementId: string): Promise<boolean> {
27
30
  const el = this.getElement(elementId);
28
31
  return el.isVisible();
29
32
  }
30
33
 
34
+ /** elementEnabled. */
31
35
  export async function elementEnabled(this: FakeDriver, elementId: string): Promise<boolean> {
32
36
  const el = this.getElement(elementId);
33
37
  return el.isEnabled();
34
38
  }
35
39
 
40
+ /** elementSelected. */
36
41
  export async function elementSelected(this: FakeDriver, elementId: string): Promise<boolean> {
37
42
  const el = this.getElement(elementId);
38
43
  return el.isSelected();
39
44
  }
40
45
 
46
+ /** setValue. */
41
47
  export async function setValue(
42
48
  this: FakeDriver,
43
49
  keys: string | string[],
@@ -52,15 +58,18 @@ export async function setValue(
52
58
  el.setAttr('value', value);
53
59
  }
54
60
 
61
+ /** getText. */
55
62
  export async function getText(this: FakeDriver, elementId: string): Promise<string> {
56
63
  const el = this.getElement(elementId);
57
64
  return el.getAttr('value');
58
65
  }
59
66
 
67
+ /** clear. */
60
68
  export async function clear(this: FakeDriver, elementId: string): Promise<void> {
61
69
  await this.setValue('', elementId);
62
70
  }
63
71
 
72
+ /** click. */
64
73
  export async function click(this: FakeDriver, elementId: string): Promise<void> {
65
74
  this.assertNoAlert();
66
75
  const el = this.getElement(elementId);
@@ -81,16 +90,19 @@ export async function getAttribute(
81
90
  return el.getAttr(attributeName);
82
91
  }
83
92
 
93
+ /** getElementRect. */
84
94
  export async function getElementRect(this: FakeDriver, elementId: string): Promise<Rect> {
85
95
  const el = this.getElement(elementId);
86
96
  return el.getElementRect();
87
97
  }
88
98
 
99
+ /** getSize. */
89
100
  export async function getSize(this: FakeDriver, elementId: string): Promise<Size> {
90
101
  const el = this.getElement(elementId);
91
102
  return el.getSize();
92
103
  }
93
104
 
105
+ /** equalsElement. */
94
106
  export async function equalsElement(
95
107
  this: FakeDriver,
96
108
  elementIdA: string,
@@ -112,11 +124,13 @@ export async function getCssProperty(
112
124
  return el.getCss(propertyName) ?? '';
113
125
  }
114
126
 
127
+ /** getLocation. */
115
128
  export async function getLocation(this: FakeDriver, elementId: string): Promise<Position> {
116
129
  const el = this.getElement(elementId);
117
130
  return el.getLocation();
118
131
  }
119
132
 
133
+ /** getLocationInView. */
120
134
  export async function getLocationInView(
121
135
  this: FakeDriver,
122
136
  elementId: string
@@ -49,6 +49,7 @@ export function wrapNewEl(
49
49
  return {ELEMENT: maxElId, [W3C_WEB_ELEMENT_IDENTIFIER]: maxElId};
50
50
  }
51
51
 
52
+ /** findElOrElsImpl. */
52
53
  async function findElOrElsImpl<Ctx = unknown>(
53
54
  this: FakeDriver,
54
55
  strategy: string,
@@ -56,6 +57,7 @@ async function findElOrElsImpl<Ctx = unknown>(
56
57
  mult: true,
57
58
  context?: Ctx
58
59
  ): Promise<Element[]>;
60
+ /** findElOrElsImpl. */
59
61
  async function findElOrElsImpl<Ctx = unknown>(
60
62
  this: FakeDriver,
61
63
  strategy: string,
@@ -63,6 +65,7 @@ async function findElOrElsImpl<Ctx = unknown>(
63
65
  mult: false,
64
66
  context?: Ctx
65
67
  ): Promise<Element>;
68
+ /** findElOrElsImpl. */
66
69
  async function findElOrElsImpl<Ctx = unknown>(
67
70
  this: FakeDriver,
68
71
  strategy: string,
@@ -107,6 +110,7 @@ async function findElOrElsImpl<Ctx = unknown>(
107
110
 
108
111
  export const findElOrEls = findElOrElsImpl;
109
112
 
113
+ /** findElement. */
110
114
  export async function findElement(
111
115
  this: FakeDriver,
112
116
  strategy: string,
@@ -117,6 +121,7 @@ export async function findElement(
117
121
 
118
122
  // Protocol passes (strategy, selector, elementId) for find-from-element routes.
119
123
 
124
+ /** findElements. */
120
125
  export async function findElements(
121
126
  this: FakeDriver,
122
127
  strategy: string,
@@ -125,6 +130,7 @@ export async function findElements(
125
130
  return this.findElOrEls(strategy, selector, true);
126
131
  }
127
132
 
133
+ /** findElementFromElement. */
128
134
  export async function findElementFromElement(
129
135
  this: FakeDriver,
130
136
  strategy: string,
@@ -135,6 +141,7 @@ export async function findElementFromElement(
135
141
  return this.findElOrEls(strategy, selector, false, el.xmlFragment);
136
142
  }
137
143
 
144
+ /** findElementsFromElement. */
138
145
  export async function findElementsFromElement(
139
146
  this: FakeDriver,
140
147
  strategy: string,
@@ -10,6 +10,7 @@ export async function title(this: FakeDriver): Promise<string> {
10
10
  return this.appModel.title;
11
11
  }
12
12
 
13
+ /** keys. */
13
14
  export async function keys(
14
15
  this: FakeDriver,
15
16
  value: string | string[]
@@ -20,6 +21,7 @@ export async function keys(
20
21
  await this.setValue(value, this.focusedElId);
21
22
  }
22
23
 
24
+ /** setGeoLocation. */
23
25
  export async function setGeoLocation(
24
26
  this: FakeDriver,
25
27
  location: Location
@@ -29,18 +31,22 @@ export async function setGeoLocation(
29
31
  return location;
30
32
  }
31
33
 
34
+ /** getGeoLocation. */
32
35
  export async function getGeoLocation(this: FakeDriver): Promise<Location> {
33
36
  return this.appModel.currentGeoLocation;
34
37
  }
35
38
 
39
+ /** getPageSource. */
36
40
  export async function getPageSource(this: FakeDriver): Promise<string> {
37
41
  return this.appModel.rawXml;
38
42
  }
39
43
 
44
+ /** getOrientation. */
40
45
  export async function getOrientation(this: FakeDriver): Promise<string> {
41
46
  return this.appModel.orientation;
42
47
  }
43
48
 
49
+ /** setOrientation. */
44
50
  export async function setOrientation(
45
51
  this: FakeDriver,
46
52
  o: Orientation
@@ -51,18 +57,22 @@ export async function setOrientation(
51
57
  this.appModel.orientation = o;
52
58
  }
53
59
 
60
+ /** getScreenshot. */
54
61
  export async function getScreenshot(this: FakeDriver): Promise<string> {
55
62
  return this.appModel.getScreenshot();
56
63
  }
57
64
 
65
+ /** getWindowSize. */
58
66
  export async function getWindowSize(this: FakeDriver): Promise<Size> {
59
67
  return {width: this.appModel.width, height: this.appModel.height};
60
68
  }
61
69
 
70
+ /** getWindowRect. */
62
71
  export async function getWindowRect(this: FakeDriver): Promise<Rect> {
63
72
  return {width: this.appModel.width, height: this.appModel.height, x: 0, y: 0};
64
73
  }
65
74
 
75
+ /** performActions. */
66
76
  export async function performActions(
67
77
  this: FakeDriver,
68
78
  actions: ActionSequence[]
@@ -70,6 +80,7 @@ export async function performActions(
70
80
  this.appModel.actionLog.push(actions);
71
81
  }
72
82
 
83
+ /** releaseActions. */
73
84
  export async function releaseActions(this: FakeDriver): Promise<void> {}
74
85
 
75
86
  /** Supported log types: 'actions'. TODO: add more log types if needed for tests. */
@@ -85,12 +96,15 @@ export async function getLog(
85
96
  }
86
97
  }
87
98
 
99
+ /** mobileShake. */
88
100
  export async function mobileShake(this: FakeDriver): Promise<void> {
89
101
  this.shook = true;
90
102
  }
91
103
 
104
+ /** doubleClick. */
92
105
  export async function doubleClick(this: FakeDriver): Promise<void> {}
93
106
 
107
+ /** execute. */
94
108
  export async function execute(
95
109
  this: FakeDriver,
96
110
  script: string,
@@ -99,6 +113,7 @@ export async function execute(
99
113
  return await this.executeMethod(script, args);
100
114
  }
101
115
 
116
+ /** fakeAddition. */
102
117
  export async function fakeAddition(
103
118
  this: FakeDriver,
104
119
  num1: number,
package/lib/driver.ts CHANGED
@@ -13,12 +13,19 @@ import * as contextsCommands from './commands/contexts';
13
13
  import * as elementCommands from './commands/element';
14
14
  import * as findCommands from './commands/find';
15
15
  import * as generalCommands from './commands/general';
16
+ import {NEW_BIDI_COMMANDS} from './command-maps/new-bidi-commands';
17
+ import {NEW_METHOD_MAP} from './command-maps/new-method-map';
18
+ import {EXECUTE_METHOD_MAP} from './command-maps/execute-method-map';
16
19
 
17
20
  export type {FakeDriverConstraints};
18
21
  export type {Orientation} from '@appium/types';
19
22
 
20
23
  /** Driver supporting a generic "fake thing" value (getFakeThing / setFakeThing). */
21
24
  export class FakeDriver<Thing = unknown> extends BaseDriver<FakeDriverConstraints> {
25
+ static newBidiCommands = NEW_BIDI_COMMANDS;
26
+ static newMethodMap = NEW_METHOD_MAP;
27
+ static executeMethodMap = EXECUTE_METHOD_MAP;
28
+
22
29
  readonly desiredCapConstraints = desiredCapConstraints;
23
30
 
24
31
  curContext: string;
@@ -31,9 +38,6 @@ export class FakeDriver<Thing = unknown> extends BaseDriver<FakeDriverConstraint
31
38
  maxElId: number;
32
39
  /** Map of element id (string) to FakeElement for this session. */
33
40
  elMap: Record<string, FakeElement>;
34
- /** If set, Bidi connections are proxied to this URL instead of handling locally. */
35
- private _bidiProxyUrl: string | null;
36
- private _clockRunning = false;
37
41
  /** Current document URL; set by bidiNavigate, returned by getUrl. */
38
42
  url: string = '';
39
43
 
@@ -101,6 +105,9 @@ export class FakeDriver<Thing = unknown> extends BaseDriver<FakeDriverConstraint
101
105
  fakeAddition = generalCommands.fakeAddition;
102
106
  getUrl = generalCommands.getUrl;
103
107
  bidiNavigate = generalCommands.bidiNavigate;
108
+ /** If set, Bidi connections are proxied to this URL instead of handling locally. */
109
+ private _bidiProxyUrl: string | null;
110
+ private _clockRunning = false;
104
111
 
105
112
  constructor(opts: InitialOpts = {} as InitialOpts, shouldValidateCaps = true) {
106
113
  super(opts, shouldValidateCaps);
@@ -115,6 +122,31 @@ export class FakeDriver<Thing = unknown> extends BaseDriver<FakeDriverConstraint
115
122
  this._bidiProxyUrl = null;
116
123
  }
117
124
 
125
+ get bidiProxyUrl(): string | null {
126
+ return this._bidiProxyUrl;
127
+ }
128
+
129
+ override get driverData(): {isUnique: boolean} {
130
+ return {
131
+ isUnique: !!this.caps.uniqueApp,
132
+ };
133
+ }
134
+
135
+ static fakeRoute(_req: Request, res: Response): void {
136
+ res.send(JSON.stringify({fakedriver: 'fakeResponse'}));
137
+ }
138
+
139
+ static async updateServer(
140
+ expressApp: Express,
141
+ _httpServer: HttpServer,
142
+ cliArgs: Record<string, unknown>
143
+ ): Promise<void> {
144
+ expressApp.all('/fakedriver', FakeDriver.fakeRoute);
145
+ expressApp.all('/fakedriverCliArgs', (_req: Request, res: Response) => {
146
+ res.send(JSON.stringify(cliArgs));
147
+ });
148
+ }
149
+
118
150
  proxyActive(): boolean {
119
151
  return this._proxyActive;
120
152
  }
@@ -123,10 +155,6 @@ export class FakeDriver<Thing = unknown> extends BaseDriver<FakeDriverConstraint
123
155
  return true;
124
156
  }
125
157
 
126
- get bidiProxyUrl(): string | null {
127
- return this._bidiProxyUrl;
128
- }
129
-
130
158
  proxyReqRes(req: Request, res: Response): void {
131
159
  res.set('content-type', 'application/json');
132
160
  const resBodyObj: {value: string; sessionId: string | null} = {
@@ -170,7 +198,7 @@ export class FakeDriver<Thing = unknown> extends BaseDriver<FakeDriverConstraint
170
198
  this.caps = caps;
171
199
  await this.appModel.loadApp(caps.app);
172
200
  if (this.caps.runClock) {
173
- this.startClock();
201
+ void this.startClock();
174
202
  }
175
203
  return [sessionId, caps];
176
204
  }
@@ -188,12 +216,6 @@ export class FakeDriver<Thing = unknown> extends BaseDriver<FakeDriverConstraint
188
216
  return ['1'];
189
217
  }
190
218
 
191
- override get driverData(): {isUnique: boolean} {
192
- return {
193
- isUnique: !!this.caps.uniqueApp,
194
- };
195
- }
196
-
197
219
  async getFakeThing(): Promise<Thing | null> {
198
220
  await sleep(1);
199
221
  return this.fakeThing;
@@ -245,77 +267,4 @@ export class FakeDriver<Thing = unknown> extends BaseDriver<FakeDriverConstraint
245
267
  this._clockRunning = false;
246
268
  }
247
269
 
248
- static newBidiCommands = {
249
- 'appium:fake': {
250
- getFakeThing: {
251
- command: 'getFakeThing',
252
- },
253
- setFakeThing: {
254
- command: 'setFakeThing',
255
- params: {
256
- required: ['thing'],
257
- },
258
- },
259
- doSomeMath: {
260
- command: 'doSomeMath',
261
- params: {
262
- required: ['num1', 'num2'],
263
- },
264
- },
265
- doSomeMath2: {
266
- command: 'doSomeMath2',
267
- params: {
268
- required: ['num1', 'num2'],
269
- },
270
- },
271
- },
272
- } as const;
273
-
274
- static newMethodMap = {
275
- '/session/:sessionId/fakedriver': {
276
- GET: {command: 'getFakeThing'},
277
- POST: {command: 'setFakeThing', payloadParams: {required: ['thing'] as const}},
278
- },
279
- '/session/:sessionId/fakedriverargs': {
280
- GET: {command: 'getFakeDriverArgs'},
281
- },
282
- '/session/:sessionId/deprecated': {
283
- POST: {command: 'callDeprecatedCommand', deprecated: true},
284
- },
285
- '/session/:sessionId/doubleclick': {
286
- POST: {command: 'doubleClick'},
287
- },
288
- } as const;
289
-
290
- static executeMethodMap = {
291
- 'fake: addition': {
292
- command: 'fakeAddition',
293
- params: {required: ['num1', 'num2'], optional: ['num3']},
294
- },
295
- 'fake: getThing': {
296
- command: 'getFakeThing',
297
- },
298
- 'fake: setThing': {
299
- command: 'setFakeThing',
300
- params: {required: ['thing']},
301
- },
302
- 'fake: getDeprecatedCommandsCalled': {
303
- command: 'getDeprecatedCommandsCalled',
304
- },
305
- } as const;
306
-
307
- static fakeRoute(req: Request, res: Response): void {
308
- res.send(JSON.stringify({fakedriver: 'fakeResponse'}));
309
- }
310
-
311
- static async updateServer(
312
- expressApp: Express,
313
- httpServer: HttpServer,
314
- cliArgs: Record<string, unknown>
315
- ): Promise<void> {
316
- expressApp.all('/fakedriver', FakeDriver.fakeRoute);
317
- expressApp.all('/fakedriverCliArgs', (req: Request, res: Response) => {
318
- res.send(JSON.stringify(cliArgs));
319
- });
320
- }
321
270
  }