@appium/fake-driver 5.2.11 → 5.4.0

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/README.md CHANGED
@@ -1,20 +1,7 @@
1
- appium-fake-driver
2
- ===================
1
+ # @appium/fake-driver
3
2
 
4
- [![Greenkeeper badge](https://badges.greenkeeper.io/appium/appium-fake-driver.svg)](https://greenkeeper.io/)
3
+ > Fake Appium driver for internal testing
5
4
 
6
- Issues for this repo are disabled. Log any issues at the [main Appium repo's issue tracker](https://github.com/appium/appium/issues).
5
+ ## License
7
6
 
8
- Work in progress, stay tuned!
9
-
10
- ## Watch
11
-
12
- ```
13
- npm run watch
14
- ```
15
-
16
- ## Test
17
-
18
- ```
19
- npm test
20
- ```
7
+ Apache-2.0
@@ -18,6 +18,8 @@ interface FakeDriverGeneralMixin {
18
18
  execute(script: string, args: any[]): Promise<any>;
19
19
  fakeAddition(a: number, b: number, c?: number): Promise<number>;
20
20
  getLog(type: string): Promise<any>;
21
+ getUrl(): Promise<string>;
22
+ bidiNavigate(context: string, url: string): Promise<void>;
21
23
  }
22
24
  declare module '../driver' {
23
25
  interface FakeDriver extends FakeDriverGeneralMixin {
@@ -1 +1 @@
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,QAAQ,CAAC,CAAC;IACtD,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,GAAG,CAAC,CAAC;CACpC;AAED,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,UAAW,SAAQ,sBAAsB;KAAG;CACvD"}
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,QAAQ,CAAC,CAAC;IACtD,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,GAAG,CAAC,CAAC;IACnC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,UAAW,SAAQ,sBAAsB;KAAG;CACvD"}
@@ -69,6 +69,12 @@ const GeneralMixin = {
69
69
  async fakeAddition(num1, num2, num3 = 0) {
70
70
  return num1 + num2 + (num3 ?? 0);
71
71
  },
72
+ async getUrl() {
73
+ return this.url;
74
+ },
75
+ async bidiNavigate(context, url) {
76
+ this.url = url;
77
+ },
72
78
  };
73
79
  (0, mixin_1.mixin)(GeneralMixin);
74
80
  //# sourceMappingURL=general.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,9 @@ export class FakeDriver<Thing = any> extends BaseDriver<{
20
20
  readonly uniqueApp: {
21
21
  readonly isBoolean: true;
22
22
  };
23
+ readonly runClock: {
24
+ readonly isBoolean: true;
25
+ };
23
26
  }, import("@appium/types").StringRecord, import("@appium/types").StringRecord, import("@appium/types").DefaultCreateSessionResult<{
24
27
  readonly app: {
25
28
  readonly presence: true;
@@ -28,6 +31,9 @@ export class FakeDriver<Thing = any> extends BaseDriver<{
28
31
  readonly uniqueApp: {
29
32
  readonly isBoolean: true;
30
33
  };
34
+ readonly runClock: {
35
+ readonly isBoolean: true;
36
+ };
31
37
  }>, void, import("@appium/types").StringRecord>, FakeDriver_base, FakeDriver_base_1, FakeDriver_base_2, FakeDriver_base_3, FakeDriver_base_4 implements ExternalDriver<FakeDriverConstraints> {
32
38
  static newMethodMap: {
33
39
  readonly '/session/:sessionId/fakedriver': {
@@ -100,6 +106,8 @@ export class FakeDriver<Thing = any> extends BaseDriver<{
100
106
  loglevel: NonNullable<import("@appium/types").LogLevelConfig | undefined>;
101
107
  logNoColors: NonNullable<boolean | undefined>;
102
108
  logTimestamp: NonNullable<boolean | undefined>;
109
+ pluginsImportChunkSize: number;
110
+ driversImportChunkSize: number;
103
111
  longStacktrace: NonNullable<boolean | undefined>;
104
112
  noPermsCheck: NonNullable<boolean | undefined>;
105
113
  port: number;
@@ -144,6 +152,10 @@ export class FakeDriver<Thing = any> extends BaseDriver<{
144
152
  maxElId: number;
145
153
  /** @type {Record<string,import('./fake-element').FakeElement>} */
146
154
  elMap: Record<string, import('./fake-element').FakeElement>;
155
+ /** @type {string|null} */
156
+ _bidiProxyUrl: string | null;
157
+ /** @type {boolean} */
158
+ _clockRunning: boolean;
147
159
  proxyActive(): boolean;
148
160
  canProxy(): boolean;
149
161
  proxyReqRes(req: any, res: any): void;
@@ -152,10 +164,17 @@ export class FakeDriver<Thing = any> extends BaseDriver<{
152
164
  * @returns {Promise<T>}
153
165
  */
154
166
  proxyCommand<T = any>(): Promise<T>;
167
+ /**
168
+ * @param {string} [sessionId]
169
+ * @returns {Promise<void>}
170
+ */
171
+ deleteSession(sessionId?: string | undefined): Promise<void>;
155
172
  get driverData(): {
156
173
  isUnique: boolean;
157
174
  };
158
175
  getFakeThing(): Promise<Thing | null>;
176
+ startClock(): Promise<void>;
177
+ stopClock(): void;
159
178
  /**
160
179
  * Set the 'thing' value (so that it can be retrieved later)
161
180
  *
@@ -197,11 +216,15 @@ import { BaseDriver } from 'appium/driver';
197
216
  import { FakeApp } from './fake-app';
198
217
  declare namespace FAKE_DRIVER_CONSTRAINTS {
199
218
  namespace app {
200
- const presence: true;
201
- const isString: true;
219
+ let presence: true;
220
+ let isString: true;
202
221
  }
203
222
  namespace uniqueApp {
204
- const isBoolean: true;
223
+ let isBoolean: true;
224
+ }
225
+ namespace runClock {
226
+ let isBoolean_1: true;
227
+ export { isBoolean_1 as isBoolean };
205
228
  }
206
229
  }
207
230
  //# sourceMappingURL=driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":";;;;;AAcA;;;GAGG;AAEH;;;;GAIG;AACH;;;;;;;;;;;;;;;;uKAF+B,qBAAqB;IA+JlD;;;;;YAGI;;eAEG;;;;;;;;;;;;;;;;;;;;;;;;MAaJ;IAEH;;;;;;;;QAKE;;WAEG;;;;;;;;;;;;;MAWF;IAEH,2CAEC;IAED,mFAMC;IAhLD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAcC;IA5CD;;;OAGG;IACH,gCAHU,qBAAqB,CAGT;IAEtB,qBAAqB;IACrB,YADW,MAAM,CACN;IAEX,sBAAsB;IACtB,UADW,OAAO,CACT;IAET,sBAAsB;IACtB,cADW,OAAO,CACL;IAEb,sBAAsB;IACtB,OADW,OAAO,CACZ;IAEN,sBAAsB;IACtB,aADW,MAAM,QACL;IAEZ,qBAAqB;IACrB,WADW,KAAK,QACN;IAEV,qBAAqB;IACrB,SADW,MAAM,CACT;IAER,kEAAkE;IAClE,OADW,OAAO,MAAM,EAAC,OAAO,gBAAgB,EAAE,WAAW,CAAC,CACxD;IAkBN,uBAEC;IAED,oBAEC;IAED,sCAOC;IAED;;;OAGG;IACH,oCAEC;IAkCD;;MAIC;IAED,sCAGC;IAED;;;;;OAKG;IACH,oBAHW,KAAK,GACH,QAAQ,IAAI,CAAC,CAMzB;IAED;;;;OAIG;IACH,qBAFa,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,CAKxC;IAED;;;;OAIG;IACH,+BAFa,QAAQ,MAAM,EAAE,CAAC,CAM7B;IAED;;;;OAIG;IACH,yBAFa,QAAQ,IAAI,CAAC,CAIzB;CAqDF;;;;;oCAxNY,8BAA8B;6BA+N9B,OAAO,SAAS,EAAE,cAAc;gCAChC,OAAO,SAAS,EAAE,iBAAiB;sBACnC,OAAO,eAAe,EAAE,OAAO;0TAK/B,OAAO,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;4EAKtC,OAAO,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;0BAIzC,OAAO,eAAe,EAAE,WAAW;2BA9Pf,eAAe;wBAC1B,YAAY"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":";;;;;AAiBA;;;GAGG;AAEH;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;uKAF+B,qBAAqB;IAsMlD;;;;;YAGI;;eAEG;;;;;;;;;;;;;;;;;;;;;;;;MAaJ;IAEH;;;;;;;;QAKE;;WAEG;;;;;;;;;;;;;MAWF;IAEH,2CAEC;IAED,mFAMC;IAjND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAgBC;IApDD;;;OAGG;IACH,gCAHU,qBAAqB,CAGT;IAEtB,qBAAqB;IACrB,YADW,MAAM,CACN;IAEX,sBAAsB;IACtB,UADW,OAAO,CACT;IAET,sBAAsB;IACtB,cADW,OAAO,CACL;IAEb,sBAAsB;IACtB,OADW,OAAO,CACZ;IAEN,sBAAsB;IACtB,aADW,MAAM,QACL;IAEZ,qBAAqB;IACrB,WADW,KAAK,QACN;IAEV,qBAAqB;IACrB,SADW,MAAM,CACT;IAER,kEAAkE;IAClE,OADW,OAAO,MAAM,EAAC,OAAO,gBAAgB,EAAE,WAAW,CAAC,CACxD;IAEN,0BAA0B;IAC1B,eADW,MAAM,GAAC,IAAI,CACR;IAEd,sBAAsB;IACtB,eADW,OAAO,CACI;IAoBtB,uBAEC;IAED,oBAEC;IAMD,sCAOC;IAED;;;OAGG;IACH,oCAEC;IAqCD;;;OAGG;IACH,+CAFa,QAAQ,IAAI,CAAC,CAKzB;IAED;;MAIC;IAED,sCAGC;IAED,4BASC;IAED,kBAEC;IAED;;;;;OAKG;IACH,oBAHW,KAAK,GACH,QAAQ,IAAI,CAAC,CAMzB;IAED;;;;OAIG;IACH,qBAFa,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,CAKxC;IAED;;;;OAIG;IACH,+BAFa,QAAQ,MAAM,EAAE,CAAC,CAM7B;IAED;;;;OAIG;IACH,yBAFa,QAAQ,IAAI,CAAC,CAIzB;CAqDF;;;;;oCA/PY,8BAA8B;6BAsQ9B,OAAO,SAAS,EAAE,cAAc;gCAChC,OAAO,SAAS,EAAE,iBAAiB;sBACnC,OAAO,eAAe,EAAE,OAAO;0TAK/B,OAAO,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;4EAKtC,OAAO,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;0BAIzC,OAAO,eAAe,EAAE,WAAW;2BAxSf,eAAe;wBAC1B,YAAY"}
@@ -15,6 +15,9 @@ const FAKE_DRIVER_CONSTRAINTS = /** @type {const} */ ({
15
15
  uniqueApp: {
16
16
  isBoolean: true,
17
17
  },
18
+ runClock: {
19
+ isBoolean: true,
20
+ },
18
21
  });
19
22
  /**
20
23
  * Constraints for {@linkcode FakeDriver}'s capabilites
@@ -28,6 +31,8 @@ const FAKE_DRIVER_CONSTRAINTS = /** @type {const} */ ({
28
31
  class FakeDriver extends driver_1.BaseDriver {
29
32
  constructor(opts = /** @type {import('@appium/types').InitialOpts} */ ({}), shouldValidateCaps = true) {
30
33
  super(opts, shouldValidateCaps);
34
+ /** @type {boolean} */
35
+ this._clockRunning = false;
31
36
  this.curContext = 'NATIVE_APP';
32
37
  this.elMap = {};
33
38
  this.focusedElId = null;
@@ -37,6 +42,8 @@ class FakeDriver extends driver_1.BaseDriver {
37
42
  this.shook = false;
38
43
  this.appModel = new fake_app_1.FakeApp();
39
44
  this.desiredCapConstraints = FAKE_DRIVER_CONSTRAINTS;
45
+ this.doesSupportBidi = true;
46
+ this._bidiProxyUrl = null;
40
47
  }
41
48
  proxyActive() {
42
49
  return this._proxyActive;
@@ -44,6 +51,9 @@ class FakeDriver extends driver_1.BaseDriver {
44
51
  canProxy() {
45
52
  return true;
46
53
  }
54
+ get bidiProxyUrl() {
55
+ return this._bidiProxyUrl;
56
+ }
47
57
  proxyReqRes(req, res) {
48
58
  // fake implementation of jwp proxy req res
49
59
  res.set('content-type', 'application/json');
@@ -82,8 +92,19 @@ class FakeDriver extends driver_1.BaseDriver {
82
92
  let [sessionId, caps] = /** @type {[string, FakeDriverCaps]} */ (await super.createSession(w3cCapabilities1, w3cCapabilities2, w3cCapabilities3, driverData));
83
93
  this.caps = caps;
84
94
  await this.appModel.loadApp(caps.app);
95
+ if (this.caps.runClock) {
96
+ this.startClock();
97
+ }
85
98
  return [sessionId, caps];
86
99
  }
100
+ /**
101
+ * @param {string} [sessionId]
102
+ * @returns {Promise<void>}
103
+ */
104
+ async deleteSession(sessionId) {
105
+ this.stopClock();
106
+ return await super.deleteSession(sessionId);
107
+ }
87
108
  get driverData() {
88
109
  return {
89
110
  isUnique: !!this.caps.uniqueApp,
@@ -93,6 +114,19 @@ class FakeDriver extends driver_1.BaseDriver {
93
114
  await bluebird_1.default.delay(1);
94
115
  return this.fakeThing;
95
116
  }
117
+ async startClock() {
118
+ this._clockRunning = true;
119
+ while (this._clockRunning) {
120
+ await bluebird_1.default.delay(500);
121
+ this.eventEmitter.emit('bidiEvent', {
122
+ method: 'clock.currentTime',
123
+ params: { time: Date.now() },
124
+ });
125
+ }
126
+ }
127
+ stopClock() {
128
+ this._clockRunning = false;
129
+ }
96
130
  /**
97
131
  * Set the 'thing' value (so that it can be retrieved later)
98
132
  *
@@ -142,6 +176,7 @@ class FakeDriver extends driver_1.BaseDriver {
142
176
  });
143
177
  }
144
178
  }
179
+ exports.FakeDriver = FakeDriver;
145
180
  FakeDriver.newMethodMap = ({
146
181
  '/session/:sessionId/fakedriver': {
147
182
  GET: { command: 'getFakeThing' },
@@ -180,7 +215,6 @@ FakeDriver.executeMethodMap = ({
180
215
  command: 'getDeprecatedCommandsCalled',
181
216
  },
182
217
  });
183
- exports.FakeDriver = FakeDriver;
184
218
  require("./commands");
185
219
  exports.default = FakeDriver;
186
220
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  declare namespace _default {
2
- const type: string;
3
- const title: string;
4
- const description: string;
5
- const properties: {
2
+ let type: string;
3
+ let title: string;
4
+ let description: string;
5
+ let properties: {
6
6
  'silly-web-server-port': {
7
7
  type: string;
8
8
  minimum: number;
@@ -23,6 +23,9 @@ interface FakeDriverGeneralMixin {
23
23
  execute(script: string, args: any[]): Promise<any>;
24
24
  fakeAddition(a: number, b: number, c?: number): Promise<number>;
25
25
  getLog(type: string): Promise<any>;
26
+ getUrl(): Promise<string>;
27
+
28
+ bidiNavigate(context: string, url: string): Promise<void>;
26
29
  }
27
30
 
28
31
  declare module '../driver' {
@@ -111,6 +114,14 @@ const GeneralMixin: FakeDriverGeneralMixin = {
111
114
  async fakeAddition(this: FakeDriver, num1: number, num2: number, num3 = 0) {
112
115
  return num1 + num2 + (num3 ?? 0);
113
116
  },
117
+
118
+ async getUrl() {
119
+ return this.url;
120
+ },
121
+
122
+ async bidiNavigate(context: string, url: string) {
123
+ this.url = url;
124
+ },
114
125
  };
115
126
 
116
127
  mixin(GeneralMixin);
package/lib/driver.js CHANGED
@@ -10,6 +10,9 @@ const FAKE_DRIVER_CONSTRAINTS = /** @type {const} */ ({
10
10
  uniqueApp: {
11
11
  isBoolean: true,
12
12
  },
13
+ runClock: {
14
+ isBoolean: true,
15
+ },
13
16
  });
14
17
 
15
18
  /**
@@ -53,6 +56,12 @@ export class FakeDriver extends BaseDriver {
53
56
  /** @type {Record<string,import('./fake-element').FakeElement>} */
54
57
  elMap;
55
58
 
59
+ /** @type {string|null} */
60
+ _bidiProxyUrl;
61
+
62
+ /** @type {boolean} */
63
+ _clockRunning = false;
64
+
56
65
  constructor(
57
66
  opts = /** @type {import('@appium/types').InitialOpts} */ ({}),
58
67
  shouldValidateCaps = true,
@@ -67,6 +76,8 @@ export class FakeDriver extends BaseDriver {
67
76
  this.shook = false;
68
77
  this.appModel = new FakeApp();
69
78
  this.desiredCapConstraints = FAKE_DRIVER_CONSTRAINTS;
79
+ this.doesSupportBidi = true;
80
+ this._bidiProxyUrl = null;
70
81
  }
71
82
 
72
83
  proxyActive() {
@@ -77,6 +88,10 @@ export class FakeDriver extends BaseDriver {
77
88
  return true;
78
89
  }
79
90
 
91
+ get bidiProxyUrl() {
92
+ return this._bidiProxyUrl;
93
+ }
94
+
80
95
  proxyReqRes(req, res) {
81
96
  // fake implementation of jwp proxy req res
82
97
  res.set('content-type', 'application/json');
@@ -123,9 +138,21 @@ export class FakeDriver extends BaseDriver {
123
138
  );
124
139
  this.caps = caps;
125
140
  await this.appModel.loadApp(caps.app);
141
+ if (this.caps.runClock) {
142
+ this.startClock();
143
+ }
126
144
  return [sessionId, caps];
127
145
  }
128
146
 
147
+ /**
148
+ * @param {string} [sessionId]
149
+ * @returns {Promise<void>}
150
+ */
151
+ async deleteSession(sessionId) {
152
+ this.stopClock();
153
+ return await super.deleteSession(sessionId);
154
+ }
155
+
129
156
  get driverData() {
130
157
  return {
131
158
  isUnique: !!this.caps.uniqueApp,
@@ -137,6 +164,21 @@ export class FakeDriver extends BaseDriver {
137
164
  return this.fakeThing;
138
165
  }
139
166
 
167
+ async startClock() {
168
+ this._clockRunning = true;
169
+ while (this._clockRunning) {
170
+ await B.delay(500);
171
+ this.eventEmitter.emit('bidiEvent', {
172
+ method: 'clock.currentTime',
173
+ params: {time: Date.now()},
174
+ });
175
+ }
176
+ }
177
+
178
+ stopClock() {
179
+ this._clockRunning = false;
180
+ }
181
+
140
182
  /**
141
183
  * Set the 'thing' value (so that it can be retrieved later)
142
184
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/fake-driver",
3
- "version": "5.2.11",
3
+ "version": "5.4.0",
4
4
  "description": "Mock driver used internally by Appium for testing. Ignore",
5
5
  "keywords": [
6
6
  "automation",
@@ -23,14 +23,10 @@
23
23
  },
24
24
  "license": "Apache-2.0",
25
25
  "author": "https://github.com/appium",
26
- "bin": {
27
- "appium-fake-driver": "index.js"
28
- },
29
26
  "directories": {
30
27
  "lib": "lib"
31
28
  },
32
29
  "files": [
33
- "index.js",
34
30
  "lib",
35
31
  "build",
36
32
  "test/fixtures",
@@ -52,7 +48,7 @@
52
48
  "bluebird": "3.7.2",
53
49
  "lodash": "4.17.21",
54
50
  "source-map-support": "0.5.21",
55
- "xpath": "0.0.33"
51
+ "xpath": "0.0.34"
56
52
  },
57
53
  "peerDependencies": {
58
54
  "appium": "^2.0.0-beta.35"
@@ -77,11 +73,15 @@
77
73
  "fake-error": "./build/lib/scripts/fake-error.js",
78
74
  "fake-success": "./build/lib/scripts/fake-success.js",
79
75
  "fake-stdin": "./build/lib/scripts/fake-stdin.js"
76
+ },
77
+ "doctor": {
78
+ "checks": [
79
+ "./doctor/fake1.js",
80
+ "./doctor/fake2.js"
81
+ ]
80
82
  }
81
83
  },
82
- "typedoc": {
83
- "entryPoint": "./lib/index.js"
84
- },
84
+ "main": "./build/lib/index.js",
85
85
  "types": "./build/lib/index.d.ts",
86
- "gitHead": "717ec38d8cb63330ac1901eda8ef4489d256678b"
86
+ "gitHead": "76df4d600dcb7c867c37c3d7d302dc7fcc95ae09"
87
87
  }
package/index.js DELETED
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const {asyncify} = require('asyncbox');
4
-
5
- const fakeDriver = require('./build/lib/index.js');
6
-
7
- if (require.main === module) {
8
- asyncify(fakeDriver.main);
9
- }
10
-
11
- module.exports = fakeDriver;