@appium/fake-driver 4.2.2 → 5.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.
Files changed (69) hide show
  1. package/build/lib/commands/alert.d.ts +330 -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 -1
  5. package/build/lib/commands/contexts.d.ts +330 -14
  6. package/build/lib/commands/contexts.d.ts.map +1 -1
  7. package/build/lib/commands/contexts.js +101 -86
  8. package/build/lib/commands/contexts.js.map +1 -1
  9. package/build/lib/commands/element.d.ts +315 -22
  10. package/build/lib/commands/element.d.ts.map +1 -1
  11. package/build/lib/commands/element.js +112 -123
  12. package/build/lib/commands/element.js.map +1 -1
  13. package/build/lib/commands/find.d.ts +328 -18
  14. package/build/lib/commands/find.d.ts.map +1 -1
  15. package/build/lib/commands/find.js +118 -107
  16. package/build/lib/commands/find.js.map +1 -1
  17. package/build/lib/commands/general.d.ts +332 -28
  18. package/build/lib/commands/general.d.ts.map +1 -1
  19. package/build/lib/commands/general.js +101 -106
  20. package/build/lib/commands/general.js.map +1 -1
  21. package/build/lib/commands/index.d.ts +1523 -2
  22. package/build/lib/commands/index.d.ts.map +1 -1
  23. package/build/lib/commands/index.js +96 -18
  24. package/build/lib/commands/index.js.map +1 -1
  25. package/build/lib/driver.d.ts +145 -33
  26. package/build/lib/driver.d.ts.map +1 -1
  27. package/build/lib/driver.js +200 -145
  28. package/build/lib/driver.js.map +1 -1
  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 -1
  33. package/build/lib/fake-driver-schema.js +34 -26
  34. package/build/lib/fake-driver-schema.js.map +1 -1
  35. package/build/lib/fake-element.js +87 -121
  36. package/build/lib/fake-element.js.map +1 -1
  37. package/build/lib/index.d.ts +6 -5
  38. package/build/lib/index.d.ts.map +1 -1
  39. package/build/lib/index.js +19 -36
  40. package/build/lib/index.js.map +1 -1
  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 -1
  45. package/build/lib/scripts/fake-error.js +1 -5
  46. package/build/lib/scripts/fake-error.js.map +1 -1
  47. package/build/lib/scripts/fake-success.js +8 -11
  48. package/build/lib/scripts/fake-success.js.map +1 -1
  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 -1
  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 +89 -52
  60. package/lib/commands/element.js +115 -98
  61. package/lib/commands/find.js +106 -77
  62. package/lib/commands/general.js +112 -75
  63. package/lib/commands/index.js +12 -17
  64. package/lib/driver.js +132 -39
  65. package/lib/fake-app.js +20 -6
  66. package/lib/index.js +9 -7
  67. package/lib/types.ts +42 -0
  68. package/package.json +13 -12
  69. package/tsconfig.json +20 -0
