@appium/fake-driver 5.3.0 → 5.5.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 +4 -17
- package/build/lib/commands/general.d.ts +2 -0
- package/build/lib/commands/general.d.ts.map +1 -1
- package/build/lib/commands/general.js +6 -0
- package/build/lib/commands/general.js.map +1 -1
- package/build/lib/driver.d.ts +33 -12
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +34 -0
- package/build/lib/driver.js.map +1 -1
- package/lib/commands/general.ts +11 -0
- package/lib/driver.js +42 -0
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -1,20 +1,7 @@
|
|
|
1
|
-
appium
|
|
2
|
-
===================
|
|
1
|
+
# @appium/fake-driver
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
> Fake Appium driver for internal testing
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
## License
|
|
7
6
|
|
|
8
|
-
|
|
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;
|
|
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":";;AACA,0CAAqC;AAErC,mCAA8B;AAE9B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/commands/general.ts"],"names":[],"mappings":"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"}
|
package/build/lib/driver.d.ts
CHANGED
|
@@ -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': {
|
|
@@ -92,11 +98,16 @@ export class FakeDriver<Thing = any> extends BaseDriver<{
|
|
|
92
98
|
allowCors: NonNullable<boolean | undefined>;
|
|
93
99
|
allowInsecure: import("@appium/types").AllowInsecureConfig;
|
|
94
100
|
basePath: string;
|
|
101
|
+
callbackAddress: string | undefined;
|
|
95
102
|
callbackPort: number;
|
|
96
103
|
debugLogSpacing: NonNullable<boolean | undefined>;
|
|
104
|
+
defaultCapabilities: import("@appium/types").DefaultCapabilitiesConfig | undefined;
|
|
97
105
|
denyInsecure: import("@appium/types").DenyInsecureConfig;
|
|
106
|
+
driver: import("@appium/types").DriverConfig | undefined;
|
|
98
107
|
keepAliveTimeout: number;
|
|
99
108
|
localTimezone: NonNullable<boolean | undefined>;
|
|
109
|
+
logFile: string | undefined;
|
|
110
|
+
logFilters: import("@appium/types").LogFiltersConfig | undefined;
|
|
100
111
|
loglevel: NonNullable<import("@appium/types").LogLevelConfig | undefined>;
|
|
101
112
|
logNoColors: NonNullable<boolean | undefined>;
|
|
102
113
|
logTimestamp: NonNullable<boolean | undefined>;
|
|
@@ -104,24 +115,19 @@ export class FakeDriver<Thing = any> extends BaseDriver<{
|
|
|
104
115
|
driversImportChunkSize: number;
|
|
105
116
|
longStacktrace: NonNullable<boolean | undefined>;
|
|
106
117
|
noPermsCheck: NonNullable<boolean | undefined>;
|
|
118
|
+
nodeconfig: import("@appium/types").NodeconfigConfig | undefined;
|
|
119
|
+
plugin: import("@appium/types").PluginConfig | undefined;
|
|
107
120
|
port: number;
|
|
108
121
|
relaxedSecurityEnabled: NonNullable<boolean | undefined>;
|
|
109
122
|
sessionOverride: NonNullable<boolean | undefined>;
|
|
110
123
|
strictCaps: NonNullable<boolean | undefined>;
|
|
124
|
+
tmpDir: string | undefined;
|
|
125
|
+
traceDir: string | undefined;
|
|
111
126
|
useDrivers: import("@appium/types").UseDriversConfig;
|
|
112
127
|
usePlugins: import("@appium/types").UsePluginsConfig;
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
logFile?: string | undefined;
|
|
117
|
-
logFilters?: import("@appium/types").LogFiltersConfig | undefined;
|
|
118
|
-
nodeconfig?: import("@appium/types").NodeconfigConfig | undefined;
|
|
119
|
-
plugin?: import("@appium/types").PluginConfig | undefined;
|
|
120
|
-
tmpDir?: string | undefined;
|
|
121
|
-
traceDir?: string | undefined;
|
|
122
|
-
webhook?: string | undefined;
|
|
123
|
-
sslCertificatePath?: string | undefined;
|
|
124
|
-
sslKeyPath?: string | undefined;
|
|
128
|
+
webhook: string | undefined;
|
|
129
|
+
sslCertificatePath: string | undefined;
|
|
130
|
+
sslKeyPath: string | undefined;
|
|
125
131
|
fastReset?: boolean | undefined;
|
|
126
132
|
skipUninstall?: boolean | undefined;
|
|
127
133
|
}, shouldValidateCaps?: boolean);
|
|
@@ -146,6 +152,10 @@ export class FakeDriver<Thing = any> extends BaseDriver<{
|
|
|
146
152
|
maxElId: number;
|
|
147
153
|
/** @type {Record<string,import('./fake-element').FakeElement>} */
|
|
148
154
|
elMap: Record<string, import('./fake-element').FakeElement>;
|
|
155
|
+
/** @type {string|null} */
|
|
156
|
+
_bidiProxyUrl: string | null;
|
|
157
|
+
/** @type {boolean} */
|
|
158
|
+
_clockRunning: boolean;
|
|
149
159
|
proxyActive(): boolean;
|
|
150
160
|
canProxy(): boolean;
|
|
151
161
|
proxyReqRes(req: any, res: any): void;
|
|
@@ -154,10 +164,17 @@ export class FakeDriver<Thing = any> extends BaseDriver<{
|
|
|
154
164
|
* @returns {Promise<T>}
|
|
155
165
|
*/
|
|
156
166
|
proxyCommand<T = any>(): Promise<T>;
|
|
167
|
+
/**
|
|
168
|
+
* @param {string} [sessionId]
|
|
169
|
+
* @returns {Promise<void>}
|
|
170
|
+
*/
|
|
171
|
+
deleteSession(sessionId?: string | undefined): Promise<void>;
|
|
157
172
|
get driverData(): {
|
|
158
173
|
isUnique: boolean;
|
|
159
174
|
};
|
|
160
175
|
getFakeThing(): Promise<Thing | null>;
|
|
176
|
+
startClock(): Promise<void>;
|
|
177
|
+
stopClock(): void;
|
|
161
178
|
/**
|
|
162
179
|
* Set the 'thing' value (so that it can be retrieved later)
|
|
163
180
|
*
|
|
@@ -205,5 +222,9 @@ declare namespace FAKE_DRIVER_CONSTRAINTS {
|
|
|
205
222
|
namespace uniqueApp {
|
|
206
223
|
let isBoolean: true;
|
|
207
224
|
}
|
|
225
|
+
namespace runClock {
|
|
226
|
+
let isBoolean_1: true;
|
|
227
|
+
export { isBoolean_1 as isBoolean };
|
|
228
|
+
}
|
|
208
229
|
}
|
|
209
230
|
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":";;;;;
|
|
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"}
|
package/build/lib/driver.js
CHANGED
|
@@ -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
|
*
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":";;;;;;AAAA,wDAAyB;AACzB,0CAAiD;AACjD,yCAAmC;AAEnC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,CAAC;IACpD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,SAAS,EAAE,IAAI;KAChB;CACF,CAAC,CAAC;AAEH;;;GAGG;AAEH;;;;GAIG;AACH,MAAa,UAAW,SAAQ,mBAAU;
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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"}
|
package/lib/commands/general.ts
CHANGED
|
@@ -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.
|
|
3
|
+
"version": "5.5.0",
|
|
4
4
|
"description": "Mock driver used internally by Appium for testing. Ignore",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"automation",
|
|
@@ -73,9 +73,15 @@
|
|
|
73
73
|
"fake-error": "./build/lib/scripts/fake-error.js",
|
|
74
74
|
"fake-success": "./build/lib/scripts/fake-success.js",
|
|
75
75
|
"fake-stdin": "./build/lib/scripts/fake-stdin.js"
|
|
76
|
+
},
|
|
77
|
+
"doctor": {
|
|
78
|
+
"checks": [
|
|
79
|
+
"./doctor/fake1.js",
|
|
80
|
+
"./doctor/fake2.js"
|
|
81
|
+
]
|
|
76
82
|
}
|
|
77
83
|
},
|
|
78
84
|
"main": "./build/lib/index.js",
|
|
79
85
|
"types": "./build/lib/index.d.ts",
|
|
80
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "9cc598a92c2f0d2dfbf40d54698f0ee39b50e4dc"
|
|
81
87
|
}
|