appium-mac2-driver 3.2.1 → 3.2.3

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 (54) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/build/lib/commands/record-screen.d.ts +11 -12
  3. package/build/lib/commands/record-screen.d.ts.map +1 -1
  4. package/build/lib/commands/record-screen.js +2 -0
  5. package/build/lib/commands/record-screen.js.map +1 -1
  6. package/build/lib/constraints.d.ts +56 -0
  7. package/build/lib/constraints.d.ts.map +1 -0
  8. package/build/lib/constraints.js +57 -0
  9. package/build/lib/constraints.js.map +1 -0
  10. package/build/lib/doctor/optional-checks.d.ts +12 -10
  11. package/build/lib/doctor/optional-checks.d.ts.map +1 -1
  12. package/build/lib/doctor/optional-checks.js +9 -9
  13. package/build/lib/doctor/optional-checks.js.map +1 -1
  14. package/build/lib/doctor/required-checks.d.ts +12 -10
  15. package/build/lib/doctor/required-checks.d.ts.map +1 -1
  16. package/build/lib/doctor/required-checks.js +9 -9
  17. package/build/lib/doctor/required-checks.js.map +1 -1
  18. package/build/lib/doctor/utils.d.ts +3 -3
  19. package/build/lib/doctor/utils.d.ts.map +1 -1
  20. package/build/lib/doctor/utils.js +2 -2
  21. package/build/lib/doctor/utils.js.map +1 -1
  22. package/build/lib/driver.d.ts +30 -90
  23. package/build/lib/driver.d.ts.map +1 -1
  24. package/build/lib/driver.js +56 -45
  25. package/build/lib/driver.js.map +1 -1
  26. package/build/lib/logger.d.ts +1 -1
  27. package/build/lib/logger.d.ts.map +1 -1
  28. package/build/lib/logger.js.map +1 -1
  29. package/build/lib/method-map.d.ts +1 -1
  30. package/build/lib/method-map.d.ts.map +1 -1
  31. package/build/lib/method-map.js +6 -6
  32. package/build/lib/method-map.js.map +1 -1
  33. package/build/lib/utils.d.ts +11 -11
  34. package/build/lib/utils.d.ts.map +1 -1
  35. package/build/lib/utils.js +6 -7
  36. package/build/lib/utils.js.map +1 -1
  37. package/lib/commands/record-screen.js +1 -1
  38. package/lib/constraints.ts +60 -0
  39. package/lib/doctor/optional-checks.ts +67 -0
  40. package/lib/doctor/required-checks.ts +75 -0
  41. package/lib/doctor/{utils.js → utils.ts} +4 -3
  42. package/lib/{driver.js → driver.ts} +118 -65
  43. package/lib/{logger.js → logger.ts} +1 -0
  44. package/lib/{method-map.js → method-map.ts} +7 -6
  45. package/lib/{utils.js → utils.ts} +8 -10
  46. package/npm-shrinkwrap.json +16 -16
  47. package/package.json +1 -1
  48. package/build/lib/desired-caps.d.ts +0 -66
  49. package/build/lib/desired-caps.d.ts.map +0 -1
  50. package/build/lib/desired-caps.js +0 -58
  51. package/build/lib/desired-caps.js.map +0 -1
  52. package/lib/desired-caps.js +0 -55
  53. package/lib/doctor/optional-checks.js +0 -64
  54. package/lib/doctor/required-checks.js +0 -72
@@ -40,7 +40,7 @@ exports.Mac2Driver = void 0;
40
40
  const lodash_1 = __importDefault(require("lodash"));
41
41
  const driver_1 = require("appium/driver");
42
42
  const wda_mac_1 = require("./wda-mac");
43
- const desired_caps_1 = require("./desired-caps");
43
+ const constraints_1 = __importDefault(require("./constraints"));
44
44
  const appManagemenetCommands = __importStar(require("./commands/app-management"));
45
45
  const appleScriptCommands = __importStar(require("./commands/applescript"));
46
46
  const executeCommands = __importStar(require("./commands/execute"));
@@ -51,11 +51,10 @@ const recordScreenCommands = __importStar(require("./commands/record-screen"));
51
51
  const screenshotCommands = __importStar(require("./commands/screenshots"));
52
52
  const sourceCommands = __importStar(require("./commands/source"));