@@ -1,201 +1,162 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FakeApp = void 0;
7
-
8
- require("source-map-support/register");
9
-
10
- var _support = require("appium/support");
11
-
12
- var _fs = require("fs");
13
-
14
- var _path = _interopRequireDefault(require("path"));
15
-
16
- var _xmldom = _interopRequireDefault(require("@xmldom/xmldom"));
17
-
18
- var _xpath = _interopRequireDefault(require("xpath"));
19
-
20
- var _logger = _interopRequireDefault(require("./logger"));
21
-
22
- var _fakeElement = require("./fake-element");
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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+Jyk7XG4gICAgdGhpcy5kb20gPSBuZXcgWE1MRG9tLkRPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyh0aGlzLnJhd1htbCk7XG4gICAgdGhpcy5hY3RpdmVEb20gPSB0aGlzLmRvbTtcbiAgfVxuXG4gIGdldFdlYnZpZXdzKCkge1xuICAgIHJldHVybiB0aGlzLnhwYXRoUXVlcnkoJy8vTW9ja1dlYlZpZXcvKlsxXScpLm1hcCgobikgPT4gbmV3IEZha2VXZWJWaWV3KG4pKTtcbiAgfVxuXG4gIGFjdGl2YXRlV2Vidmlldyh3dikge1xuICAgIHRoaXMuYWN0aXZlV2VidmlldyA9IHd2O1xuICAgIGxldCBmcmFnbWVudCA9IG5ldyBYTUxEb20uWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHd2Lm5vZGUpO1xuICAgIHRoaXMuYWN0aXZlRG9tID0gbmV3IFhNTERvbS5ET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZnJhZ21lbnQsICdhcHBsaWNhdGlvbi94bWwnKTtcbiAgfVxuXG4gIGRlYWN0aXZhdGVXZWJ2aWV3KCkge1xuICAgIHRoaXMuYWN0aXZlV2VidmlldyA9IG51bGw7XG4gICAgdGhpcy5hY3RpdmVEb20gPSB0aGlzLmRvbTtcbiAgfVxuXG4gIGFjdGl2YXRlRnJhbWUoZnJhbWUpIHtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gZnJhbWU7XG4gICAgbGV0IGZyYWdtZW50ID0gbmV3IFhNTERvbS5YTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoZnJhbWUpO1xuICAgIHRoaXMuYWN0aXZlRG9tID0gbmV3IFhNTERvbS5ET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZnJhZ21lbnQsICdhcHBsaWNhdGlvbi94bWwnKTtcbiAgfVxuXG4gIGRlYWN0aXZhdGVGcmFtZSgpIHtcbiAgICB0aGlzLmFjdGl2ZUZyYW1lID0gbnVsbDtcbiAgICB0aGlzLmFjdGl2YXRlV2Vidmlldyh0aGlzLmFjdGl2ZVdlYnZpZXcpO1xuICB9XG5cbiAgeHBhdGhRdWVyeShzZWwsIGN0eCkge1xuICAgIHJldHVybiB4cGF0aC5zZWxlY3Qoc2VsLCBjdHggfHwgdGhpcy5hY3RpdmVEb20pO1xuICB9XG5cbiAgaWRRdWVyeShpZCwgY3R4KSB7XG4gICAgcmV0dXJuIHRoaXMueHBhdGhRdWVyeShgLy8qW0BpZD1cIiR7aWR9XCJdYCwgY3R4KTtcbiAgfVxuXG4gIGNsYXNzUXVlcnkoY2xhc3NOYW1lLCBjdHgpIHtcbiAgICByZXR1cm4gdGhpcy54cGF0aFF1ZXJ5KGAvLyR7Y2xhc3NOYW1lfWAsIGN0eCk7XG4gIH1cblxuICBjc3NRdWVyeShjc3MsIGN0eCkge1xuICAgIGlmIChjc3Muc3RhcnRzV2l0aCgnIycpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pZFF1ZXJ5KGNzcy5zbGljZSgxKSwgY3R4KTtcbiAgICB9XG4gICAgaWYgKGNzcy5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsYXNzUXVlcnkoY3NzLnNsaWNlKDEpLCBjdHgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbGFzc1F1ZXJ5KGNzcywgY3R4KTtcbiAgfVxuXG4gIGhhc0FsZXJ0KCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUFsZXJ0ICE9PSBudWxsO1xuICB9XG5cbiAgc2V0QWxlcnRUZXh0KHRleHQpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlQWxlcnQuaGFzUHJvbXB0KCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcHJvbXB0IHRvIHNldCB0ZXh0IG9mJyk7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlQWxlcnQuc2V0QXR0cigncHJvbXB0JywgdGV4dCk7XG4gIH1cblxuICBzaG93QWxlcnQoYWxlcnRJZCkge1xuICAgIGxldCBub2RlcyA9IHRoaXMueHBhdGhRdWVyeShgLy9hbGVydFtAaWQ9XCIke2FsZXJ0SWR9XCJdYCk7XG4gICAgaWYgKG5vZGVzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQWxlcnQgJHthbGVydElkfSBkb2Vzbid0IGV4aXN0IWApO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZUFsZXJ0ID0gbmV3IEZha2VFbGVtZW50KG5vZGVzWzBdLCB0aGlzKTtcbiAgfVxuXG4gIGFsZXJ0VGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVBbGVydC5nZXRBdHRyKCdwcm9tcHQnKSB8fCB0aGlzLmFjdGl2ZUFsZXJ0Lm5vZGVBdHRycy50ZXh0O1xuICB9XG5cbiAgaGFuZGxlQWxlcnQoKSB7XG4gICAgdGhpcy5hY3RpdmVBbGVydCA9IG51bGw7XG4gIH1cblxuICBnZXRTY3JlZW5zaG90KCkge1xuICAgIHJldHVybiByZWFkRmlsZVN5bmMoU0NSRUVOU0hPVCwgJ2Jhc2U2NCcpO1xuICB9XG59XG5cbmNsYXNzIEZha2VXZWJWaWV3IHtcbiAgY29uc3RydWN0b3Iobm9kZSkge1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IHtGYWtlQXBwfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxNQUFNQSxVQUFVLEdBQUdDLGFBQUEsQ0FBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLFlBQXJCLENBQW5COztBQUVBLE1BQU1DLE9BQU4sQ0FBYztFQUNaQyxXQUFXLEdBQUc7SUFDWixLQUFLQyxHQUFMLEdBQVcsSUFBWDtJQUNBLEtBQUtDLFNBQUwsR0FBaUIsSUFB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
159
+ /**
160
+ * @typedef {Element & {data: any}} ElementWithData
161
+ */
162
+ //# sourceMappingURL=fake-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fake-app.js","names":["SCREENSHOT","path","join","__dirname","FakeApp","constructor","dom","activeDom","activeWebview","activeFrame","activeAlert","lat","long","_width","_height","rawXml","currentOrientation","actionLog","title","nodes","xpathQuery","length","Error","firstChild","data","currentGeoLocation","latitude","longitude","orientation","o","width","setDims","height","app","FakeElement","parseInt","nodeAttrs","loadApp","appPath","log","info","fs","readFile","toString","replace","XMLDom","DOMParser","parseFromString","getWebviews","map","n","FakeWebView","activateWebview","wv","fragment","XMLSerializer","serializeToString","node","deactivateWebview","activateFrame","frame","deactivateFrame","sel","ctx","xpath","select","idQuery","id","classQuery","className","cssQuery","css","startsWith","slice","hasAlert","setAlertText","text","hasPrompt","setAttr","showAlert","alertId","alertText","getAttr","handleAlert","getScreenshot","readFileSync"],"sources":["../../lib/fake-app.js"],"sourcesContent":["import {fs} from 'appium/support';\nimport {readFileSync} from 'fs';\nimport path from 'path';\nimport XMLDom from '@xmldom/xmldom';\nimport xpath from 'xpath';\nimport log from './logger';\nimport {FakeElement} from './fake-element';\n\nconst SCREENSHOT = path.join(__dirname, 'screen.png');\n\nclass FakeApp {\n constructor() {\n this.dom = null;\n this.activeDom = null;\n this.activeWebview = null;\n this.activeFrame = null;\n this.activeAlert = null;\n this.lat = 0;\n this.long = 0;\n this._width = null;\n this._height = null;\n this.rawXml = '';\n this.currentOrientation = 'PORTRAIT';\n this.actionLog = [];\n }\n\n get title() {\n let nodes = this.xpathQuery('//title');\n if (nodes.length < 1) {\n throw new Error('No title!');\n }\n return nodes[0].firstChild.data;\n }\n\n get currentGeoLocation() {\n return {\n latitude: this.lat,\n longitude: this.long,\n };\n }\n\n get orientation() {\n return this.currentOrientation;\n }\n\n set orientation(o) {\n this.currentOrientation = o;\n }\n\n get width() {\n if (this._width === null) {\n this.setDims();\n }\n return this._width;\n }\n\n get height() {\n if (this._width === null) {\n this.setDims();\n }\n return this._width;\n }\n\n setDims() {\n const nodes = this.xpathQuery('//app');\n const app = new FakeElement(nodes[0], this);\n this._width = parseInt(app.nodeAttrs.width, 10);\n this._height = parseInt(app.nodeAttrs.height, 10);\n }\n\n async loadApp(appPath) {\n log.info(`Loading Mock app model at ${appPath}`);\n let data = await fs.readFile(appPath);\n log.info('Parsing Mock app XML');\n this.rawXml = data.toString();\n this.rawXml = this.rawXml.replace('<app ', '<AppiumAUT><app ');\n this.rawXml = this.rawXml.replace('<app>', '<AppiumAUT><app>');\n this.rawXml = this.rawXml.replace('</app>', '</app></AppiumAUT>');\n this.dom = new XMLDom.DOMParser().parseFromString(this.rawXml);\n this.activeDom = this.dom;\n }\n\n getWebviews() {\n return this.xpathQuery('//MockWebView/*[1]').map((n) => new FakeWebView(n));\n }\n\n activateWebview(wv) {\n this.activeWebview = wv;\n let fragment = new XMLDom.XMLSerializer().serializeToString(wv.node);\n this.activeDom = new XMLDom.DOMParser().parseFromString(fragment, 'application/xml');\n }\n\n deactivateWebview() {\n this.activeWebview = null;\n this.activeDom = this.dom;\n }\n\n activateFrame(frame) {\n this.activeFrame = frame;\n let fragment = new XMLDom.XMLSerializer().serializeToString(frame);\n this.activeDom = new XMLDom.DOMParser().parseFromString(fragment, 'application/xml');\n }\n\n deactivateFrame() {\n this.activeFrame = null;\n this.activateWebview(this.activeWebview);\n }\n\n xpathQuery(sel, ctx) {\n return xpath.select(sel, ctx || this.activeDom);\n }\n\n idQuery(id, ctx) {\n return this.xpathQuery(`//*[@id=\"${id}\"]`, ctx);\n }\n\n classQuery(className, ctx) {\n return this.xpathQuery(`//${className}`, ctx);\n }\n\n cssQuery(css, ctx) {\n if (css.startsWith('#')) {\n return this.idQuery(css.slice(1), ctx);\n }\n if (css.startsWith('.')) {\n return this.classQuery(css.slice(1), ctx);\n }\n return this.classQuery(css, ctx);\n }\n\n hasAlert() {\n return this.activeAlert !== null;\n }\n\n setAlertText(text) {\n if (!this.activeAlert.hasPrompt()) {\n throw new Error('No prompt to set text of');\n }\n this.activeAlert.setAttr('prompt', text);\n }\n\n showAlert(alertId) {\n let nodes = this.xpathQuery(`//alert[@id=\"${alertId}\"]`);\n if (nodes.length < 1) {\n throw new Error(`Alert ${alertId} doesn't exist!`);\n }\n this.activeAlert = new FakeElement(nodes[0], this);\n }\n\n alertText() {\n return this.activeAlert.getAttr('prompt') || this.activeAlert.nodeAttrs.text;\n }\n\n handleAlert() {\n this.activeAlert = null;\n }\n\n getScreenshot() {\n return readFileSync(SCREENSHOT, 'base64');\n }\n}\n\nclass FakeWebView {\n constructor(node) {\n this.node = node;\n }\n}\n\nexport {FakeApp};\n"],"mappings":"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"}
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
@@ -1 +1 @@
1
- {"version":3,"file":"fake-driver-schema.js","names":["type","title","description","properties","minimum","maximum","sillyWebServerHost","default"],"sources":["../../lib/fake-driver-schema.js"],"sourcesContent":["// this could be a .json file, too:\n// {\n// \"$schema\": \"http://json-schema.org/draft-07/schema\",\n// \"$id\": \"https://appium.io/fake-driver.json\",\n// \"type\": \"object\",\n// \"title\": \"Fake Driver Configuration\",\n// \"description\": \"A schema for Fake Driver arguments\",\n// \"properties\": {\n// \"answer\": {\n// \"type\": \"number\",\n// \"description\": \"The answer to life, the universe, and everything\",\n// \"default\": 42\n// }\n// }\n// }\n\nexport default {\n type: 'object',\n title: 'Fake Driver Configuration',\n description: 'A schema for Fake Driver arguments',\n properties: {\n // the prop name will always be normalized to camelCase\n 'silly-web-server-port': {\n type: 'integer',\n minimum: 1,\n maximum: 65535,\n description: 'The port to use for the fake web server',\n },\n sillyWebServerHost: {\n type: 'string',\n description: 'The host to use for the fake web server',\n default: 'sillyhost',\n },\n },\n};\n"],"mappings":";;;;;;;;;eAgBe;EACbA,IAAI,EAAE,QADO;EAEbC,KAAK,EAAE,2BAFM;EAGbC,WAAW,EAAE,oCAHA;EAIbC,UAAU,EAAE;IAEV,yBAAyB;MACvBH,IAAI,EAAE,SADiB;MAEvBI,OAAO,EAAE,CAFc;MAGvBC,OAAO,EAAE,KAHc;MAIvBH,WAAW,EAAE;IAJU,CAFf;IAQVI,kBAAkB,EAAE;MAClBN,IAAI,EAAE,QADY;MAElBE,WAAW,EAAE,yCAFK;MAGlBK,OAAO,EAAE;IAHS;EARV;AAJC,C"}
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"}