@appium/fake-driver 4.2.1 → 5.0.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.
Files changed (68) hide show
  1. package/build/lib/commands/alert.d.ts +345 -13
  2. package/build/lib/commands/alert.d.ts.map +1 -1
  3. package/build/lib/commands/alert.js +80 -53
  4. package/build/lib/commands/alert.js.map +1 -0
  5. package/build/lib/commands/contexts.d.ts +359 -14
  6. package/build/lib/commands/contexts.d.ts.map +1 -1
  7. package/build/lib/commands/contexts.js +102 -86
  8. package/build/lib/commands/contexts.js.map +1 -0
  9. package/build/lib/commands/element.d.ts +326 -22
  10. package/build/lib/commands/element.d.ts.map +1 -1
  11. package/build/lib/commands/element.js +108 -123
  12. package/build/lib/commands/element.js.map +1 -0
  13. package/build/lib/commands/find.d.ts +338 -18
  14. package/build/lib/commands/find.d.ts.map +1 -1
  15. package/build/lib/commands/find.js +113 -107
  16. package/build/lib/commands/find.js.map +1 -0
  17. package/build/lib/commands/general.d.ts +364 -28
  18. package/build/lib/commands/general.d.ts.map +1 -1
  19. package/build/lib/commands/general.js +97 -106
  20. package/build/lib/commands/general.js.map +1 -0
  21. package/build/lib/commands/index.d.ts +1598 -2
  22. package/build/lib/commands/index.d.ts.map +1 -1
  23. package/build/lib/commands/index.js +97 -18
  24. package/build/lib/commands/index.js.map +1 -0
  25. package/build/lib/driver.d.ts +118 -36
  26. package/build/lib/driver.d.ts.map +1 -1
  27. package/build/lib/driver.js +170 -145
  28. package/build/lib/driver.js.map +1 -0
  29. package/build/lib/fake-app.d.ts +15 -6
  30. package/build/lib/fake-app.d.ts.map +1 -1
  31. package/build/lib/fake-app.js +155 -194
  32. package/build/lib/fake-app.js.map +1 -0
  33. package/build/lib/fake-driver-schema.js +34 -26
  34. package/build/lib/fake-driver-schema.js.map +1 -0
  35. package/build/lib/fake-element.js +87 -121
  36. package/build/lib/fake-element.js.map +1 -0
  37. package/build/lib/index.d.ts +4 -5
  38. package/build/lib/index.d.ts.map +1 -1
  39. package/build/lib/index.js +15 -36
  40. package/build/lib/index.js.map +1 -0
  41. package/build/lib/logger.d.ts +1 -1
  42. package/build/lib/logger.d.ts.map +1 -1
  43. package/build/lib/logger.js +5 -15
  44. package/build/lib/logger.js.map +1 -0
  45. package/build/lib/scripts/fake-error.js +1 -5
  46. package/build/lib/scripts/fake-error.js.map +1 -0
  47. package/build/lib/scripts/fake-success.js +8 -11
  48. package/build/lib/scripts/fake-success.js.map +1 -0
  49. package/build/lib/server.d.ts +1 -1
  50. package/build/lib/server.d.ts.map +1 -1
  51. package/build/lib/server.js +18 -27
  52. package/build/lib/server.js.map +1 -0
  53. package/build/lib/types.d.ts +36 -0
  54. package/build/lib/types.d.ts.map +1 -0
  55. package/build/lib/types.js +3 -0
  56. package/build/lib/types.js.map +1 -0
  57. package/build/tsconfig.tsbuildinfo +1 -1
  58. package/lib/commands/alert.js +74 -34
  59. package/lib/commands/contexts.js +90 -52
  60. package/lib/commands/element.js +111 -98
  61. package/lib/commands/find.js +101 -77
  62. package/lib/commands/general.js +106 -75
  63. package/lib/commands/index.js +13 -17
  64. package/lib/driver.js +103 -32
  65. package/lib/fake-app.js +20 -6
  66. package/lib/index.js +4 -7
  67. package/lib/types.ts +42 -0
  68. package/package.json +11 -12
@@ -1,201 +1,162 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
8
6
  exports.FakeApp = void 0;
