@appium/fake-plugin 3.1.56 → 3.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/build/lib/logger.d.ts +1 -1
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/plugin.d.ts +41 -0
- package/build/lib/plugin.d.ts.map +1 -1
- package/build/lib/plugin.js +69 -0
- package/build/lib/plugin.js.map +1 -1
- package/lib/plugin.js +78 -0
- package/package.json +4 -5
package/build/lib/logger.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";AAEA,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";AAEA,wDAA2C"}
|
package/build/lib/plugin.d.ts
CHANGED
|
@@ -21,6 +21,31 @@ export class FakePlugin extends BasePlugin {
|
|
|
21
21
|
};
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
|
+
static newBidiCommands: {
|
|
25
|
+
readonly 'appium:fake': {
|
|
26
|
+
readonly getPluginThing: {
|
|
27
|
+
readonly command: "getPluginThing";
|
|
28
|
+
};
|
|
29
|
+
readonly setPluginThing: {
|
|
30
|
+
readonly command: "setPluginThing";
|
|
31
|
+
readonly params: {
|
|
32
|
+
readonly required: readonly ["thing"];
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
readonly doSomeMath: {
|
|
36
|
+
readonly command: "doSomeMath";
|
|
37
|
+
readonly params: {
|
|
38
|
+
readonly required: readonly ["num1", "num2"];
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
readonly doSomeMath2: {
|
|
42
|
+
readonly command: "doSomeMath2";
|
|
43
|
+
readonly params: {
|
|
44
|
+
readonly required: readonly ["num1", "num2"];
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
};
|
|
24
49
|
/** @type {string?} */
|
|
25
50
|
static _unexpectedData: string | null;
|
|
26
51
|
static executeMethodMap: {
|
|
@@ -47,7 +72,22 @@ export class FakePlugin extends BasePlugin {
|
|
|
47
72
|
* @readonly
|
|
48
73
|
*/
|
|
49
74
|
readonly fakeThing: string;
|
|
75
|
+
/**
|
|
76
|
+
* @type {any}
|
|
77
|
+
*/
|
|
78
|
+
pluginThing: any;
|
|
79
|
+
_clockRunning: boolean;
|
|
80
|
+
startClock(): Promise<void>;
|
|
81
|
+
doSomeMath(next: any, driver: any, num1: any, num2: any): Promise<any>;
|
|
82
|
+
doSomeMath2(next: any, driver: any, num1: any, num2: any): Promise<number>;
|
|
50
83
|
getFakeThing(): Promise<string>;
|
|
84
|
+
getPluginThing(): Promise<any>;
|
|
85
|
+
/**
|
|
86
|
+
* @param {() => Promise<any>} next
|
|
87
|
+
* @param {import('@appium/types').Driver} driver
|
|
88
|
+
* @param {any} thing
|
|
89
|
+
*/
|
|
90
|
+
setPluginThing(next: () => Promise<any>, driver: import("@appium/types").Driver, thing: any): Promise<void>;
|
|
51
91
|
plugMeIn(next: any, driver: any, socket: string): Promise<string>;
|
|
52
92
|
getFakePluginArgs(): Promise<Record<string, unknown>>;
|
|
53
93
|
getPageSource(next: any, driver: any, ...args: any[]): Promise<string>;
|
|
@@ -57,6 +97,7 @@ export class FakePlugin extends BasePlugin {
|
|
|
57
97
|
getWindowHandle(next: any): Promise<string>;
|
|
58
98
|
onUnexpectedShutdown(driver: any, cause: any): Promise<void>;
|
|
59
99
|
execute(next: any, driver: any, script: any, args: any): Promise<unknown>;
|
|
100
|
+
deleteSession(next: any): Promise<any>;
|
|
60
101
|
}
|
|
61
102
|
import { BasePlugin } from 'appium/plugin';
|
|
62
103
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../lib/plugin.js"],"names":[],"mappings":";AAMA;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../lib/plugin.js"],"names":[],"mappings":";AAMA;IAwBE;;;;;;;;;;;;;;;;;;;;MAYG;IAEH;;;;;;;;;;;;;;;;;;;;;;;;MAwBG;IAEH,sBAAsB;IACtB,wBADW,MAAM,OAAC,CACY;IAE9B;;;;;;;;;;MAWG;IAEH,2CAEC;IAED,gDAGC;IAGD,mFAMC;IAlFD;;;OAGG;IACH,kBAHW,MAAM,WACN,MAAM,CAAC,MAAM,EAAC,OAAO,CAAC,EAMhC;IArBD;;;OAGG;IACH,oBAHU,MAAM,CAGN;IAEV;;OAEG;IACH,aAFU,GAAG,CAEM;IAEnB,uBAAqB;IAsFrB,4BAQC;IAED,uEAGC;IAED,2EAIC;IAED,gCAGC;IAED,+BAMC;IAED;;;;OAIG;IACH,qBAJW,MAAM,OAAO,CAAC,GAAG,CAAC,UAClB,OAAO,eAAe,EAAE,MAAM,SAC9B,GAAG,iBAIb;IAED,yCAAwC,MAAM,mBAG7C;IAED,sDAGC;IAED,uEAGC;IAED,kEAMC;IAED,yDAGC;IAED,0EAIC;IAED,4CAGC;IAGD,6DAGC;IAED,0EAEC;IAED,uCAGC;CACF;2BArMwB,eAAe"}
|
package/build/lib/plugin.js
CHANGED
|
@@ -14,7 +14,13 @@ class FakePlugin extends plugin_1.BasePlugin {
|
|
|
14
14
|
*/
|
|
15
15
|
constructor(name, cliArgs) {
|
|
16
16
|
super(name, cliArgs);
|
|
17
|
+
/**
|
|
18
|
+
* @type {any}
|
|
19
|
+
*/
|
|
20
|
+
this.pluginThing = null;
|
|
21
|
+
this._clockRunning = true;
|
|
17
22
|
this.fakeThing = 'PLUGIN_FAKE_THING';
|
|
23
|
+
this.startClock();
|
|
18
24
|
}
|
|
19
25
|
static fakeRoute(req, res) {
|
|
20
26
|
res.send(JSON.stringify({ fake: 'fakeResponse' }));
|
|
@@ -30,10 +36,43 @@ class FakePlugin extends plugin_1.BasePlugin {
|
|
|
30
36
|
res.send(JSON.stringify(cliArgs));
|
|
31
37
|
});
|
|
32
38
|
}
|
|
39
|
+
async startClock() {
|
|
40
|
+
while (this._clockRunning) {
|
|
41
|
+
await bluebird_1.default.delay(250);
|
|
42
|
+
this.eventEmitter.emit('bidiEvent', {
|
|
43
|
+
method: 'appium:clock.currentTime',
|
|
44
|
+
params: { time: Date.now() },
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async doSomeMath(next, driver, num1, num2) {
|
|
49
|
+
const sum = await next(); // call driver's 'doSomeMath' which sums num1 and num2
|
|
50
|
+
return (num1 * num2) + sum;
|
|
51
|
+
}
|
|
52
|
+
async doSomeMath2(next, driver, num1, num2) {
|
|
53
|
+
// ignore next & driver in this method
|
|
54
|
+
await bluebird_1.default.delay(1);
|
|
55
|
+
return num1 * num2;
|
|
56
|
+
}
|
|
33
57
|
async getFakeThing() {
|
|
34
58
|
await bluebird_1.default.delay(1);
|
|
35
59
|
return this.fakeThing;
|
|
36
60
|
}
|
|
61
|
+
async getPluginThing() {
|
|
62
|
+
this.eventEmitter.emit('bidiEvent', {
|
|
63
|
+
method: 'appium:fake.pluginThingRetrieved',
|
|
64
|
+
params: {},
|
|
65
|
+
});
|
|
66
|
+
return this.pluginThing;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @param {() => Promise<any>} next
|
|
70
|
+
* @param {import('@appium/types').Driver} driver
|
|
71
|
+
* @param {any} thing
|
|
72
|
+
*/
|
|
73
|
+
async setPluginThing(next, driver, thing) {
|
|
74
|
+
this.pluginThing = thing;
|
|
75
|
+
}
|
|
37
76
|
async plugMeIn(next, driver, /** @type {string} */ socket) {
|
|
38
77
|
await bluebird_1.default.delay(1);
|
|
39
78
|
return `Plugged in to ${socket}`;
|
|
@@ -67,11 +106,16 @@ class FakePlugin extends plugin_1.BasePlugin {
|
|
|
67
106
|
return `<<${handle}>>`;
|
|
68
107
|
}
|
|
69
108
|
async onUnexpectedShutdown(driver, cause) {
|
|
109
|
+
this._clockRunning = false;
|
|
70
110
|
FakePlugin._unexpectedData = `Session ended because ${cause}`;
|
|
71
111
|
}
|
|
72
112
|
async execute(next, driver, script, args) {
|
|
73
113
|
return await this.executeMethod(next, driver, script, args);
|
|
74
114
|
}
|
|
115
|
+
async deleteSession(next) {
|
|
116
|
+
this._clockRunning = false;
|
|
117
|
+
return await next();
|
|
118
|
+
}
|
|
75
119
|
}
|
|
76
120
|
exports.FakePlugin = FakePlugin;
|
|
77
121
|
FakePlugin.newMethodMap = ({
|
|
@@ -87,6 +131,31 @@ FakePlugin.newMethodMap = ({
|
|
|
87
131
|
GET: { command: 'getFakePluginArgs', neverProxy: true },
|
|
88
132
|
},
|
|
89
133
|
});
|
|
134
|
+
FakePlugin.newBidiCommands = ({
|
|
135
|
+
'appium:fake': {
|
|
136
|
+
getPluginThing: {
|
|
137
|
+
command: 'getPluginThing',
|
|
138
|
+
},
|
|
139
|
+
setPluginThing: {
|
|
140
|
+
command: 'setPluginThing',
|
|
141
|
+
params: {
|
|
142
|
+
required: ['thing'],
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
doSomeMath: {
|
|
146
|
+
command: 'doSomeMath',
|
|
147
|
+
params: {
|
|
148
|
+
required: ['num1', 'num2'],
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
doSomeMath2: {
|
|
152
|
+
command: 'doSomeMath2',
|
|
153
|
+
params: {
|
|
154
|
+
required: ['num1', 'num2'],
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
}
|
|
158
|
+
});
|
|
90
159
|
/** @type {string?} */
|
|
91
160
|
FakePlugin._unexpectedData = null;
|
|
92
161
|
FakePlugin.executeMethodMap = ({
|
package/build/lib/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../lib/plugin.js"],"names":[],"mappings":";AAAA,YAAY;;;;;;AAGZ,0CAAyC;AACzC,wDAAyB;AAEzB,MAAM,UAAW,SAAQ,mBAAU;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../lib/plugin.js"],"names":[],"mappings":"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"}
|
package/lib/plugin.js
CHANGED
|
@@ -11,6 +11,13 @@ class FakePlugin extends BasePlugin {
|
|
|
11
11
|
*/
|
|
12
12
|
fakeThing;
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* @type {any}
|
|
16
|
+
*/
|
|
17
|
+
pluginThing = null;
|
|
18
|
+
|
|
19
|
+
_clockRunning = true;
|
|
20
|
+
|
|
14
21
|
/**
|
|
15
22
|
* @param {string} name
|
|
16
23
|
* @param {Record<string,unknown>} cliArgs
|
|
@@ -18,6 +25,7 @@ class FakePlugin extends BasePlugin {
|
|
|
18
25
|
constructor(name, cliArgs) {
|
|
19
26
|
super(name, cliArgs);
|
|
20
27
|
this.fakeThing = 'PLUGIN_FAKE_THING';
|
|
28
|
+
this.startClock();
|
|
21
29
|
}
|
|
22
30
|
|
|
23
31
|
static newMethodMap = /** @type {const} */ ({
|
|
@@ -34,6 +42,32 @@ class FakePlugin extends BasePlugin {
|
|
|
34
42
|
},
|
|
35
43
|
});
|
|
36
44
|
|
|
45
|
+
static newBidiCommands = /** @type {const} */({
|
|
46
|
+
'appium:fake': {
|
|
47
|
+
getPluginThing: {
|
|
48
|
+
command: 'getPluginThing',
|
|
49
|
+
},
|
|
50
|
+
setPluginThing: {
|
|
51
|
+
command: 'setPluginThing',
|
|
52
|
+
params: {
|
|
53
|
+
required: ['thing'],
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
doSomeMath: {
|
|
57
|
+
command: 'doSomeMath',
|
|
58
|
+
params: {
|
|
59
|
+
required: ['num1', 'num2'],
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
doSomeMath2: {
|
|
63
|
+
command: 'doSomeMath2',
|
|
64
|
+
params: {
|
|
65
|
+
required: ['num1', 'num2'],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
|
|
37
71
|
/** @type {string?} */
|
|
38
72
|
static _unexpectedData = null;
|
|
39
73
|
|
|
@@ -68,11 +102,49 @@ class FakePlugin extends BasePlugin {
|
|
|
68
102
|
});
|
|
69
103
|
}
|
|
70
104
|
|
|
105
|
+
async startClock() {
|
|
106
|
+
while (this._clockRunning) {
|
|
107
|
+
await B.delay(250);
|
|
108
|
+
this.eventEmitter.emit('bidiEvent', {
|
|
109
|
+
method: 'appium:clock.currentTime',
|
|
110
|
+
params: {time: Date.now()},
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
async doSomeMath(next, driver, num1, num2) {
|
|
116
|
+
const sum = await next(); // call driver's 'doSomeMath' which sums num1 and num2
|
|
117
|
+
return (num1 * num2) + sum;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
async doSomeMath2(next, driver, num1, num2) {
|
|
121
|
+
// ignore next & driver in this method
|
|
122
|
+
await B.delay(1);
|
|
123
|
+
return num1 * num2;
|
|
124
|
+
}
|
|
125
|
+
|
|
71
126
|
async getFakeThing() {
|
|
72
127
|
await B.delay(1);
|
|
73
128
|
return this.fakeThing;
|
|
74
129
|
}
|
|
75
130
|
|
|
131
|
+
async getPluginThing() {
|
|
132
|
+
this.eventEmitter.emit('bidiEvent', {
|
|
133
|
+
method: 'appium:fake.pluginThingRetrieved',
|
|
134
|
+
params: {},
|
|
135
|
+
});
|
|
136
|
+
return this.pluginThing;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* @param {() => Promise<any>} next
|
|
141
|
+
* @param {import('@appium/types').Driver} driver
|
|
142
|
+
* @param {any} thing
|
|
143
|
+
*/
|
|
144
|
+
async setPluginThing(next, driver, thing) {
|
|
145
|
+
this.pluginThing = thing;
|
|
146
|
+
}
|
|
147
|
+
|
|
76
148
|
async plugMeIn(next, driver, /** @type {string} */ socket) {
|
|
77
149
|
await B.delay(1);
|
|
78
150
|
return `Plugged in to ${socket}`;
|
|
@@ -114,12 +186,18 @@ class FakePlugin extends BasePlugin {
|
|
|
114
186
|
|
|
115
187
|
|
|
116
188
|
async onUnexpectedShutdown(driver, cause) {
|
|
189
|
+
this._clockRunning = false;
|
|
117
190
|
FakePlugin._unexpectedData = `Session ended because ${cause}`;
|
|
118
191
|
}
|
|
119
192
|
|
|
120
193
|
async execute(next, driver, script, args) {
|
|
121
194
|
return await this.executeMethod(next, driver, script, args);
|
|
122
195
|
}
|
|
196
|
+
|
|
197
|
+
async deleteSession(next) {
|
|
198
|
+
this._clockRunning = false;
|
|
199
|
+
return await next();
|
|
200
|
+
}
|
|
123
201
|
}
|
|
124
202
|
|
|
125
203
|
export {FakePlugin};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appium/fake-plugin",
|
|
3
|
-
"version": "3.1
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "A fake Appium 2.0 plugin",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"automation",
|
|
@@ -39,9 +39,8 @@
|
|
|
39
39
|
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@appium/base-plugin": "^2.
|
|
43
|
-
"@appium/support": "^6.0.
|
|
44
|
-
"@types/bluebird": "3.5.42",
|
|
42
|
+
"@appium/base-plugin": "^2.3.1",
|
|
43
|
+
"@appium/support": "^6.0.4",
|
|
45
44
|
"bluebird": "3.7.2",
|
|
46
45
|
"lodash": "4.17.21",
|
|
47
46
|
"source-map-support": "0.5.21"
|
|
@@ -64,7 +63,7 @@
|
|
|
64
63
|
"publishConfig": {
|
|
65
64
|
"access": "public"
|
|
66
65
|
},
|
|
67
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "ea00e3aa18aff3c51d1c19eea6c4d1c8c2483740",
|
|
68
67
|
"tags": [
|
|
69
68
|
"appium"
|
|
70
69
|
]
|