53
53
  const clipboardCommands = __importStar(require("./commands/clipboard"));
54
+ const nativeScreenRecordingCommands = __importStar(require("./commands/native-record-screen"));
54
55
  const logger_1 = __importDefault(require("./logger"));
55
56
  const method_map_1 = require("./method-map");
56
57
  const execute_method_map_1 = require("./execute-method-map");
57
- const nativeScreenRecordingCommands = __importStar(require("./commands/native-record-screen"));
58
- /** @type {import('@appium/types').RouteMatcher[]} */
59
58
  const NO_PROXY = [
60
59
  ['GET', new RegExp('^/session/[^/]+/appium')],
61
60
  ['POST', new RegExp('^/session/[^/]+/appium')],
@@ -67,18 +66,16 @@ const NO_PROXY = [
67
66
  ['POST', new RegExp('^/session/[^/]+/timeouts$')],
68
67
  ];
69
68
  class Mac2Driver extends driver_1.BaseDriver {
70
- /** @type {boolean} */
71
69
  isProxyActive;
72
- /** @type {import('./wda-mac').WDAMacServer} */
73
- wda;
74
- /** @type {nativeScreenRecordingCommands.NativeVideoChunksBroadcaster} */
70
+ _wda;
75
71
  _videoChunksBroadcaster;
72
+ _screenRecorder;
73
+ proxyReqRes;
76
74
  static newMethodMap = method_map_1.newMethodMap;
77
75
  static executeMethodMap = execute_method_map_1.executeMethodMap;
78
76
  constructor(opts = {}) {
79
- // @ts-ignore TODO: Make opts typed
80
77
  super(opts);
81
- this.desiredCapConstraints = desired_caps_1.desiredCapConstraints;
78
+ this.desiredCapConstraints = lodash_1.default.cloneDeep(constraints_1.default);
82
79
  this.locatorStrategies = [
83
80
  'id',
84
81
  'name',
@@ -94,17 +91,18 @@ class Mac2Driver extends driver_1.BaseDriver {
94
91
  this.settings = new driver_1.DeviceSettings({}, this.onSettingsUpdate.bind(this));
95
92
  }
96
93
  async onSettingsUpdate(key, value) {
97
- return await this.wda.proxy.command('/appium/settings', 'POST', {
94
+ if (!this._wda) {
95
+ return;
96
+ }
97
+ return await this._wda.proxy.command('/appium/settings', 'POST', {
98
98
  settings: { [key]: value }
99
99
  });
100
100
  }
101
- resetState() {
102
- // @ts-ignore This is ok
103
- this.wda = null;
104
- this.proxyReqRes = null;
105
- this.isProxyActive = false;
106
- this._videoChunksBroadcaster = new nativeScreenRecordingCommands.NativeVideoChunksBroadcaster(this.eventEmitter, this.log);
107
- this._screenRecorder = null;
101
+ get wda() {
102
+ if (!this._wda) {
103
+ throw new Error('WDA server is not initialized');
104
+ }
105
+ return this._wda;
108
106
  }
109
107
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
110
108
  proxyActive(sessionId) {
@@ -117,42 +115,44 @@ class Mac2Driver extends driver_1.BaseDriver {
117
115
  canProxy() {
118
116
  return true;
119
117
  }
120
- /**
121
- *
122
- * @param {string} url
123
- * @param {import('@appium/types').HTTPMethod} method
124
- * @param {any} body
125
- * @returns {Promise<any>}
126
- */
127
118
  async proxyCommand(url, method, body = null) {
128
- return await this.wda.proxy.command(url, method, body);
119
+ if (!this._wda) {
120
+ throw new Error('WDA server is not initialized');
121
+ }
122
+ return await this._wda.proxy.command(url, method, body);
129
123
  }
130
- // @ts-ignore We know WDA response should be ok
131
124
  async getStatus() {
132
- return await this.wda.proxy.command('/status', 'GET');
125
+ if (!this._wda) {
126
+ throw new Error('WDA server is not initialized');
127
+ }
128
+ return await this._wda.proxy.command('/status', 'GET');
133
129
  }
134
130
  // needed to make image plugin work
135
131
  async getWindowRect() {
136
- return await this.wda.proxy.command('/window/rect', 'GET');
132
+ if (!this._wda) {
133
+ throw new Error('WDA server is not initialized');
134
+ }
135
+ return await this._wda.proxy.command('/window/rect', 'GET');
137
136
  }
138
- // @ts-ignore TODO: make args typed
139
- async createSession(...args) {
140
- // @ts-ignore TODO: make args typed
141
- const [sessionId, caps] = await super.createSession(...args);
142
- this.wda = wda_mac_1.WDA_MAC_SERVER;
137
+ async createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData) {
138
+ const [sessionId, caps] = await super.createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData);
139
+ this._wda = wda_mac_1.WDA_MAC_SERVER;
140
+ this.caps = caps;
141
+ this.opts = this.opts;
143
142
  try {
144
- if (caps.prerun) {
145
- if (!lodash_1.default.isString(caps.prerun.command) && !lodash_1.default.isString(caps.prerun.script)) {
143
+ const prerun = caps.prerun;
144
+ if (prerun) {
145
+ if (!lodash_1.default.isString(prerun.command) && !lodash_1.default.isString(prerun.script)) {
146
146
  throw new Error(`'prerun' capability value must either contain ` +
147
147
  `'script' or 'command' entry of string type`);
148
148
  }
149
149
  logger_1.default.info('Executing prerun AppleScript');
150
- const output = await this.macosExecAppleScript(caps.prerun);
150
+ const output = await this.macosExecAppleScript(prerun.script, undefined, prerun.command);
151
151
  if (lodash_1.default.trim(output)) {
152
152
  logger_1.default.info(`Prerun script output: ${output}`);
153
153
  }
154
154
  }
155
- await this.wda.startSession(caps, {
155
+ await this._wda.startSession(caps, {
156
156
  reqBasePath: this.basePath,
157
157
  });
158
158
  }
@@ -160,29 +160,34 @@ class Mac2Driver extends driver_1.BaseDriver {
160
160
  await this.deleteSession();
161
161
  throw e;
162
162
  }
163
- this.proxyReqRes = this.wda.proxy.proxyReqRes.bind(this.wda.proxy);
163
+ this.proxyReqRes = this.wda.proxy.proxyReqRes.bind(this._wda.proxy);
164
164
  this.isProxyActive = true;
165
165
  return [sessionId, caps];
166
166
  }
167
167
  async deleteSession() {
168
168
  await this._screenRecorder?.stop(true);
169
169
  if (this._videoChunksBroadcaster.hasPublishers) {
170
- try {
171
- await this.wda.proxy.command('/wda/video/stop', 'POST', {});
170
+ if (this._wda) {
171
+ try {
172
+ await this.wda.proxy.command('/wda/video/stop', 'POST', {});
173
+ }
174
+ catch { }
172
175
  }
173
- catch { }
174
176
  await this._videoChunksBroadcaster.shutdown(5000);
175
177
  }
176
- await this.wda.stopSession();
177
- if (this.opts.postrun) {
178
- if (!lodash_1.default.isString(this.opts.postrun.command) && !lodash_1.default.isString(this.opts.postrun.script)) {
178
+ if (this._wda) {
179
+ await this.wda.stopSession();
180
+ }
181
+ const postrun = this.opts.postrun;
182
+ if (postrun) {
183
+ if (!lodash_1.default.isString(postrun.command) && !lodash_1.default.isString(postrun.script)) {
179
184
  logger_1.default.error(`'postrun' capability value must either contain ` +
180
185
  `'script' or 'command' entry of string type`);
181
186
  }
182
187
  else {
183
188
  logger_1.default.info('Executing postrun AppleScript');
184
189
  try {
185
- const output = await this.macosExecAppleScript(this.opts.postrun);
190
+ const output = await this.macosExecAppleScript(postrun.script, undefined, postrun.command);
186
191
  if (lodash_1.default.trim(output)) {
187
192
  logger_1.default.info(`Postrun script output: ${output}`);
188
193
  }
@@ -195,6 +200,12 @@ class Mac2Driver extends driver_1.BaseDriver {
195
200
  this.resetState();
196
201
  await super.deleteSession();
197
202
  }
203
+ resetState() {
204
+ this._wda = null;
205
+ this.isProxyActive = false;
206
+ this._videoChunksBroadcaster = new nativeScreenRecordingCommands.NativeVideoChunksBroadcaster(this.eventEmitter, this.log);
207
+ this._screenRecorder = null;
208
+ }
198
209
  macosLaunchApp = appManagemenetCommands.macosLaunchApp;
199
210
  macosActivateApp = appManagemenetCommands.macosActivateApp;
200
211
  macosTerminateApp = appManagemenetCommands.macosTerminateApp;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export default log;
2
1
  declare const log: import("@appium/types").AppiumLogger;
2
+ export default log;
3
3
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";AAEA,wDAA2C"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,GAAG,sCAAiC,CAAC;AAE3C,eAAe,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.js"],"names":[],"mappings":";;AAAA,4CAAwC;AAExC,MAAM,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AAE3C,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":";;AAAA,4CAAwC;AAExC,MAAM,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AAE3C,kBAAe,GAAG,CAAC"}
@@ -1,4 +1,4 @@
1
- export const newMethodMap: {
1
+ export declare const newMethodMap: {
2
2
  readonly '/session/:sessionId/appium/start_recording_screen': {
3
3
  readonly POST: {
4
4
  readonly command: "startRecordingScreen";
@@ -1 +1 @@
1
- {"version":3,"file":"method-map.d.ts","sourceRoot":"","sources":["../../lib/method-map.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;EAaG"}
1
+ {"version":3,"file":"method-map.d.ts","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAaf,CAAC"}
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.newMethodMap = void 0;
4
- exports.newMethodMap = ({
4
+ exports.newMethodMap = {
5
5
  '/session/:sessionId/appium/start_recording_screen': {
6
6
  POST: {
7
7
  command: 'startRecordingScreen',
8
- payloadParams: { optional: ['options'] }
9
- }
8
+ payloadParams: { optional: ['options'] },
9
+ },
10
10
  },
11
11
  '/session/:sessionId/appium/stop_recording_screen': {
12
12
  POST: {
13
13
  command: 'stopRecordingScreen',
14
- payloadParams: { optional: ['options'] }
15
- }
14
+ payloadParams: { optional: ['options'] },
15
+ },
16
16
  },
17
- });
17
+ };
18
18
  //# sourceMappingURL=method-map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.js"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAwB,CAAC;IAChD,mDAAmD,EAAE;QACnD,IAAI,EAAE;YACJ,OAAO,EAAE,sBAAsB;YAC/B,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;SACzC;KACF;IACD,kDAAkD,EAAE;QAClD,IAAI,EAAE;YACJ,OAAO,EAAE,qBAAqB;YAC9B,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;SACzC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,mDAAmD,EAAE;QACnD,IAAI,EAAE;YACJ,OAAO,EAAE,sBAAsB;YAC/B,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAC;SACvC;KACF;IACD,kDAAkD,EAAE;QAClD,IAAI,EAAE;YACJ,OAAO,EAAE,qBAAqB;YAC9B,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAC;SACvC;KACF;CACO,CAAC"}
@@ -1,18 +1,18 @@
1
+ import _ from 'lodash';
1
2
  /**
2
- * Retrieves process ids of all the children processes created by the given
3
- * parent process identifier
3
+ * Calculates the path to the current module's root folder
4
4
  *
5
- * @param {number|string} parentPid parent process ID
6
- * @returns {Promise<string[]>} the list of matched children process ids
7
- * or an empty list if none matched
5
+ * @returns The full path to module root
6
+ * @throws If the current module root folder cannot be determined
8
7
  */
9
- export function listChildrenProcessIds(parentPid: number | string): Promise<string[]>;
8
+ export declare const getModuleRoot: (() => string) & _.MemoizedFunction;
10
9
  /**
11
- * Calculates the path to the current module's root folder
10
+ * Retrieves process ids of all the children processes created by the given
11
+ * parent process identifier
12
12
  *
13
- * @returns {string} The full path to module root
14
- * @throws {Error} If the current module root folder cannot be determined
13
+ * @param parentPid parent process ID
14
+ * @returns the list of matched children process ids
15
+ * or an empty list if none matched
15
16
  */
16
- export const getModuleRoot: (() => string) & _.MemoizedFunction;
17
- import _ from 'lodash';
17
+ export declare function listChildrenProcessIds(parentPid: number | string): Promise<string[]>;
18
18
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"AAoBA;;;;;;;GAOG;AACH,kDAJW,MAAM,GAAC,MAAM,GACX,OAAO,CAAC,MAAM,EAAE,CAAC,CAc7B;AAjCD;;;;;GAKG;AACH,gEAMG;cAlBW,QAAQ"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAMvB;;;;;GAKG;AACH,eAAO,MAAM,aAAa,SAAwC,MAAM,sBAMtE,CAAC;AAEH;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW3F"}
@@ -12,23 +12,22 @@ const MODULE_NAME = 'appium-mac2-driver';
12
12
  /**
13
13
  * Calculates the path to the current module's root folder
14
14
  *
15
- * @returns {string} The full path to module root
16
- * @throws {Error} If the current module root folder cannot be determined
15
+ * @returns The full path to module root
16
+ * @throws If the current module root folder cannot be determined
17
17
  */
18
- const getModuleRoot = lodash_1.default.memoize(function getModuleRoot() {
18
+ exports.getModuleRoot = lodash_1.default.memoize(function getModuleRoot() {
19
19
  const root = support_1.node.getModuleRootSync(MODULE_NAME, __filename);
20
20
  if (!root) {
21
21
  throw new Error(`Cannot find the root folder of the ${MODULE_NAME} Node.js module`);
22
22
  }
23
23
  return root;
24
24
  });
25
- exports.getModuleRoot = getModuleRoot;
26
25
  /**
27
26
  * Retrieves process ids of all the children processes created by the given
28
27
  * parent process identifier
29
28
  *
30
- * @param {number|string} parentPid parent process ID
31
- * @returns {Promise<string[]>} the list of matched children process ids
29
+ * @param parentPid parent process ID
30
+ * @returns the list of matched children process ids
32
31
  * or an empty list if none matched
33
32
  */
34
33
  async function listChildrenProcessIds(parentPid) {
@@ -41,6 +40,6 @@ async function listChildrenProcessIds(parentPid) {
41
40
  return [pid, lodash_1.default.last(rest)];
42
41
  })
43
42
  .filter(([, ppid]) => ppid === `${parentPid}`)
44
- .map(([pid]) => (String)(pid));
43
+ .map(([pid]) => String(pid));
45
44
  }
46
45
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":";;;;;;AAyCS,wDAAsB;AAzC/B,oDAAuB;AACvB,+CAAoC;AACpC,4CAAsC;AAEtC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,aAAa,GAAG,gBAAC,CAAC,OAAO,CAAC,SAAS,aAAa;IACpD,MAAM,IAAI,GAAG,cAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,iBAAiB,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAuB8B,sCAAa;AArB9C;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CAAE,SAAS;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,mBAAI,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,wEAAwE;IACxE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;SACtB,MAAM,CAAC,gBAAC,CAAC,IAAI,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,gBAAC,CAAC,IAAI,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,EAAE,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":";;;;;;AA4BA,wDAWC;AAvCD,oDAAuB;AACvB,+CAAoC;AACpC,4CAAsC;AAEtC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC;;;;;GAKG;AACU,QAAA,aAAa,GAAG,gBAAC,CAAC,OAAO,CAAC,SAAS,aAAa;IAC3D,MAAM,IAAI,GAAG,cAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,iBAAiB,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAEH;;;;;;;GAOG;AACI,KAAK,UAAU,sBAAsB,CAAE,SAA0B;IACtE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,mBAAI,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,wEAAwE;IACxE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;SACtB,MAAM,CAAC,gBAAC,CAAC,IAAI,CAAC;SACd,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;QACpB,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,gBAAC,CAAC,IAAI,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,EAAE,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -29,7 +29,7 @@ async function requireFfmpegPath (log) {
29
29
  }
30
30
  }
31
31
 
32
- class ScreenRecorder {
32
+ export class ScreenRecorder {
33
33
  /**
34
34
  *
35
35
  * @param {string} videoPath
@@ -0,0 +1,60 @@
1
+ import {Constraints} from '@appium/types';
2
+
3
+ const MAC2_CONSTRAINTS = {
4
+ systemPort: {
5
+ isNumber: true,
6
+ },
7
+ systemHost: {
8
+ isString: true,
9
+ },
10
+ showServerLogs: {
11
+ isBoolean: true,
12
+ },
13
+ bootstrapRoot: {
14
+ isString: true,
15
+ },
16
+ serverStartupTimeout: {
17
+ isNumber: true,
18
+ },
19
+ bundleId: {
20
+ isString: true,
21
+ },
22
+ arguments: {
23
+ isArray: true,
24
+ },
25
+ environment: {
26
+ isObject: true,
27
+ },
28
+ noReset: {
29
+ isBoolean: true,
30
+ },
31
+ skipAppKill: {
32
+ isBoolean: true,
33
+ },
34
+ prerun: {
35
+ isObject: true,
36
+ },
37
+ postrun: {
38
+ isObject: true,
39
+ },
40
+ webDriverAgentMacUrl: {
41
+ isString: true,
42
+ },
43
+ appPath: {
44
+ isString: true,
45
+ },
46
+ appLocale: {
47
+ isObject: true,
48
+ },
49
+ appTimeZone: {
50
+ isString: true,
51
+ },
52
+ initialDeeplinkUrl: {
53
+ isString: true,
54
+ },
55
+ } as const satisfies Constraints;
56
+
57
+ export default MAC2_CONSTRAINTS;
58
+
59
+ export type Mac2Constraints = typeof MAC2_CONSTRAINTS;
60
+
@@ -0,0 +1,67 @@
1
+ import {resolveExecutablePath} from './utils';
2
+ import {doctor} from 'appium/support';
3
+ import {exec} from 'teen_process';
4
+ import type {IDoctorCheck, AppiumLogger, DoctorCheckResult} from '@appium/types';
5
+ import '@colors/colors';
6
+
7
+ export class OptionalFfmpegCheck implements IDoctorCheck {
8
+ log!: AppiumLogger;
9
+ static readonly FFMPEG_BINARY = 'ffmpeg';
10
+ static readonly FFMPEG_INSTALL_LINK = 'https://www.ffmpeg.org/download.html';
11
+
12
+ async diagnose(): Promise<DoctorCheckResult> {
13
+ const ffmpegPath = await resolveExecutablePath(OptionalFfmpegCheck.FFMPEG_BINARY);
14
+
15
+ return ffmpegPath
16
+ ? doctor.okOptional(`${OptionalFfmpegCheck.FFMPEG_BINARY} exists at '${ffmpegPath}'`)
17
+ : doctor.nokOptional(`${OptionalFfmpegCheck.FFMPEG_BINARY} cannot be found`);
18
+ }
19
+
20
+ async fix(): Promise<string> {
21
+ return (
22
+ `${`${OptionalFfmpegCheck.FFMPEG_BINARY}`.bold} is used to capture screen recordings. ` +
23
+ `Please read ${OptionalFfmpegCheck.FFMPEG_INSTALL_LINK}.`
24
+ );
25
+ }
26
+
27
+ hasAutofix(): boolean {
28
+ return false;
29
+ }
30
+
31
+ isOptional(): boolean {
32
+ return true;
33
+ }
34
+ }
35
+ export const optionalFfmpegCheck = new OptionalFfmpegCheck();
36
+
37
+
38
+ export class OptionalAutomationModeCheck implements IDoctorCheck {
39
+ log!: AppiumLogger;
40
+
41
+ async diagnose(): Promise<DoctorCheckResult> {
42
+ let stdout: string;
43
+ try {
44
+ ({stdout} = await exec('automationmodetool'));
45
+ } catch (err) {
46
+ return doctor.nokOptional(`Cannot run 'automationmodetool': ${(err as any).stderr || (err as Error).message}`);
47
+ }
48
+ if (stdout.includes('DOES NOT REQUIRE')) {
49
+ return doctor.okOptional(`Automation Mode does not require user authentication`);
50
+ }
51
+ return doctor.nokOptional(`Automation Mode requires user authentication`);
52
+ }
53
+
54
+ async fix(): Promise<string> {
55
+ return `Run \`automationmodetool enable-automationmode-without-authentication\` to disable Automation Mode authentication`;
56
+ }
57
+
58
+ hasAutofix(): boolean {
59
+ return false;
60
+ }
61
+
62
+ isOptional(): boolean {
63
+ return true;
64
+ }
65
+ }
66
+ export const optionalAutomationModeCheck = new OptionalAutomationModeCheck();
67
+
@@ -0,0 +1,75 @@
1
+ import {doctor} from 'appium/support';
2
+ import {exec} from 'teen_process';
3
+ import { getPath as getXcodePath } from 'appium-xcode';
4
+ import type {IDoctorCheck, AppiumLogger, DoctorCheckResult} from '@appium/types';
5
+ import '@colors/colors';
6
+
7
+
8
+ export class XcodeCheck implements IDoctorCheck {
9
+ log!: AppiumLogger;
10
+
11
+ async diagnose(): Promise<DoctorCheckResult> {
12
+ try {
13
+ const xcodePath = await getXcodePath();
14
+ return doctor.ok(`xCode is installed at '${xcodePath}'`);
15
+ } catch (err) {
16
+ return doctor.nok((err as Error).message);
17
+ }
18
+ }
19
+
20
+ async fix(): Promise<string> {
21
+ return `Manually install ${'Xcode'.bold} and configure the active developer directory path using the xcode-select tool`;
22
+ }
23
+
24
+ hasAutofix(): boolean {
25
+ return false;
26
+ }
27
+
28
+ isOptional(): boolean {
29
+ return false;
30
+ }
31
+ }
32
+ export const xcodeCheck = new XcodeCheck();
33
+
34
+
35
+ export class XcodebuildCheck implements IDoctorCheck {
36
+ log!: AppiumLogger;
37
+ static readonly XCODE_VER_PATTERN = /^Xcode\s+([\d.]+)$/m;
38
+ static readonly MIN_XCODE_VERSION = 13;
39
+
40
+ async diagnose(): Promise<DoctorCheckResult> {
41
+ let xcodeVerMatch: RegExpExecArray | null;
42
+ let stdout: string;
43
+ let stderr: string;
44
+ try {
45
+ ({stdout, stderr} = await exec('xcodebuild', ['-version']));
46
+ xcodeVerMatch = XcodebuildCheck.XCODE_VER_PATTERN.exec(stdout);
47
+ } catch (err) {
48
+ return doctor.nok(`Cannot run 'xcodebuild': ${(err as any).stderr || (err as Error).message}`);
49
+ }
50
+ if (!xcodeVerMatch) {
51
+ return doctor.nok(`Cannot determine Xcode version. stdout: ${stdout}; stderr: ${stderr}`);
52
+ }
53
+ const xcodeMajorVer = parseInt(xcodeVerMatch[1], 10);
54
+ if (xcodeMajorVer < XcodebuildCheck.MIN_XCODE_VERSION) {
55
+ return doctor.nok(`The actual Xcode version (${xcodeVerMatch[0]}) is older than the expected ` +
56
+ `one (${XcodebuildCheck.MIN_XCODE_VERSION})`);
57
+ }
58
+ return doctor.ok(`xcodebuild is installed and has a matching version number ` +
59
+ `(${xcodeVerMatch[1]} >= ${XcodebuildCheck.MIN_XCODE_VERSION})`);
60
+ }
61
+
62
+ async fix(): Promise<string> {
63
+ return `Install ${'Xcode'.bold} ${XcodebuildCheck.MIN_XCODE_VERSION}+ or upgrade the existing setup`;
64
+ }
65
+
66
+ hasAutofix(): boolean {
67
+ return false;
68
+ }
69
+
70
+ isOptional(): boolean {
71
+ return false;
72
+ }
73
+ }
74
+ export const xcodebuildCheck = new XcodebuildCheck();
75
+
@@ -3,10 +3,10 @@ import {fs} from 'appium/support';
3
3
  /**
4
4
  * Return an executable path of cmd
5
5
  *
6
- * @param {string} cmd Standard output by command
7
- * @return {Promise<string?>} The full path of cmd. `null` if the cmd is not found.
6
+ * @param cmd Standard output by command
7
+ * @return The full path of cmd. `null` if the cmd is not found.
8
8
  */
9
- export async function resolveExecutablePath(cmd) {
9
+ export async function resolveExecutablePath(cmd: string): Promise<string | null> {
10
10
  try {
11
11
  const executablePath = await fs.which(cmd);
12
12
  if (executablePath && (await fs.exists(executablePath))) {
@@ -15,3 +15,4 @@ export async function resolveExecutablePath(cmd) {
15
15
  } catch {}
16
16
  return null;
17
17
  }
18
+