9
-
10
- require("source-map-support/register");
11
-
12
- var _support = require("appium/support");
13
-
14
- var _fs = require("fs");
15
-
16
- var _path = _interopRequireDefault(require("path"));
17
-
18
- var _xmldom = _interopRequireDefault(require("@xmldom/xmldom"));
19
-
20
- var _xpath = _interopRequireDefault(require("xpath"));
21
-
22
- var _logger = _interopRequireDefault(require("./logger"));
23
-
24
- var _fakeElement = require("./fake-element");
25
-
26
- const SCREENSHOT = _path.default.join(__dirname, 'screen.png');
27
-
7
+ const support_1 = require("appium/support");
8
+ const fs_1 = require("fs");
9
+ const path_1 = __importDefault(require("path"));
10
+ const xmldom_1 = __importDefault(require("@xmldom/xmldom"));
11
+ const xpath_1 = __importDefault(require("xpath"));
12
+ const logger_1 = __importDefault(require("./logger"));
13
+ const fake_element_1 = require("./fake-element");
14
+ const SCREENSHOT = path_1.default.join(__dirname, 'screen.png');
28
15
  class FakeApp {
29
- constructor() {
30
- this.dom = null;
31
- this.activeDom = null;
32
- this.activeWebview = null;
33
- this.activeFrame = null;
34
- this.activeAlert = null;
35
- this.lat = 0;
36
- this.long = 0;
37
- this._width = null;
38
- this._height = null;
39
- this.rawXml = '';
40
- this.currentOrientation = 'PORTRAIT';
41
- this.actionLog = [];
42
- }
43
-
44
- get title() {
45
- let nodes = this.xpathQuery('//title');
46
-
47
- if (nodes.length < 1) {
48
- throw new Error('No title!');
49
- }
50
-
51
- return nodes[0].firstChild.data;
52
- }
53
-
54
- get currentGeoLocation() {
55
- return {
56
- latitude: this.lat,
57
- longitude: this.long
58
- };
59
- }
60
-
61
- get orientation() {
62
- return this.currentOrientation;
63
- }
64
-
65
- set orientation(o) {
66
- this.currentOrientation = o;
67
- }
68
-
69
- get width() {
70
- if (this._width === null) {
71
- this.setDims();
72
- }
73
-
74
- return this._width;
75
- }
76
-
77
- get height() {
78
- if (this._width === null) {
79
- this.setDims();
80
- }
81
-
82
- return this._width;
83
- }
84
-
85
- setDims() {
86
- const nodes = this.xpathQuery('//app');
87
- const app = new _fakeElement.FakeElement(nodes[0], this);
88
- this._width = parseInt(app.nodeAttrs.width, 10);
89
- this._height = parseInt(app.nodeAttrs.height, 10);
90
- }
91
-
92
- async loadApp(appPath) {
93
- _logger.default.info(`Loading Mock app model at ${appPath}`);
94
-
95
- let data = await _support.fs.readFile(appPath);
96
-
97
- _logger.default.info('Parsing Mock app XML');
98
-
99
- this.rawXml = data.toString();
100
- this.rawXml = this.rawXml.replace('<app ', '<AppiumAUT><app ');
101
- this.rawXml = this.rawXml.replace('<app>', '<AppiumAUT><app>');
102
- this.rawXml = this.rawXml.replace('</app>', '</app></AppiumAUT>');
103
- this.dom = new _xmldom.default.DOMParser().parseFromString(this.rawXml);
104
- this.activeDom = this.dom;
105
- }
106
-
107
- getWebviews() {
108
- return this.xpathQuery('//MockWebView/*[1]').map(n => new FakeWebView(n));
109
- }
110
-
111
- activateWebview(wv) {
112
- this.activeWebview = wv;
113
- let fragment = new _xmldom.default.XMLSerializer().serializeToString(wv.node);
114
- this.activeDom = new _xmldom.default.DOMParser().parseFromString(fragment, 'application/xml');
115
- }
116
-
117
- deactivateWebview() {
118
- this.activeWebview = null;
119
- this.activeDom = this.dom;
120
- }
121
-
122
- activateFrame(frame) {
123
- this.activeFrame = frame;
124
- let fragment = new _xmldom.default.XMLSerializer().serializeToString(frame);
125
- this.activeDom = new _xmldom.default.DOMParser().parseFromString(fragment, 'application/xml');
126
- }
127
-
128
- deactivateFrame() {
129
- this.activeFrame = null;
130
- this.activateWebview(this.activeWebview);
131
- }
132
-
133
- xpathQuery(sel, ctx) {
134
- return _xpath.default.select(sel, ctx || this.activeDom);
135
- }
136
-
137
- idQuery(id, ctx) {
138
- return this.xpathQuery(`//*[@id="${id}"]`, ctx);
139
- }
140
-
141
- classQuery(className, ctx) {
142
- return this.xpathQuery(`//${className}`, ctx);
143
- }
144
-
145
- cssQuery(css, ctx) {
146
- if (css.startsWith('#')) {
147
- return this.idQuery(css.slice(1), ctx);
148
- }
149
-
150
- if (css.startsWith('.')) {
151
- return this.classQuery(css.slice(1), ctx);
152
- }
153
-
154
- return this.classQuery(css, ctx);
155
- }
156
-
157
- hasAlert() {
158
- return this.activeAlert !== null;
159
- }
160
-
161
- setAlertText(text) {
162
- if (!this.activeAlert.hasPrompt()) {
163
- throw new Error('No prompt to set text of');
164
- }
165
-
166
- this.activeAlert.setAttr('prompt', text);
167
- }
168
-
169
- showAlert(alertId) {
170
- let nodes = this.xpathQuery(`//alert[@id="${alertId}"]`);
171
-
172
- if (nodes.length < 1) {
173
- throw new Error(`Alert ${alertId} doesn't exist!`);
174
- }
175
-
176
- this.activeAlert = new _fakeElement.FakeElement(nodes[0], this);
177
- }
178
-
179
- alertText() {
180
- return this.activeAlert.getAttr('prompt') || this.activeAlert.nodeAttrs.text;
181
- }
182
-
183
- handleAlert() {
184
- this.activeAlert = null;
185
- }
186
-
187
- getScreenshot() {
188
- return (0, _fs.readFileSync)(SCREENSHOT, 'base64');
189
- }
190
-
16
+ constructor() {
17
+ this.dom = null;
18
+ this.activeDom = null;
19
+ this.activeWebview = null;
20
+ this.activeFrame = null;
21
+ this.activeAlert = null;
22
+ this.lat = 0;
23
+ this.long = 0;
24
+ this._width = null;
25
+ this._height = null;
26
+ this.rawXml = '';
27
+ this.currentOrientation = 'PORTRAIT';
28
+ this.actionLog = [];
29
+ }
30
+ get title() {
31
+ let nodes = this.xpathQuery('//title');
32
+ if (nodes.length < 1) {
33
+ throw new Error('No title!');
34
+ }
35
+ const node = /** @type {Node} */ (nodes[0]);
36
+ return /** @type {ElementWithData} */ (node.firstChild).data;
37
+ }
38
+ /**
39
+ * @type {import('@appium/types').Location}
40
+ */
41
+ get currentGeoLocation() {
42
+ return {
43
+ latitude: this.lat,
44
+ longitude: this.long,
45
+ };
46
+ }
47
+ get orientation() {
48
+ return this.currentOrientation;
49
+ }
50
+ set orientation(o) {
51
+ this.currentOrientation = o;
52
+ }
53
+ /**
54
+ * @type {number}
55
+ */
56
+ get width() {
57
+ if (this._width === null) {
58
+ this.setDims();
59
+ }
60
+ return /** @type {number} */ (this._width);
61
+ }
62
+ /**
63
+ * @type {number}
64
+ */
65
+ get height() {
66
+ if (this._width === null) {
67
+ this.setDims();
68
+ }
69
+ return /** @type {number} */ (this._width);
70
+ }
71
+ setDims() {
72
+ const nodes = this.xpathQuery('//app');
73
+ const app = new fake_element_1.FakeElement(nodes[0], this);
74
+ this._width = parseInt(app.nodeAttrs.width, 10);
75
+ this._height = parseInt(app.nodeAttrs.height, 10);
76
+ }
77
+ async loadApp(appPath) {
78
+ logger_1.default.info(`Loading Mock app model at ${appPath}`);
79
+ let data = await support_1.fs.readFile(appPath);
80
+ logger_1.default.info('Parsing Mock app XML');
81
+ this.rawXml = data.toString();
82
+ this.rawXml = this.rawXml.replace('<app ', '<AppiumAUT><app ');
83
+ this.rawXml = this.rawXml.replace('<app>', '<AppiumAUT><app>');
84
+ this.rawXml = this.rawXml.replace('</app>', '</app></AppiumAUT>');
85
+ this.dom = new xmldom_1.default.DOMParser().parseFromString(this.rawXml);
86
+ this.activeDom = this.dom;
87
+ }
88
+ getWebviews() {
89
+ return this.xpathQuery('//MockWebView/*[1]').map((n) => new FakeWebView(n));
90
+ }
91
+ activateWebview(wv) {
92
+ this.activeWebview = wv;
93
+ let fragment = new xmldom_1.default.XMLSerializer().serializeToString(wv.node);
94
+ this.activeDom = new xmldom_1.default.DOMParser().parseFromString(fragment, 'application/xml');
95
+ }
96
+ deactivateWebview() {
97
+ this.activeWebview = null;
98
+ this.activeDom = this.dom;
99
+ }
100
+ activateFrame(frame) {
101
+ this.activeFrame = frame;
102
+ let fragment = new xmldom_1.default.XMLSerializer().serializeToString(frame);
103
+ this.activeDom = new xmldom_1.default.DOMParser().parseFromString(fragment, 'application/xml');
104
+ }
105
+ deactivateFrame() {
106
+ this.activeFrame = null;
107
+ this.activateWebview(this.activeWebview);
108
+ }
109
+ xpathQuery(sel, ctx) {
110
+ return xpath_1.default.select(sel, ctx || this.activeDom);
111
+ }
112
+ idQuery(id, ctx) {
113
+ return this.xpathQuery(`//*[@id="${id}"]`, ctx);
114
+ }
115
+ classQuery(className, ctx) {
116
+ return this.xpathQuery(`//${className}`, ctx);
117
+ }
118
+ cssQuery(css, ctx) {
119
+ if (css.startsWith('#')) {
120
+ return this.idQuery(css.slice(1), ctx);
121
+ }
122
+ if (css.startsWith('.')) {
123
+ return this.classQuery(css.slice(1), ctx);
124
+ }
125
+ return this.classQuery(css, ctx);
126
+ }
127
+ hasAlert() {
128
+ return this.activeAlert !== null;
129
+ }
130
+ setAlertText(text) {
131
+ if (!this.activeAlert?.hasPrompt()) {
132
+ throw new Error('No prompt to set text of');
133
+ }
134
+ this.activeAlert?.setAttr('prompt', text);
135
+ }
136
+ showAlert(alertId) {
137
+ let nodes = this.xpathQuery(`//alert[@id="${alertId}"]`);
138
+ if (nodes.length < 1) {
139
+ throw new Error(`Alert ${alertId} doesn't exist!`);
140
+ }
141
+ this.activeAlert = new fake_element_1.FakeElement(nodes[0], this);
142
+ }
143
+ alertText() {
144
+ return this.activeAlert?.getAttr('prompt') || this.activeAlert?.nodeAttrs.text;
145
+ }
146
+ handleAlert() {
147
+ this.activeAlert = null;
148
+ }
149
+ getScreenshot() {
150
+ return (0, fs_1.readFileSync)(SCREENSHOT, 'base64');
151
+ }
191
152
  }
