@appium/fake-driver 6.0.1 → 6.1.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/build/lib/commands/alert.d.ts +10 -13
- package/build/lib/commands/alert.d.ts.map +1 -1
- package/build/lib/commands/alert.js +39 -46
- package/build/lib/commands/alert.js.map +1 -1
- package/build/lib/commands/contexts.d.ts +9 -13
- package/build/lib/commands/contexts.d.ts.map +1 -1
- package/build/lib/commands/contexts.js +55 -62
- package/build/lib/commands/contexts.js.map +1 -1
- package/build/lib/commands/element.d.ts +23 -26
- package/build/lib/commands/element.d.ts.map +1 -1
- package/build/lib/commands/element.js +100 -89
- package/build/lib/commands/element.js.map +1 -1
- package/build/lib/commands/find.d.ts +14 -17
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js +66 -63
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/general.d.ts +25 -28
- package/build/lib/commands/general.d.ts.map +1 -1
- package/build/lib/commands/general.js +90 -75
- package/build/lib/commands/general.js.map +1 -1
- package/build/lib/desired-caps.d.ts +14 -0
- package/build/lib/desired-caps.d.ts.map +1 -0
- package/build/lib/desired-caps.js +16 -0
- package/build/lib/desired-caps.js.map +1 -0
- package/build/lib/doctor/common.d.ts +11 -0
- package/build/lib/doctor/common.d.ts.map +1 -0
- package/build/lib/doctor/common.js +25 -0
- package/build/lib/doctor/common.js.map +1 -0
- package/build/lib/doctor/fake1.d.ts +3 -0
- package/build/lib/doctor/fake1.d.ts.map +1 -0
- package/build/lib/doctor/fake1.js +6 -0
- package/build/lib/doctor/fake1.js.map +1 -0
- package/build/lib/doctor/fake2.d.ts +3 -0
- package/build/lib/doctor/fake2.d.ts.map +1 -0
- package/build/lib/doctor/fake2.js +6 -0
- package/build/lib/doctor/fake2.js.map +1 -0
- package/build/lib/driver.d.ts +128 -156
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +146 -154
- package/build/lib/driver.js.map +1 -1
- package/build/lib/fake-app.d.ts +37 -45
- package/build/lib/fake-app.d.ts.map +1 -1
- package/build/lib/fake-app.js +61 -38
- package/build/lib/fake-app.js.map +1 -1
- package/build/lib/fake-driver-schema.d.ts +16 -11
- package/build/lib/fake-driver-schema.d.ts.map +1 -1
- package/build/lib/fake-driver-schema.js +2 -17
- package/build/lib/fake-driver-schema.js.map +1 -1
- package/build/lib/fake-element.d.ts +27 -26
- package/build/lib/fake-element.d.ts.map +1 -1
- package/build/lib/fake-element.js +19 -19
- package/build/lib/fake-element.js.map +1 -1
- package/build/lib/index.d.ts +2 -3
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +2 -6
- package/build/lib/index.js.map +1 -1
- package/build/lib/logger.d.ts +1 -2
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +2 -2
- package/build/lib/logger.js.map +1 -1
- package/build/lib/scripts/fake-error.d.ts.map +1 -1
- package/build/lib/scripts/fake-error.js.map +1 -1
- package/build/lib/scripts/fake-stdin.d.ts.map +1 -1
- package/build/lib/scripts/fake-stdin.js.map +1 -1
- package/build/lib/scripts/fake-success.d.ts.map +1 -1
- package/build/lib/scripts/fake-success.js +3 -6
- package/build/lib/scripts/fake-success.js.map +1 -1
- package/build/lib/server.d.ts +2 -1
- package/build/lib/server.d.ts.map +1 -1
- package/build/lib/server.js +3 -5
- package/build/lib/server.js.map +1 -1
- package/build/lib/types.d.ts +1 -1
- package/build/lib/types.d.ts.map +1 -1
- package/lib/commands/alert.ts +31 -61
- package/lib/commands/contexts.ts +50 -73
- package/lib/commands/element.ts +122 -135
- package/lib/commands/find.ts +100 -115
- package/lib/commands/general.ts +122 -127
- package/lib/desired-caps.ts +16 -0
- package/lib/doctor/common.ts +26 -0
- package/lib/doctor/fake1.ts +3 -0
- package/lib/doctor/fake2.ts +3 -0
- package/lib/driver.ts +321 -0
- package/lib/fake-app.ts +234 -0
- package/lib/fake-driver-schema.ts +43 -0
- package/lib/fake-element.ts +128 -0
- package/lib/{index.js → index.ts} +5 -9
- package/lib/logger.ts +3 -0
- package/lib/scripts/{fake-success.js → fake-success.ts} +1 -1
- package/lib/{server.js → server.ts} +3 -4
- package/lib/types.ts +1 -1
- package/package.json +10 -14
- package/tsconfig.json +2 -1
- package/build/lib/commands/index.d.ts +0 -14
- package/build/lib/commands/index.d.ts.map +0 -1
- package/build/lib/commands/index.js +0 -16
- package/build/lib/commands/index.js.map +0 -1
- package/build/lib/commands/mixin.d.ts +0 -11
- package/build/lib/commands/mixin.d.ts.map +0 -1
- package/build/lib/commands/mixin.js +0 -16
- package/build/lib/commands/mixin.js.map +0 -1
- package/lib/commands/index.ts +0 -14
- package/lib/commands/mixin.ts +0 -13
- package/lib/driver.js +0 -356
- package/lib/fake-app.js +0 -190
- package/lib/fake-driver-schema.js +0 -35
- package/lib/fake-element.js +0 -117
- package/lib/logger.js +0 -5
- package/test/fixtures/app.xml +0 -38
- /package/lib/scripts/{fake-error.js → fake-error.ts} +0 -0
- /package/lib/scripts/{fake-stdin.js → fake-stdin.ts} +0 -0
package/build/lib/fake-app.js
CHANGED
|
@@ -36,17 +36,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.FakeApp = void 0;
|
|
39
|
+
exports.FakeWebViewImpl = exports.FakeApp = void 0;
|
|
40
40
|
const support_1 = require("appium/support");
|
|
41
|
-
const
|
|
42
|
-
const
|
|
41
|
+
const node_fs_1 = require("node:fs");
|
|
42
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
43
43
|
const xmldom_1 = __importDefault(require("@xmldom/xmldom"));
|
|
44
44
|
const xpath = __importStar(require("xpath"));
|
|
45
|
-
const logger_1 =
|
|
45
|
+
const logger_1 = require("./logger");
|
|
46
46
|
const lodash_1 = __importDefault(require("lodash"));
|
|
47
47
|
const fake_element_1 = require("./fake-element");
|
|
48
|
-
const SCREENSHOT =
|
|
48
|
+
const SCREENSHOT = node_path_1.default.join(__dirname, 'screen.png');
|
|
49
|
+
/** In-memory app model: XML DOM, webviews, alerts, geo, orientation, actions log. */
|
|
49
50
|
class FakeApp {
|
|
51
|
+
dom;
|
|
52
|
+
activeDom;
|
|
53
|
+
activeWebview;
|
|
54
|
+
activeFrame;
|
|
55
|
+
activeAlert;
|
|
56
|
+
lat;
|
|
57
|
+
long;
|
|
58
|
+
_width;
|
|
59
|
+
_height;
|
|
60
|
+
rawXml;
|
|
61
|
+
currentOrientation;
|
|
62
|
+
actionLog;
|
|
50
63
|
constructor() {
|
|
51
64
|
this.dom = null;
|
|
52
65
|
this.activeDom = null;
|
|
@@ -58,22 +71,18 @@ class FakeApp {
|
|
|
58
71
|
this._width = null;
|
|
59
72
|
this._height = null;
|
|
60
73
|
this.rawXml = '';
|
|
61
|
-
/** @type {import('./driver').Orientation} */
|
|
62
74
|
this.currentOrientation = 'PORTRAIT';
|
|
63
|
-
/** @type {import('@appium/types').ActionSequence[][]} */
|
|
64
75
|
this.actionLog = [];
|
|
65
76
|
}
|
|
66
77
|
get title() {
|
|
67
|
-
|
|
78
|
+
const nodes = this.xpathQuery('//title');
|
|
68
79
|
if (!lodash_1.default.isArray(nodes) || nodes.length < 1) {
|
|
69
80
|
throw new Error('No title!');
|
|
70
81
|
}
|
|
71
|
-
const node =
|
|
72
|
-
|
|
82
|
+
const node = nodes[0];
|
|
83
|
+
const firstChild = node.firstChild;
|
|
84
|
+
return firstChild?.data ?? '';
|
|
73
85
|
}
|
|
74
|
-
/**
|
|
75
|
-
* @type {import('@appium/types').Location}
|
|
76
|
-
*/
|
|
77
86
|
get currentGeoLocation() {
|
|
78
87
|
return {
|
|
79
88
|
latitude: this.lat,
|
|
@@ -86,37 +95,39 @@ class FakeApp {
|
|
|
86
95
|
set orientation(o) {
|
|
87
96
|
this.currentOrientation = o;
|
|
88
97
|
}
|
|
89
|
-
/**
|
|
90
|
-
* @type {number}
|
|
91
|
-
*/
|
|
92
98
|
get width() {
|
|
93
99
|
if (this._width === null) {
|
|
94
100
|
this.setDims();
|
|
95
101
|
}
|
|
96
|
-
|
|
102
|
+
const w = this._width;
|
|
103
|
+
if (w === null) {
|
|
104
|
+
throw new Error('Cannot fetch app dimensions');
|
|
105
|
+
}
|
|
106
|
+
return w;
|
|
97
107
|
}
|
|
98
|
-
/**
|
|
99
|
-
* @type {number}
|
|
100
|
-
*/
|
|
101
108
|
get height() {
|
|
102
|
-
if (this.
|
|
109
|
+
if (this._height === null) {
|
|
103
110
|
this.setDims();
|
|
104
111
|
}
|
|
105
|
-
|
|
112
|
+
const h = this._height;
|
|
113
|
+
if (h === null) {
|
|
114
|
+
throw new Error('Cannot fetch app dimensions');
|
|
115
|
+
}
|
|
116
|
+
return h;
|
|
106
117
|
}
|
|
107
118
|
setDims() {
|
|
108
119
|
const nodes = this.xpathQuery('//app');
|
|
109
120
|
if (!lodash_1.default.isArray(nodes)) {
|
|
110
|
-
throw new Error('Cannot fetch app dimensions because no corresponding node has
|
|
121
|
+
throw new Error('Cannot fetch app dimensions because no corresponding node has been found in the source');
|
|
111
122
|
}
|
|
112
123
|
const app = new fake_element_1.FakeElement(nodes[0], this);
|
|
113
124
|
this._width = parseInt(app.nodeAttrs.width, 10);
|
|
114
125
|
this._height = parseInt(app.nodeAttrs.height, 10);
|
|
115
126
|
}
|
|
116
127
|
async loadApp(appPath) {
|
|
117
|
-
logger_1.
|
|
118
|
-
|
|
119
|
-
logger_1.
|
|
128
|
+
logger_1.log.info(`Loading Mock app model at ${appPath}`);
|
|
129
|
+
const data = await support_1.fs.readFile(appPath);
|
|
130
|
+
logger_1.log.info('Parsing Mock app XML');
|
|
120
131
|
this.rawXml = data.toString();
|
|
121
132
|
this.rawXml = this.rawXml.replace('<app ', '<AppiumAUT><app ');
|
|
122
133
|
this.rawXml = this.rawXml.replace('<app>', '<AppiumAUT><app>');
|
|
@@ -126,11 +137,11 @@ class FakeApp {
|
|
|
126
137
|
}
|
|
127
138
|
getWebviews() {
|
|
128
139
|
const nodes = this.xpathQuery('//MockWebView/*[1]');
|
|
129
|
-
return lodash_1.default.isArray(nodes) ? nodes.map((n) => new
|
|
140
|
+
return lodash_1.default.isArray(nodes) ? nodes.map((n) => new FakeWebViewImpl(n)) : [];
|
|
130
141
|
}
|
|
131
142
|
activateWebview(wv) {
|
|
132
143
|
this.activeWebview = wv;
|
|
133
|
-
|
|
144
|
+
const fragment = new xmldom_1.default.XMLSerializer().serializeToString(wv.node);
|
|
134
145
|
this.activeDom = new xmldom_1.default.DOMParser().parseFromString(fragment, xmldom_1.default.MIME_TYPE.XML_TEXT);
|
|
135
146
|
}
|
|
136
147
|
deactivateWebview() {
|
|
@@ -139,15 +150,18 @@ class FakeApp {
|
|
|
139
150
|
}
|
|
140
151
|
activateFrame(frame) {
|
|
141
152
|
this.activeFrame = frame;
|
|
142
|
-
|
|
153
|
+
const fragment = new xmldom_1.default.XMLSerializer().serializeToString(frame);
|
|
143
154
|
this.activeDom = new xmldom_1.default.DOMParser().parseFromString(fragment, xmldom_1.default.MIME_TYPE.XML_TEXT);
|
|
144
155
|
}
|
|
145
156
|
deactivateFrame() {
|
|
146
157
|
this.activeFrame = null;
|
|
147
|
-
|
|
158
|
+
if (this.activeWebview) {
|
|
159
|
+
this.activateWebview(this.activeWebview);
|
|
160
|
+
}
|
|
148
161
|
}
|
|
149
162
|
xpathQuery(sel, ctx) {
|
|
150
|
-
|
|
163
|
+
const node = ctx ?? this.activeDom;
|
|
164
|
+
return xpath.select(sel, node);
|
|
151
165
|
}
|
|
152
166
|
idQuery(id, ctx) {
|
|
153
167
|
return this.xpathQuery(`//*[@id="${id}"]`, ctx);
|
|
@@ -174,29 +188,38 @@ class FakeApp {
|
|
|
174
188
|
this.activeAlert?.setAttr('prompt', text);
|
|
175
189
|
}
|
|
176
190
|
showAlert(alertId) {
|
|
177
|
-
|
|
191
|
+
const nodes = this.xpathQuery(`//alert[@id="${alertId}"]`);
|
|
178
192
|
if (!lodash_1.default.isArray(nodes) || lodash_1.default.isEmpty(nodes)) {
|
|
179
193
|
throw new Error(`Alert ${alertId} doesn't exist!`);
|
|
180
194
|
}
|
|
181
195
|
this.activeAlert = new fake_element_1.FakeElement(nodes[0], this);
|
|
182
196
|
}
|
|
197
|
+
/** Alert text from prompt attr or node text attr (e.g. <alert text="Fake Alert">). */
|
|
183
198
|
alertText() {
|
|
184
|
-
|
|
199
|
+
const prompt = this.activeAlert?.getAttr('prompt');
|
|
200
|
+
if (prompt) {
|
|
201
|
+
return prompt;
|
|
202
|
+
}
|
|
203
|
+
const fromAttrs = this.activeAlert?.nodeAttrs?.text;
|
|
204
|
+
if (fromAttrs) {
|
|
205
|
+
return fromAttrs;
|
|
206
|
+
}
|
|
207
|
+
const node = this.activeAlert?.node;
|
|
208
|
+
return node?.getAttribute?.('text') ?? '';
|
|
185
209
|
}
|
|
186
210
|
handleAlert() {
|
|
187
211
|
this.activeAlert = null;
|
|
188
212
|
}
|
|
189
213
|
getScreenshot() {
|
|
190
|
-
return (0,
|
|
214
|
+
return (0, node_fs_1.readFileSync)(SCREENSHOT, 'base64');
|
|
191
215
|
}
|
|
192
216
|
}
|
|
193
217
|
exports.FakeApp = FakeApp;
|
|
194
|
-
class
|
|
218
|
+
class FakeWebViewImpl {
|
|
219
|
+
node;
|
|
195
220
|
constructor(node) {
|
|
196
221
|
this.node = node;
|
|
197
222
|
}
|
|
198
223
|
}
|
|
199
|
-
|
|
200
|
-
* @typedef {Element & {data: any}} ElementWithData
|
|
201
|
-
*/
|
|
224
|
+
exports.FakeWebViewImpl = FakeWebViewImpl;
|
|
202
225
|
//# sourceMappingURL=fake-app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-app.js","sourceRoot":"","sources":["../../lib/fake-app.
|
|
1
|
+
{"version":3,"file":"fake-app.js","sourceRoot":"","sources":["../../lib/fake-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
/**
|
|
2
|
+
* JSON Schema for Fake Driver CLI/server arguments.
|
|
3
|
+
* Could be a .json file; kept as TS for consistency and type export.
|
|
4
|
+
*/
|
|
5
|
+
export interface FakeDriverSchema {
|
|
6
|
+
type: 'object';
|
|
7
|
+
title: string;
|
|
8
|
+
description: string;
|
|
9
|
+
properties: {
|
|
10
|
+
'silly-web-server-port'?: {
|
|
11
|
+
type: 'integer';
|
|
8
12
|
minimum: number;
|
|
9
13
|
maximum: number;
|
|
10
14
|
description: string;
|
|
11
15
|
};
|
|
12
|
-
sillyWebServerHost
|
|
13
|
-
type: string;
|
|
16
|
+
sillyWebServerHost?: {
|
|
17
|
+
type: 'string';
|
|
14
18
|
description: string;
|
|
15
|
-
default
|
|
19
|
+
default?: string;
|
|
16
20
|
};
|
|
17
21
|
};
|
|
18
22
|
}
|
|
19
|
-
|
|
23
|
+
declare const schema: FakeDriverSchema;
|
|
24
|
+
export default schema;
|
|
20
25
|
//# sourceMappingURL=fake-driver-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-driver-schema.d.ts","sourceRoot":"","sources":["../../lib/fake-driver-schema.
|
|
1
|
+
{"version":3,"file":"fake-driver-schema.d.ts","sourceRoot":"","sources":["../../lib/fake-driver-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,uBAAuB,CAAC,EAAE;YACxB,IAAI,EAAE,SAAS,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,kBAAkB,CAAC,EAAE;YACnB,IAAI,EAAE,QAAQ,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;CACH;AAED,QAAA,MAAM,MAAM,EAAE,gBAiBb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,26 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// this could be a .json file, too:
|
|
3
|
-
// {
|
|
4
|
-
// "$schema": "http://json-schema.org/draft-07/schema",
|
|
5
|
-
// "$id": "https://appium.io/fake-driver.json",
|
|
6
|
-
// "type": "object",
|
|
7
|
-
// "title": "Fake Driver Configuration",
|
|
8
|
-
// "description": "A schema for Fake Driver arguments",
|
|
9
|
-
// "properties": {
|
|
10
|
-
// "answer": {
|
|
11
|
-
// "type": "number",
|
|
12
|
-
// "description": "The answer to life, the universe, and everything",
|
|
13
|
-
// "default": 42
|
|
14
|
-
// }
|
|
15
|
-
// }
|
|
16
|
-
// }
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
|
|
3
|
+
const schema = {
|
|
19
4
|
type: 'object',
|
|
20
5
|
title: 'Fake Driver Configuration',
|
|
21
6
|
description: 'A schema for Fake Driver arguments',
|
|
22
7
|
properties: {
|
|
23
|
-
// the prop name will always be normalized to camelCase
|
|
24
8
|
'silly-web-server-port': {
|
|
25
9
|
type: 'integer',
|
|
26
10
|
minimum: 1,
|
|
@@ -34,4 +18,5 @@ exports.default = {
|
|
|
34
18
|
},
|
|
35
19
|
},
|
|
36
20
|
};
|
|
21
|
+
exports.default = schema;
|
|
37
22
|
//# sourceMappingURL=fake-driver-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-driver-schema.js","sourceRoot":"","sources":["../../lib/fake-driver-schema.
|
|
1
|
+
{"version":3,"file":"fake-driver-schema.js","sourceRoot":"","sources":["../../lib/fake-driver-schema.ts"],"names":[],"mappings":";;AAuBA,MAAM,MAAM,GAAqB;IAC/B,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,2BAA2B;IAClC,WAAW,EAAE,oCAAoC;IACjD,UAAU,EAAE;QACV,uBAAuB,EAAE;YACvB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,yCAAyC;SACvD;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,WAAW;SACrB;KACF;CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
import type { Document as XMLDocument } from '@xmldom/xmldom';
|
|
2
|
+
import type { FakeApp } from './fake-app';
|
|
3
|
+
export interface XmlNodeLike {
|
|
4
|
+
tagName: string;
|
|
5
|
+
attributes: {
|
|
6
|
+
name: string;
|
|
7
|
+
value: string;
|
|
8
|
+
}[];
|
|
9
|
+
}
|
|
10
|
+
/** Wrapper around an XML node from the fake app DOM; supports attrs, css, visibility, click, alerts. */
|
|
11
|
+
export declare class FakeElement {
|
|
12
|
+
readonly app: FakeApp;
|
|
13
|
+
readonly type: string;
|
|
14
|
+
readonly nodeAttrs: Record<string, string>;
|
|
15
|
+
readonly node: XmlNodeLike;
|
|
16
|
+
attrs: Record<string, string>;
|
|
17
|
+
css: Record<string, string>;
|
|
18
|
+
constructor(xmlNode: XmlNodeLike, app: FakeApp);
|
|
19
|
+
private parseCss;
|
|
20
|
+
get tagName(): string;
|
|
21
|
+
setAttr(k: string, v: string): void;
|
|
22
|
+
getAttr(k: string): string;
|
|
20
23
|
isVisible(): boolean;
|
|
21
24
|
isEnabled(): boolean;
|
|
22
25
|
isSelected(): boolean;
|
|
@@ -25,21 +28,19 @@ export class FakeElement {
|
|
|
25
28
|
y: number;
|
|
26
29
|
};
|
|
27
30
|
getElementRect(): {
|
|
28
|
-
width: number;
|
|
29
|
-
height: number;
|
|
30
31
|
x: number;
|
|
31
32
|
y: number;
|
|
33
|
+
width: number;
|
|
34
|
+
height: number;
|
|
32
35
|
};
|
|
33
36
|
getSize(): {
|
|
34
37
|
width: number;
|
|
35
38
|
height: number;
|
|
36
39
|
};
|
|
37
40
|
click(): void;
|
|
38
|
-
equals(other:
|
|
41
|
+
equals(other: FakeElement): boolean;
|
|
39
42
|
hasPrompt(): boolean;
|
|
40
|
-
getCss(prop:
|
|
41
|
-
get xmlFragment():
|
|
43
|
+
getCss(prop: string): string | null;
|
|
44
|
+
get xmlFragment(): XMLDocument;
|
|
42
45
|
}
|
|
43
|
-
export type FakeApp = import("./fake-app").FakeApp;
|
|
44
|
-
import XMLDom from '@xmldom/xmldom';
|
|
45
46
|
//# sourceMappingURL=fake-element.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-element.d.ts","sourceRoot":"","sources":["../../lib/fake-element.
|
|
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"}
|
|
@@ -6,33 +6,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.FakeElement = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
8
|
const xmldom_1 = __importDefault(require("@xmldom/xmldom"));
|
|
9
|
+
/** Wrapper around an XML node from the fake app DOM; supports attrs, css, visibility, click, alerts. */
|
|
9
10
|
class FakeElement {
|
|
10
|
-
/** @type {FakeApp} */
|
|
11
11
|
app;
|
|
12
|
-
/** @type {string} */
|
|
13
12
|
type;
|
|
14
|
-
/** @type {Record<string,string>} */
|
|
15
13
|
nodeAttrs;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
*/
|
|
14
|
+
node;
|
|
15
|
+
attrs;
|
|
16
|
+
css;
|
|
20
17
|
constructor(xmlNode, app) {
|
|
21
18
|
this.app = app;
|
|
22
19
|
this.node = xmlNode;
|
|
23
20
|
this.nodeAttrs = {};
|
|
24
|
-
this.type =
|
|
21
|
+
this.type = xmlNode.tagName;
|
|
25
22
|
this.attrs = {};
|
|
26
23
|
this.css = {};
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
// Support both DOM Attr (name/value) and nodeName/nodeValue (e.g. @xmldom/xmldom).
|
|
25
|
+
const attrs = this.node.attributes;
|
|
26
|
+
for (const attr of lodash_1.default.values(attrs)) {
|
|
27
|
+
const name = attr.name ?? attr.nodeName ?? '';
|
|
28
|
+
const value = attr.value ?? attr.nodeValue ?? '';
|
|
29
|
+
if (name) {
|
|
30
|
+
this.nodeAttrs[name] = value;
|
|
31
|
+
}
|
|
29
32
|
}
|
|
30
33
|
this.parseCss();
|
|
31
34
|
}
|
|
32
35
|
parseCss() {
|
|
33
36
|
if (this.nodeAttrs.style) {
|
|
34
|
-
|
|
35
|
-
for (
|
|
37
|
+
const segments = this.nodeAttrs.style.split(';');
|
|
38
|
+
for (const s of segments) {
|
|
36
39
|
let [prop, val] = s.split(':');
|
|
37
40
|
prop = prop.trim();
|
|
38
41
|
val = val.trim();
|
|
@@ -74,9 +77,9 @@ class FakeElement {
|
|
|
74
77
|
};
|
|
75
78
|
}
|
|
76
79
|
click() {
|
|
77
|
-
|
|
78
|
-
this.setAttr('clicks', curClicks + 1);
|
|
79
|
-
|
|
80
|
+
const curClicks = Number(this.getAttr('clicks') || 0);
|
|
81
|
+
this.setAttr('clicks', String(curClicks + 1));
|
|
82
|
+
const alertId = this.nodeAttrs.showAlert;
|
|
80
83
|
if (alertId) {
|
|
81
84
|
this.app.showAlert(alertId);
|
|
82
85
|
}
|
|
@@ -94,12 +97,9 @@ class FakeElement {
|
|
|
94
97
|
return null;
|
|
95
98
|
}
|
|
96
99
|
get xmlFragment() {
|
|
97
|
-
|
|
100
|
+
const frag = new xmldom_1.default.XMLSerializer().serializeToString(this.node);
|
|
98
101
|
return new xmldom_1.default.DOMParser().parseFromString(frag, xmldom_1.default.MIME_TYPE.XML_TEXT);
|
|
99
102
|
}
|
|
100
103
|
}
|
|
101
104
|
exports.FakeElement = FakeElement;
|
|
102
|
-
/**
|
|
103
|
-
* @typedef {import('./fake-app').FakeApp} FakeApp
|
|
104
|
-
*/
|
|
105
105
|
//# sourceMappingURL=fake-element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-element.js","sourceRoot":"","sources":["../../lib/fake-element.
|
|
1
|
+
{"version":3,"file":"fake-element.js","sourceRoot":"","sources":["../../lib/fake-element.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,4DAAoC;AASpC,wGAAwG;AACxG,MAAa,WAAW;IACb,GAAG,CAAU;IACb,IAAI,CAAS;IACb,SAAS,CAAyB;IAClC,IAAI,CAAc;IAC3B,KAAK,CAAyB;IAC9B,GAAG,CAAyB;IAE5B,YAAY,OAAoB,EAAE,GAAY;QAC5C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,mFAAmF;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAEtB,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,gBAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;YACjD,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,CAAS,EAAE,CAAS;QAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,CAAS;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC;IAC5C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC;IAC5C,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC;IAC5C,CAAC;IAED,WAAW;QACT,OAAO;YACL,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC;YACzC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO,EAAC,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,CAAC;YAC9C,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC;SACjD,CAAC;IACJ,CAAC;IAED,KAAK;QACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAkB;QACvB,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,MAAM,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,gBAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,WAAW;QACb,MAAM,IAAI,GAAG,IAAI,gBAAM,CAAC,aAAa,EAAE,CAAC,iBAAiB,CACvD,IAAI,CAAC,IAA0B,CAChC,CAAC;QACF,OAAO,IAAI,gBAAM,CAAC,SAAS,EAAE,CAAC,eAAe,CAC3C,IAAI,EACJ,gBAAM,CAAC,SAAS,CAAC,QAAQ,CACX,CAAC;IACnB,CAAC;CACF;AApHD,kCAoHC"}
|
package/build/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
export type W3CFakeDriverCaps = import("./types").W3CFakeDriverCaps;
|
|
2
|
-
export type FakeDriverCaps = import("./types").FakeDriverCaps;
|
|
3
1
|
import { FakeDriver } from './driver';
|
|
4
2
|
import { startServer } from './server';
|
|
5
|
-
export function main(): Promise<import("../../types/build/lib").AppiumServer>;
|
|
3
|
+
export declare function main(): Promise<import("../../types/build/lib").AppiumServer>;
|
|
6
4
|
export { FakeDriver, startServer };
|
|
5
|
+
export type { FakeDriverCaps, W3CFakeDriverCaps } from './types';
|
|
7
6
|
//# sourceMappingURL=index.d.ts.map
|
package/build/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.
|
|
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"}
|
package/build/lib/index.js
CHANGED
|
@@ -9,16 +9,12 @@ Object.defineProperty(exports, "startServer", { enumerable: true, get: function
|
|
|
9
9
|
const DEFAULT_HOST = 'localhost';
|
|
10
10
|
const DEFAULT_PORT = 4774;
|
|
11
11
|
async function main() {
|
|
12
|
-
const getArgValue = (
|
|
12
|
+
const getArgValue = (argName) => {
|
|
13
13
|
const argIndex = process.argv.indexOf(argName);
|
|
14
|
-
return argIndex > 0 ? process.argv[argIndex + 1] : null;
|
|
14
|
+
return argIndex > 0 ? process.argv[argIndex + 1] ?? null : null;
|
|
15
15
|
};
|
|
16
16
|
const port = parseInt(String(getArgValue('--port')), 10) || DEFAULT_PORT;
|
|
17
17
|
const host = getArgValue('--host') || DEFAULT_HOST;
|
|
18
18
|
return await (0, server_1.startServer)(port, host);
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
21
|
-
* @typedef {import('./types').W3CFakeDriverCaps} W3CFakeDriverCaps
|
|
22
|
-
* @typedef {import('./types').FakeDriverCaps} FakeDriverCaps
|
|
23
|
-
*/
|
|
24
20
|
//# sourceMappingURL=index.js.map
|
package/build/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.
|
|
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"}
|
package/build/lib/logger.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG,8CAAiC,CAAC"}
|
package/build/lib/logger.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.log = void 0;
|
|
3
4
|
const support_1 = require("appium/support");
|
|
4
|
-
|
|
5
|
-
exports.default = log;
|
|
5
|
+
exports.log = support_1.logger.getLogger('FakeDriver');
|
|
6
6
|
//# sourceMappingURL=logger.js.map
|
package/build/lib/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":";;;AAAA,4CAAsC;AAEzB,QAAA,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-error.d.ts","sourceRoot":"","sources":["../../../lib/scripts/fake-error.
|
|
1
|
+
{"version":3,"file":"fake-error.d.ts","sourceRoot":"","sources":["../../../lib/scripts/fake-error.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-error.js","sourceRoot":"","sources":["../../../lib/scripts/fake-error.
|
|
1
|
+
{"version":3,"file":"fake-error.js","sourceRoot":"","sources":["../../../lib/scripts/fake-error.ts"],"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-stdin.d.ts","sourceRoot":"","sources":["../../../lib/scripts/fake-stdin.
|
|
1
|
+
{"version":3,"file":"fake-stdin.d.ts","sourceRoot":"","sources":["../../../lib/scripts/fake-stdin.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-stdin.js","sourceRoot":"","sources":["../../../lib/scripts/fake-stdin.
|
|
1
|
+
{"version":3,"file":"fake-stdin.js","sourceRoot":"","sources":["../../../lib/scripts/fake-stdin.ts"],"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-success.d.ts","sourceRoot":"","sources":["../../../lib/scripts/fake-success.
|
|
1
|
+
{"version":3,"file":"fake-success.d.ts","sourceRoot":"","sources":["../../../lib/scripts/fake-success.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const logger_1 =
|
|
7
|
-
logger_1.
|
|
8
|
-
logger_1.
|
|
3
|
+
const logger_1 = require("../logger");
|
|
4
|
+
logger_1.log.info('Successfully ran the script');
|
|
5
|
+
logger_1.log.info(process.argv.slice(2).join(' '));
|
|
9
6
|
//# sourceMappingURL=fake-success.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-success.js","sourceRoot":"","sources":["../../../lib/scripts/fake-success.
|
|
1
|
+
{"version":3,"file":"fake-success.js","sourceRoot":"","sources":["../../../lib/scripts/fake-success.ts"],"names":[],"mappings":";;AAAA,sCAA8B;AAE9B,YAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAExC,YAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
package/build/lib/server.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
/** Start HTTP server with FakeDriver and default WebDriver routes. */
|
|
2
|
+
export declare function startServer(port: number, hostname: string): Promise<import("../../types/build/lib").AppiumServer>;
|
|
2
3
|
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../lib/server.
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../lib/server.ts"],"names":[],"mappings":"AAIA,sEAAsE;AACtE,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,yDAS/D"}
|