192
-
193
153
  exports.FakeApp = FakeApp;
194
-
195
154
  class FakeWebView {
196
- constructor(node) {
197
- this.node = node;
198
- }
199
-
155
+ constructor(node) {
156
+ this.node = node;
157
+ }
200
158
  }
201
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQ1JFRU5TSE9UIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJGYWtlQXBwIiwiY29uc3RydWN0b3IiLCJkb20iLCJhY3RpdmVEb20iLCJhY3RpdmVXZWJ2aWV3IiwiYWN0aXZlRnJhbWUiLCJhY3RpdmVBbGVydCIsImxhdCIsImxvbmciLCJfd2lkdGgiLCJfaGVpZ2h0IiwicmF3WG1sIiwiY3VycmVudE9yaWVudGF0aW9uIiwiYWN0aW9uTG9nIiwidGl0bGUiLCJub2RlcyIsInhwYXRoUXVlcnkiLCJsZW5ndGgiLCJFcnJvciIsImZpcnN0Q2hpbGQiLCJkYXRhIiwiY3VycmVudEdlb0xvY2F0aW9uIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJvcmllbnRhdGlvbiIsIm8iLCJ3aWR0aCIsInNldERpbXMiLCJoZWlnaHQiLCJhcHAiLCJGYWtlRWxlbWVudCIsInBhcnNlSW50Iiwibm9kZUF0dHJzIiwibG9hZEFwcCIsImFwcFBhdGgiLCJsb2ciLCJpbmZvIiwiZnMiLCJyZWFkRmlsZSIsInRvU3RyaW5nIiwicmVwbGFjZSIsIlhNTERvbSIsIkRPTVBhcnNlciIsInBhcnNlRnJvbVN0cmluZyIsImdldFdlYnZpZXdzIiwibWFwIiwibiIsIkZha2VXZWJWaWV3IiwiYWN0aXZhdGVXZWJ2aWV3Iiwid3YiLCJmcmFnbWVudCIsIlhNTFNlcmlhbGl6ZXIiLCJzZXJpYWxpemVUb1N0cmluZyIsIm5vZGUiLCJkZWFjdGl2YXRlV2VidmlldyIsImFjdGl2YXRlRnJhbWUiLCJmcmFtZSIsImRlYWN0aXZhdGVGcmFtZSIsInNlbCIsImN0eCIsInhwYXRoIiwic2VsZWN0IiwiaWRRdWVyeSIsImlkIiwiY2xhc3NRdWVyeSIsImNsYXNzTmFtZSIsImNzc1F1ZXJ5IiwiY3NzIiwic3RhcnRzV2l0aCIsInNsaWNlIiwiaGFzQWxlcnQiLCJzZXRBbGVydFRleHQiLCJ0ZXh0IiwiaGFzUHJvbXB0Iiwic2V0QXR0ciIsInNob3dBbGVydCIsImFsZXJ0SWQiLCJhbGVydFRleHQiLCJnZXRBdHRyIiwiaGFuZGxlQWxlcnQiLCJnZXRTY3JlZW5zaG90IiwicmVhZEZpbGVTeW5jIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2Zha2UtYXBwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZnN9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7cmVhZEZpbGVTeW5jfSBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBYTUxEb20gZnJvbSAnQHhtbGRvbS94bWxkb20nO1xuaW1wb3J0IHhwYXRoIGZyb20gJ3hwYXRoJztcbmltcG9ydCBsb2cgZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtGYWtlRWxlbWVudH0gZnJvbSAnLi9mYWtlLWVsZW1lbnQnO1xuXG5jb25zdCBTQ1JFRU5TSE9UID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ3NjcmVlbi5wbmcnKTtcblxuY2xhc3MgRmFrZUFwcCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZG9tID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2ZURvbSA9IG51bGw7XG4gICAgdGhpcy5hY3RpdmVXZWJ2aWV3ID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2ZUFsZXJ0ID0gbnVsbDtcbiAgICB0aGlzLmxhdCA9IDA7XG4gICAgdGhpcy5sb25nID0gMDtcbiAgICB0aGlzLl93aWR0aCA9IG51bGw7XG4gICAgdGhpcy5faGVpZ2h0ID0gbnVsbDtcbiAgICB0aGlzLnJhd1htbCA9ICcnO1xuICAgIHRoaXMuY3VycmVudE9yaWVudGF0aW9uID0gJ1BPUlRSQUlUJztcbiAgICB0aGlzLmFjdGlvbkxvZyA9IFtdO1xuICB9XG5cbiAgZ2V0IHRpdGxlKCkge1xuICAgIGxldCBub2RlcyA9IHRoaXMueHBhdGhRdWVyeSgnLy90aXRsZScpO1xuICAgIGlmIChub2Rlcy5sZW5ndGggPCAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHRpdGxlIScpO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZXNbMF0uZmlyc3RDaGlsZC5kYXRhO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRHZW9Mb2NhdGlvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGF0aXR1ZGU6IHRoaXMubGF0LFxuICAgICAgbG9uZ2l0dWRlOiB0aGlzLmxvbmcsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBvcmllbnRhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50T3JpZW50YXRpb247XG4gIH1cblxuICBzZXQgb3JpZW50YXRpb24obykge1xuICAgIHRoaXMuY3VycmVudE9yaWVudGF0aW9uID0gbztcbiAgfVxuXG4gIGdldCB3aWR0aCgpIHtcbiAgICBpZiAodGhpcy5fd2lkdGggPT09IG51bGwpIHtcbiAgICAgIHRoaXMuc2V0RGltcygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gIH1cblxuICBnZXQgaGVpZ2h0KCkge1xuICAgIGlmICh0aGlzLl93aWR0aCA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5zZXREaW1zKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgfVxuXG4gIHNldERpbXMoKSB7XG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLnhwYXRoUXVlcnkoJy8vYXBwJyk7XG4gICAgY29uc3QgYXBwID0gbmV3IEZha2VFbGVtZW50KG5vZGVzWzBdLCB0aGlzKTtcbiAgICB0aGlzLl93aWR0aCA9IHBhcnNlSW50KGFwcC5ub2RlQXR0cnMud2lkdGgsIDEwKTtcbiAgICB0aGlzLl9oZWlnaHQgPSBwYXJzZUludChhcHAubm9kZUF0dHJzLmhlaWdodCwgMTApO1xuICB9XG5cbiAgYXN5bmMgbG9hZEFwcChhcHBQYXRoKSB7XG4gICAgbG9nLmluZm8oYExvYWRpbmcgTW9jayBhcHAgbW9kZWwgYXQgJHthcHBQYXRofWApO1xuICAgIGxldCBkYXRhID0gYXdhaXQgZnMucmVhZEZpbGUoYXBwUGF0aCk7XG4gICAgbG9nLmluZm8oJ1BhcnNpbmcgTW9jayBhcHAgWE1MJyk7XG4gICAgdGhpcy5yYXdYbWwgPSBkYXRhLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5yYXdYbWwgPSB0aGlzLnJhd1htbC5yZXBsYWNlKCc8YXBwICcsICc8QXBwaXVtQVVUPjxhcHAgJyk7XG4gICAgdGhpcy5yYXdYbWwgPSB0aGlzLnJhd1htbC5yZXBsYWNlKCc8YXBwPicsICc8QXBwaXVtQVVUPjxhcHA+Jyk7XG4gICAgdGhpcy5yYXdYbWwgPSB0aGlzLnJhd1htbC5yZXBsYWNlKCc8L2FwcD4nLCAnPC9hcHA+PC9BcHBpdW1BVVQ+Jyk7XG4gICAgdGhpcy5kb20gPSBuZXcgWE1MRG9tLkRPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyh0aGlzLnJhd1htbCk7XG4gICAgdGhpcy5hY3RpdmVEb20gPSB0aGlzLmRvbTtcbiAgfVxuXG4gIGdldFdlYnZpZXdzKCkge1xuICAgIHJldHVybiB0aGlzLnhwYXRoUXVlcnkoJy8vTW9ja1dlYlZpZXcvKlsxXScpLm1hcCgobikgPT4gbmV3IEZha2VXZWJWaWV3KG4pKTtcbiAgfVxuXG4gIGFjdGl2YXRlV2Vidmlldyh3dikge1xuICAgIHRoaXMuYWN0aXZlV2VidmlldyA9IHd2O1xuICAgIGxldCBmcmFnbWVudCA9IG5ldyBYTUxEb20uWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHd2Lm5vZGUpO1xuICAgIHRoaXMuYWN0aXZlRG9tID0gbmV3IFhNTERvbS5ET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZnJhZ21lbnQsICdhcHBsaWNhdGlvbi94bWwnKTtcbiAgfVxuXG4gIGRlYWN0aXZhdGVXZWJ2aWV3KCkge1xuICAgIHRoaXMuYWN0aXZlV2VidmlldyA9IG51bGw7XG4gICAgdGhpcy5hY3RpdmVEb20gPSB0aGlzLmRvbTtcbiAgfVxuXG4gIGFjdGl2YXRlRnJhbWUoZnJhbWUpIHtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gZnJhbWU7XG4gICAgbGV0IGZyYWdtZW50ID0gbmV3IFhNTERvbS5YTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoZnJhbWUpO1xuICAgIHRoaXMuYWN0aXZlRG9tID0gbmV3IFhNTERvbS5ET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZnJhZ21lbnQsICdhcHBsaWNhdGlvbi94bWwnKTtcbiAgfVxuXG4gIGRlYWN0aXZhdGVGcmFtZSgpIHtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2YXRlV2Vidmlldyh0aGlzLmFjdGl2ZVdlYnZpZXcpO1xuICB9XG5cbiAgeHBhdGhRdWVyeShzZWwsIGN0eCkge1xuICAgIHJldHVybiB4cGF0aC5zZWxlY3Qoc2VsLCBjdHggfHwgdGhpcy5hY3RpdmVEb20pO1xuICB9XG5cbiAgaWRRdWVyeShpZCwgY3R4KSB7XG4gICAgcmV0dXJuIHRoaXMueHBhdGhRdWVyeShgLy8qW0BpZD1cIiR7aWR9XCJdYCwgY3R4KTtcbiAgfVxuXG4gIGNsYXNzUXVlcnkoY2xhc3NOYW1lLCBjdHgpIHtcbiAgICByZXR1cm4gdGhpcy54cGF0aFF1ZXJ5KGAvLyR7Y2xhc3NOYW1lfWAsIGN0eCk7XG4gIH1cblxuICBjc3NRdWVyeShjc3MsIGN0eCkge1xuICAgIGlmIChjc3Muc3RhcnRzV2l0aCgnIycpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pZFF1ZXJ5KGNzcy5zbGljZSgxKSwgY3R4KTtcbiAgICB9XG4gICAgaWYgKGNzcy5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsYXNzUXVlcnkoY3NzLnNsaWNlKDEpLCBjdHgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbGFzc1F1ZXJ5KGNzcywgY3R4KTtcbiAgfVxuXG4gIGhhc0FsZXJ0KCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUFsZXJ0ICE9PSBudWxsO1xuICB9XG5cbiAgc2V0QWxlcnRUZXh0KHRleHQpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlQWxlcnQuaGFzUHJvbXB0KCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcHJvbXB0IHRvIHNldCB0ZXh0IG9mJyk7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlQWxlcnQuc2V0QXR0cigncHJvbXB0JywgdGV4dCk7XG4gIH1cblxuICBzaG93QWxlcnQoYWxlcnRJZCkge1xuICAgIGxldCBub2RlcyA9IHRoaXMueHBhdGhRdWVyeShgLy9hbGVydFtAaWQ9XCIke2FsZXJ0SWR9XCJdYCk7XG4gICAgaWYgKG5vZGVzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQWxlcnQgJHthbGVydElkfSBkb2Vzbid0IGV4aXN0IWApO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZUFsZXJ0ID0gbmV3IEZha2VFbGVtZW50KG5vZGVzWzBdLCB0aGlzKTtcbiAgfVxuXG4gIGFsZXJ0VGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVBbGVydC5nZXRBdHRyKCdwcm9tcHQnKSB8fCB0aGlzLmFjdGl2ZUFsZXJ0Lm5vZGVBdHRycy50ZXh0O1xuICB9XG5cbiAgaGFuZGxlQWxlcnQoKSB7XG4gICAgdGhpcy5hY3RpdmVBbGVydCA9IG51bGw7XG4gIH1cblxuICBnZXRTY3JlZW5zaG90KCkge1xuICAgIHJldHVybiByZWFkRmlsZVN5bmMoU0NSRUVOU0hPVCwgJ2Jhc2U2NCcpO1xuICB9XG59XG5cbmNsYXNzIEZha2VXZWJWaWV3IHtcbiAgY29uc3RydWN0b3Iobm9kZSkge1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IHtGYWtlQXBwfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxVQUFVLEdBQUdDLGFBQUEsQ0FBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLFlBQXJCLENBQW5COztBQUVBLE1BQU1DLE9BQU4sQ0FBYztFQUNaQyxXQUFXLEdBQUc7SUFDWixLQUFLQyxHQUFMLEdBQVcsSUFBWDtJQUNBLEtBQUtDLFNBQUwsR0FBaUIsSUFB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
159
+ /**
160
+ * @typedef {Element & {data: any}} ElementWithData
161
+ */
162
+ //# sourceMappingURL=fake-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake-app.js","sourceRoot":"","sources":["../../lib/fake-app.js"],"names":[],"mappings":"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"}
@@ -1,29 +1,37 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- require("source-map-support/register");
9
-
10
- var _default = {
11
- type: 'object',
12
- title: 'Fake Driver Configuration',
13
- description: 'A schema for Fake Driver arguments',
14
- properties: {
15
- 'silly-web-server-port': {
16
- type: 'integer',
17
- minimum: 1,
18
- maximum: 65535,
19
- description: 'The port to use for the fake web server'
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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.default = {
19
+ type: 'object',
20
+ title: 'Fake Driver Configuration',
21
+ description: 'A schema for Fake Driver arguments',
22
+ properties: {
23
+ // the prop name will always be normalized to camelCase
24
+ 'silly-web-server-port': {
25
+ type: 'integer',
26
+ minimum: 1,
27
+ maximum: 65535,
28
+ description: 'The port to use for the fake web server',
29
+ },
30
+ sillyWebServerHost: {
31
+ type: 'string',
32
+ description: 'The host to use for the fake web server',
33
+ default: 'sillyhost',
34
+ },
20
35
  },
21
- sillyWebServerHost: {
22
- type: 'string',
23
- description: 'The host to use for the fake web server',
24
- default: 'sillyhost'
25
- }
26
- }
27
36
  };
28
- exports.default = _default;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0eXBlIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInByb3BlcnRpZXMiLCJtaW5pbXVtIiwibWF4aW11bSIsInNpbGx5V2ViU2VydmVySG9zdCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9saWIvZmFrZS1kcml2ZXItc2NoZW1hLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMgY291bGQgYmUgYSAuanNvbiBmaWxlLCB0b286XG4vLyB7XG4vLyAgIFwiJHNjaGVtYVwiOiBcImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hXCIsXG4vLyAgIFwiJGlkXCI6IFwiaHR0cHM6Ly9hcHBpdW0uaW8vZmFrZS1kcml2ZXIuanNvblwiLFxuLy8gICBcInR5cGVcIjogXCJvYmplY3RcIixcbi8vICAgXCJ0aXRsZVwiOiBcIkZha2UgRHJpdmVyIENvbmZpZ3VyYXRpb25cIixcbi8vICAgXCJkZXNjcmlwdGlvblwiOiBcIkEgc2NoZW1hIGZvciBGYWtlIERyaXZlciBhcmd1bWVudHNcIixcbi8vICAgXCJwcm9wZXJ0aWVzXCI6IHtcbi8vICAgICBcImFuc3dlclwiOiB7XG4vLyAgICAgICBcInR5cGVcIjogXCJudW1iZXJcIixcbi8vICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJUaGUgYW5zd2VyIHRvIGxpZmUsIHRoZSB1bml2ZXJzZSwgYW5kIGV2ZXJ5dGhpbmdcIixcbi8vICAgICAgIFwiZGVmYXVsdFwiOiA0MlxuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHR5cGU6ICdvYmplY3QnLFxuICB0aXRsZTogJ0Zha2UgRHJpdmVyIENvbmZpZ3VyYXRpb24nLFxuICBkZXNjcmlwdGlvbjogJ0Egc2NoZW1hIGZvciBGYWtlIERyaXZlciBhcmd1bWVudHMnLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLy8gdGhlIHByb3AgbmFtZSB3aWxsIGFsd2F5cyBiZSBub3JtYWxpemVkIHRvIGNhbWVsQ2FzZVxuICAgICdzaWxseS13ZWItc2VydmVyLXBvcnQnOiB7XG4gICAgICB0eXBlOiAnaW50ZWdlcicsXG4gICAgICBtaW5pbXVtOiAxLFxuICAgICAgbWF4aW11bTogNjU1MzUsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSBwb3J0IHRvIHVzZSBmb3IgdGhlIGZha2Ugd2ViIHNlcnZlcicsXG4gICAgfSxcbiAgICBzaWxseVdlYlNlcnZlckhvc3Q6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGUgaG9zdCB0byB1c2UgZm9yIHRoZSBmYWtlIHdlYiBzZXJ2ZXInLFxuICAgICAgZGVmYXVsdDogJ3NpbGx5aG9zdCcsXG4gICAgfSxcbiAgfSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztlQWdCZTtFQUNiQSxJQUFJLEVBQUUsUUFETztFQUViQyxLQUFLLEVBQUUsMkJBRk07RUFHYkMsV0FBVyxFQUFFLG9DQUhBO0VBSWJDLFVBQVUsRUFBRTtJQUVWLHlCQUF5QjtNQUN2QkgsSUFBSSxFQUFFLFNBRGlCO01BRXZCSSxPQUFPLEVBQUUsQ0FGYztNQUd2QkMsT0FBTyxFQUFFLEtBSGM7TUFJdkJILFdBQVcsRUFBRTtJQUpVLENBRmY7SUFRVkksa0JBQWtCLEVBQUU7TUFDbEJOLElBQUksRUFBRSxRQURZO01BRWxCRSxXQUFXLEVBQUUseUNBRks7TUFHbEJLLE9BQU8sRUFBRTtJQUhTO0VBUlY7QUFKQyxDIn0=
37
+ //# sourceMappingURL=fake-driver-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake-driver-schema.js","sourceRoot":"","sources":["../../lib/fake-driver-schema.js"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,IAAI;AACJ,yDAAyD;AACzD,iDAAiD;AACjD,sBAAsB;AACtB,0CAA0C;AAC1C,yDAAyD;AACzD,oBAAoB;AACpB,kBAAkB;AAClB,0BAA0B;AAC1B,2EAA2E;AAC3E,sBAAsB;AACtB,QAAQ;AACR,MAAM;AACN,IAAI;;AAEJ,kBAAe;IACb,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,2BAA2B;IAClC,WAAW,EAAE,oCAAoC;IACjD,UAAU,EAAE;QACV,uDAAuD;QACvD,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"}