@limrun/appium-xcuitest-driver 10.4.3-lim.1 → 10.10.1-lim.10

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 (205) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/build/lib/app-utils.d.ts +2 -2
  3. package/build/lib/app-utils.d.ts.map +1 -1
  4. package/build/lib/app-utils.js +4 -1
  5. package/build/lib/app-utils.js.map +1 -1
  6. package/build/lib/commands/app-management.js +2 -2
  7. package/build/lib/commands/app-management.js.map +1 -1
  8. package/build/lib/commands/appearance.js +2 -2
  9. package/build/lib/commands/appearance.js.map +1 -1
  10. package/build/lib/commands/bidi/models.d.ts.map +1 -1
  11. package/build/lib/commands/bidi/models.js +1 -0
  12. package/build/lib/commands/bidi/models.js.map +1 -1
  13. package/build/lib/commands/bidi/types.d.ts +1 -0
  14. package/build/lib/commands/bidi/types.d.ts.map +1 -1
  15. package/build/lib/commands/biometric.js +3 -3
  16. package/build/lib/commands/biometric.js.map +1 -1
  17. package/build/lib/commands/certificate.d.ts.map +1 -1
  18. package/build/lib/commands/certificate.js +9 -3
  19. package/build/lib/commands/certificate.js.map +1 -1
  20. package/build/lib/commands/condition.d.ts +2 -0
  21. package/build/lib/commands/condition.d.ts.map +1 -1
  22. package/build/lib/commands/condition.js +75 -2
  23. package/build/lib/commands/condition.js.map +1 -1
  24. package/build/lib/commands/context.d.ts +5 -5
  25. package/build/lib/commands/context.d.ts.map +1 -1
  26. package/build/lib/commands/context.js +6 -6
  27. package/build/lib/commands/context.js.map +1 -1
  28. package/build/lib/commands/file-movement.d.ts.map +1 -1
  29. package/build/lib/commands/file-movement.js +7 -7
  30. package/build/lib/commands/file-movement.js.map +1 -1
  31. package/build/lib/commands/general.js +1 -1
  32. package/build/lib/commands/general.js.map +1 -1
  33. package/build/lib/commands/gesture.js +1 -1
  34. package/build/lib/commands/gesture.js.map +1 -1
  35. package/build/lib/commands/keychains.js +1 -1
  36. package/build/lib/commands/keychains.js.map +1 -1
  37. package/build/lib/commands/localization.js +1 -1
  38. package/build/lib/commands/localization.js.map +1 -1
  39. package/build/lib/commands/location.d.ts +3 -2
  40. package/build/lib/commands/location.d.ts.map +1 -1
  41. package/build/lib/commands/location.js +10 -4
  42. package/build/lib/commands/location.js.map +1 -1
  43. package/build/lib/commands/log.js +9 -9
  44. package/build/lib/commands/log.js.map +1 -1
  45. package/build/lib/commands/memory.js +1 -1
  46. package/build/lib/commands/memory.js.map +1 -1
  47. package/build/lib/commands/notifications.js +1 -1
  48. package/build/lib/commands/notifications.js.map +1 -1
  49. package/build/lib/commands/pasteboard.js +2 -2
  50. package/build/lib/commands/pasteboard.js.map +1 -1
  51. package/build/lib/commands/pcap.js +1 -1
  52. package/build/lib/commands/pcap.js.map +1 -1
  53. package/build/lib/commands/performance.d.ts.map +1 -1
  54. package/build/lib/commands/performance.js +13 -4
  55. package/build/lib/commands/performance.js.map +1 -1
  56. package/build/lib/commands/permissions.js +2 -2
  57. package/build/lib/commands/permissions.js.map +1 -1
  58. package/build/lib/commands/proxy-helper.d.ts.map +1 -1
  59. package/build/lib/commands/proxy-helper.js +0 -3
  60. package/build/lib/commands/proxy-helper.js.map +1 -1
  61. package/build/lib/commands/screenshots.js +1 -1
  62. package/build/lib/commands/screenshots.js.map +1 -1
  63. package/build/lib/commands/simctl.d.ts +1 -1
  64. package/build/lib/commands/simctl.d.ts.map +1 -1
  65. package/build/lib/commands/simctl.js +1 -1
  66. package/build/lib/commands/simctl.js.map +1 -1
  67. package/build/lib/commands/web.js +1 -1
  68. package/build/lib/commands/web.js.map +1 -1
  69. package/build/lib/commands/xctest-record-screen.js +2 -2
  70. package/build/lib/commands/xctest-record-screen.js.map +1 -1
  71. package/build/lib/desired-caps.d.ts +392 -505
  72. package/build/lib/desired-caps.d.ts.map +1 -1
  73. package/build/lib/desired-caps.js +19 -10
  74. package/build/lib/desired-caps.js.map +1 -1
  75. package/build/lib/device/clients/base-device-client.d.ts +22 -0
  76. package/build/lib/device/clients/base-device-client.d.ts.map +1 -0
  77. package/build/lib/device/clients/base-device-client.js +14 -0
  78. package/build/lib/device/clients/base-device-client.js.map +1 -0
  79. package/build/lib/device/clients/py-ios-device-client.d.ts +21 -0
  80. package/build/lib/device/clients/py-ios-device-client.d.ts.map +1 -0
  81. package/build/lib/device/clients/py-ios-device-client.js +125 -0
  82. package/build/lib/device/clients/py-ios-device-client.js.map +1 -0
  83. package/build/lib/device/device-connections-factory.d.ts +18 -0
  84. package/build/lib/device/device-connections-factory.d.ts.map +1 -0
  85. package/build/lib/device/device-connections-factory.js +260 -0
  86. package/build/lib/device/device-connections-factory.js.map +1 -0
  87. package/build/lib/device/log/helpers.d.ts +10 -0
  88. package/build/lib/device/log/helpers.d.ts.map +1 -0
  89. package/build/lib/device/log/helpers.js +37 -0
  90. package/build/lib/device/log/helpers.js.map +1 -0
  91. package/build/lib/device/log/ios-crash-log.d.ts +34 -0
  92. package/build/lib/device/log/ios-crash-log.d.ts.map +1 -0
  93. package/build/lib/device/log/ios-crash-log.js +141 -0
  94. package/build/lib/device/log/ios-crash-log.js.map +1 -0
  95. package/build/lib/device/log/ios-device-log.d.ts +19 -0
  96. package/build/lib/device/log/ios-device-log.d.ts.map +1 -0
  97. package/build/lib/device/log/ios-device-log.js +42 -0
  98. package/build/lib/device/log/ios-device-log.js.map +1 -0
  99. package/build/lib/device/log/ios-log.d.ts +24 -0
  100. package/build/lib/device/log/ios-log.d.ts.map +1 -0
  101. package/build/lib/device/log/ios-log.js +50 -0
  102. package/build/lib/device/log/ios-log.js.map +1 -0
  103. package/build/lib/device/log/ios-performance-log.d.ts +18 -0
  104. package/build/lib/device/log/ios-performance-log.d.ts.map +1 -0
  105. package/build/lib/device/log/ios-performance-log.js +43 -0
  106. package/build/lib/device/log/ios-performance-log.js.map +1 -0
  107. package/build/lib/device/log/ios-simulator-log.d.ts +38 -0
  108. package/build/lib/device/log/ios-simulator-log.d.ts.map +1 -0
  109. package/build/lib/device/log/ios-simulator-log.js +184 -0
  110. package/build/lib/device/log/ios-simulator-log.js.map +1 -0
  111. package/build/lib/device/log/line-consuming-log.d.ts +9 -0
  112. package/build/lib/device/log/line-consuming-log.d.ts.map +1 -0
  113. package/build/lib/device/log/line-consuming-log.js +16 -0
  114. package/build/lib/device/log/line-consuming-log.js.map +1 -0
  115. package/build/lib/device/log/safari-console-log.d.ts +67 -0
  116. package/build/lib/device/log/safari-console-log.d.ts.map +1 -0
  117. package/build/lib/device/log/safari-console-log.js +81 -0
  118. package/build/lib/device/log/safari-console-log.js.map +1 -0
  119. package/build/lib/device/log/safari-network-log.d.ts +75 -0
  120. package/build/lib/device/log/safari-network-log.d.ts.map +1 -0
  121. package/build/lib/device/log/safari-network-log.js +47 -0
  122. package/build/lib/device/log/safari-network-log.js.map +1 -0
  123. package/build/lib/device/real-device-management.d.ts +146 -0
  124. package/build/lib/device/real-device-management.d.ts.map +1 -0
  125. package/build/lib/device/real-device-management.js +740 -0
  126. package/build/lib/device/real-device-management.js.map +1 -0
  127. package/build/lib/device/simulator-management.d.ts +65 -0
  128. package/build/lib/device/simulator-management.d.ts.map +1 -0
  129. package/build/lib/device/simulator-management.js +261 -0
  130. package/build/lib/device/simulator-management.js.map +1 -0
  131. package/build/lib/device-log/ios-crash-log.d.ts +1 -1
  132. package/build/lib/device-log/ios-crash-log.d.ts.map +1 -1
  133. package/build/lib/device-log/ios-simulator-log.d.ts +1 -1
  134. package/build/lib/device-log/ios-simulator-log.d.ts.map +1 -1
  135. package/build/lib/doctor/required-checks.js +1 -1
  136. package/build/lib/doctor/required-checks.js.map +1 -1
  137. package/build/lib/driver.d.ts +129 -1377
  138. package/build/lib/driver.d.ts.map +1 -1
  139. package/build/lib/driver.js +461 -573
  140. package/build/lib/driver.js.map +1 -1
  141. package/build/lib/method-map.d.ts +1 -1
  142. package/build/lib/method-map.d.ts.map +1 -1
  143. package/build/lib/method-map.js +2 -2
  144. package/build/lib/method-map.js.map +1 -1
  145. package/build/lib/simulator-management.d.ts +10 -0
  146. package/build/lib/simulator-management.d.ts.map +1 -1
  147. package/build/lib/simulator-management.js +9 -5
  148. package/build/lib/simulator-management.js.map +1 -1
  149. package/build/lib/utils.d.ts +2 -9
  150. package/build/lib/utils.d.ts.map +1 -1
  151. package/build/lib/utils.js +3 -47
  152. package/build/lib/utils.js.map +1 -1
  153. package/lib/app-utils.js +5 -1
  154. package/lib/commands/app-management.js +2 -2
  155. package/lib/commands/appearance.js +2 -2
  156. package/lib/commands/bidi/models.ts +1 -0
  157. package/lib/commands/bidi/types.ts +1 -0
  158. package/lib/commands/biometric.js +3 -3
  159. package/lib/commands/certificate.js +9 -3
  160. package/lib/commands/condition.js +85 -2
  161. package/lib/commands/context.js +6 -6
  162. package/lib/commands/file-movement.js +11 -7
  163. package/lib/commands/general.js +1 -1
  164. package/lib/commands/gesture.js +1 -1
  165. package/lib/commands/keychains.js +1 -1
  166. package/lib/commands/localization.js +1 -1
  167. package/lib/commands/location.js +11 -4
  168. package/lib/commands/log.js +9 -9
  169. package/lib/commands/memory.js +1 -1
  170. package/lib/commands/notifications.js +1 -1
  171. package/lib/commands/pasteboard.js +2 -2
  172. package/lib/commands/pcap.js +1 -1
  173. package/lib/commands/performance.js +12 -1
  174. package/lib/commands/permissions.js +2 -2
  175. package/lib/commands/proxy-helper.js +0 -3
  176. package/lib/commands/screenshots.js +1 -1
  177. package/lib/commands/simctl.js +1 -1
  178. package/lib/commands/web.js +1 -1
  179. package/lib/commands/xctest-record-screen.js +2 -2
  180. package/lib/{desired-caps.js → desired-caps.ts} +20 -6
  181. package/lib/{real-device-clients → device/clients}/py-ios-device-client.ts +1 -1
  182. package/lib/{device-connections-factory.js → device/device-connections-factory.ts} +96 -60
  183. package/lib/{device-log → device/log}/helpers.ts +1 -1
  184. package/lib/{device-log → device/log}/ios-crash-log.ts +4 -4
  185. package/lib/{device-log → device/log}/ios-log.ts +1 -1
  186. package/lib/{device-log → device/log}/ios-simulator-log.ts +9 -9
  187. package/lib/{device-log → device/log}/line-consuming-log.ts +1 -1
  188. package/lib/{device-log → device/log}/safari-console-log.ts +1 -1
  189. package/lib/device/real-device-management.ts +831 -0
  190. package/lib/{simulator-management.js → device/simulator-management.ts} +75 -64
  191. package/lib/doctor/required-checks.ts +1 -1
  192. package/lib/{driver.js → driver.ts} +623 -707
  193. package/lib/{method-map.js → method-map.ts} +5 -2
  194. package/lib/utils.js +3 -54
  195. package/package.json +17 -19
  196. package/scripts/build-wda.js +3 -3
  197. package/lib/ios-fs-helpers.js +0 -355
  198. package/lib/ios-generic-simulators.js +0 -11
  199. package/lib/real-device-management.js +0 -133
  200. package/lib/real-device.js +0 -347
  201. package/lib/xcrun.js +0 -16
  202. /package/lib/{real-device-clients → device/clients}/base-device-client.ts +0 -0
  203. /package/lib/{device-log → device/log}/ios-device-log.ts +0 -0
  204. /package/lib/{device-log → device/log}/ios-performance-log.ts +0 -0
  205. /package/lib/{device-log → device/log}/safari-network-log.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"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"}
package/lib/app-utils.js CHANGED
@@ -40,6 +40,10 @@ const INTEL_ARCH = 'x86_64';
40
40
  export async function verifyApplicationPlatform() {
41
41
  this.log.debug('Verifying application platform');
42
42
 
43
+ if (!this.opts.app) {
44
+ return;
45
+ }
46
+
43
47
  const supportedPlatforms = await this.appInfosCache.extractAppPlatforms(this.opts.app);
44
48
  const isTvOS = isTvOs(this.opts.platformName);
45
49
  const prefix = isTvOS ? 'AppleTV' : 'iPhone';
@@ -491,7 +495,7 @@ async function isolateApp(appPath) {
491
495
  * Builds Safari preferences object based on the given session capabilities
492
496
  *
493
497
  * @param {import('./driver').XCUITestDriverOpts} opts
494
- * @return {Promise<import('@appium/types').StringRecord>}
498
+ * @return {import('@appium/types').StringRecord}
495
499
  */
496
500
  export function buildSafariPreferences(opts) {
497
501
  const safariSettings = _.cloneDeep(opts?.safariGlobalPreferences ?? {});
@@ -169,7 +169,7 @@ export async function mobileKillApp(bundleId) {
169
169
  throw new errors.UnsupportedOperationError('A real device is required');
170
170
  }
171
171
 
172
- return await /** @type {import('../real-device').RealDevice} */ (this.device).terminateApp(
172
+ return await /** @type {import('../device/real-device-management').RealDevice} */ (this.device).terminateApp(
173
173
  bundleId, String(this.opts.platformVersion)
174
174
  );
175
175
  }
@@ -274,7 +274,7 @@ export async function mobileClearApp(bundleId) {
274
274
  );
275
275
  }
276
276
 
277
- const simctl = /** @type {import('../driver').Simulator} */ (this.device).simctl;
277
+ const simctl = /** @type {import('appium-ios-simulator').Simulator} */ (this.device).simctl;
278
278
  const dataRoot = await simctl.getAppContainer(bundleId, 'data');
279
279
  this.log.debug(`Got the data container root of ${bundleId} at '${dataRoot}'`);
280
280
  if (!await fs.exists(dataRoot)) {
@@ -19,7 +19,7 @@ export async function mobileSetAppearance(style) {
19
19
 
20
20
  if (this.isSimulator()) {
21
21
  try {
22
- return void (await /** @type {import('../driver').Simulator} */ (this.device).setAppearance(style));
22
+ return void (await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).setAppearance(style));
23
23
  } catch (e) {
24
24
  this.log.debug(e.stack);
25
25
  }
@@ -50,7 +50,7 @@ export async function mobileGetAppearance() {
50
50
  if (this.isSimulator()) {
51
51
  try {
52
52
  style = /** @type {Style} */ (
53
- await /** @type {import('../driver').Simulator} */ (this.device).getAppearance()
53
+ await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).getAppearance()
54
54
  );
55
55
  } catch {}
56
56
  }
@@ -34,6 +34,7 @@ export function makeLogEntryAddedEvent(entry: LogEntry, context: string, type: s
34
34
  level: adjustLogLevel(entry.level),
35
35
  source: {
36
36
  realm: '',
37
+ context
37
38
  },
38
39
  text: entry.message,
39
40
  timestamp: entry.timestamp,
@@ -5,6 +5,7 @@ interface BiDiEvent<TParams> {
5
5
 
6
6
  interface LogEntrySource {
7
7
  realm: string;
8
+ context?: string;
8
9
  }
9
10
 
10
11
  export type BiDiLogLevel = 'debug' | 'info' | 'warn' | 'error';
@@ -14,7 +14,7 @@ const assertSimulator = _.partial(_assertSimulator, 'Biometric enrollment');
14
14
  export async function mobileEnrollBiometric(isEnabled = true) {
15
15
  assertSimulator(this);
16
16
 
17
- await /** @type {import('../driver').Simulator} */ (this.device).enrollBiometric(isEnabled);
17
+ await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).enrollBiometric(isEnabled);
18
18
  }
19
19
 
20
20
  /**
@@ -31,7 +31,7 @@ export async function mobileEnrollBiometric(isEnabled = true) {
31
31
  export async function mobileSendBiometricMatch(type = 'touchId', match = true) {
32
32
  assertSimulator(this);
33
33
 
34
- await /** @type {import('../driver').Simulator} */ (this.device).sendBiometricMatch(match, type);
34
+ await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).sendBiometricMatch(match, type);
35
35
  }
36
36
 
37
37
  /**
@@ -45,7 +45,7 @@ export async function mobileSendBiometricMatch(type = 'touchId', match = true) {
45
45
  export async function mobileIsBiometricEnrolled() {
46
46
  assertSimulator(this);
47
47
 
48
- return await /** @type {import('../driver').Simulator} */ (this.device).isBiometricEnrolled();
48
+ return await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).isBiometricEnrolled();
49
49
  }
50
50
 
51
51
  /**
@@ -7,7 +7,7 @@ import path from 'path';
7
7
  import http from 'http';
8
8
  import {exec} from 'teen_process';
9
9
  import {findAPortNotInUse, checkPortStatus} from 'portscanner';
10
- import {Pyidevice} from '../real-device-clients/py-ios-device-client';
10
+ import {Pyidevice} from '../device/clients/py-ios-device-client';
11
11
  import {errors} from 'appium/driver';
12
12
 
13
13
  const CONFIG_EXTENSION = 'mobileconfig';
@@ -102,7 +102,7 @@ export async function mobileInstallCertificate(content, commonName, isRoot = tru
102
102
  if (this.isSimulator()) {
103
103
  try {
104
104
  const methodName = isRoot ? 'addRootCertificate' : 'addCertificate';
105
- await /** @type {import('../driver').Simulator} */ (this.device).simctl[methodName](Buffer.from(content, 'base64').toString(), {
105
+ await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).simctl[methodName](Buffer.from(content, 'base64').toString(), {
106
106
  raw: true,
107
107
  });
108
108
  return;
@@ -113,6 +113,9 @@ export async function mobileInstallCertificate(content, commonName, isRoot = tru
113
113
  );
114
114
  }
115
115
  } else {
116
+ if (!this.opts.udid) {
117
+ throw new Error('udid capability is required');
118
+ }
116
119
  const client = new Pyidevice({
117
120
  udid: this.opts.udid,
118
121
  log: this.log,
@@ -185,7 +188,7 @@ export async function mobileInstallCertificate(content, commonName, isRoot = tru
185
188
  }
186
189
  }
187
190
  } else {
188
- await /** @type {import('../driver').Simulator} */ (this.device).openUrl(certUrl);
191
+ await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).openUrl(certUrl);
189
192
  }
190
193
 
191
194
  let isCertAlreadyInstalled = false;
@@ -268,6 +271,9 @@ export async function mobileListCertificates() {
268
271
  if (!this.isRealDevice()) {
269
272
  throw new errors.NotImplementedError('This extension is only supported on real devices');
270
273
  }
274
+ if (!this.opts.udid) {
275
+ throw new Error('udid capability is required');
276
+ }
271
277
  const client = new Pyidevice({
272
278
  udid: this.opts.udid,
273
279
  log: this.log,
@@ -1,5 +1,6 @@
1
1
  import {INSTRUMENT_CHANNEL, services} from 'appium-ios-device';
2
2
  import _ from 'lodash';
3
+ import { isIos18OrNewer } from '../utils.js';
3
4
 
4
5
  /**
5
6
  * Get all available ConditionInducer configuration information, which can be used with
@@ -10,7 +11,22 @@ import _ from 'lodash';
10
11
  * @this {XCUITestDriver}
11
12
  */
12
13
  export async function listConditionInducers() {
13
- requireConditionInducerCompatibleDevice.bind(this);
14
+ requireConditionInducerCompatibleDevice.call(this);
15
+
16
+ if (isIos18OrNewer(this.opts)) {
17
+ const dvtConnection = await startRemoteXPC(this.device.udid);
18
+ try {
19
+ const result = await dvtConnection.conditionInducer.list();
20
+ return /** @type {Condition[]} */ (result);
21
+ } catch (err) {
22
+ this.log.error(`Failed to list condition inducers via RemoteXPC: ${err.message}`);
23
+ throw err;
24
+ } finally {
25
+ this.log.info(`Closing remoteXPC connection for device ${this.device.udid}`);
26
+ await dvtConnection.remoteXPC.close();
27
+ }
28
+ }
29
+
14
30
  const conditionInducerService = await services.startInstrumentService(this.device.udid);
15
31
  try {
16
32
  const ret = await conditionInducerService.callChannel(
@@ -43,7 +59,29 @@ export async function listConditionInducers() {
43
59
  * @this {XCUITestDriver}
44
60
  */
45
61
  export async function enableConditionInducer(conditionID, profileID) {
46
- requireConditionInducerCompatibleDevice.bind(this);
62
+ requireConditionInducerCompatibleDevice.call(this);
63
+
64
+ if (isIos18OrNewer(this.opts)) {
65
+ if (this._remoteXPCConditionInducerConnection) {
66
+ throw this.log.errorWithException(
67
+ `Condition inducer is already running. Disable it first in order to call enable again.`
68
+ );
69
+ }
70
+
71
+ try {
72
+ const dvtConnection = await startRemoteXPC(this.device.udid);
73
+ this._remoteXPCConditionInducerConnection = dvtConnection;
74
+
75
+ await dvtConnection.conditionInducer.set(profileID);
76
+
77
+ this.log.info(`Successfully enabled condition profile: ${profileID}`);
78
+ return true;
79
+ } catch (err) {
80
+ await closeRemoteXPC.call(this);
81
+ throw this.log.errorWithException(`Condition inducer '${profileID}' cannot be enabled: '${err.message}'`);
82
+ }
83
+ }
84
+
47
85
  if (this._conditionInducerService && !this._conditionInducerService._socketClient.destroyed) {
48
86
  throw this.log.errorWithException(
49
87
  `Condition inducer has been started. A condition is already active.`
@@ -77,6 +115,27 @@ export async function enableConditionInducer(conditionID, profileID) {
77
115
  * @this {XCUITestDriver}
78
116
  */
79
117
  export async function disableConditionInducer() {
118
+ requireConditionInducerCompatibleDevice.call(this);
119
+
120
+ if (isIos18OrNewer(this.opts)) {
121
+ if (!this._remoteXPCConditionInducerConnection) {
122
+ this.log.warn('Condition inducer connection is not active');
123
+ return false;
124
+ }
125
+
126
+ try {
127
+ await this._remoteXPCConditionInducerConnection.conditionInducer.disable();
128
+ this.log.info('Successfully disabled condition inducer');
129
+ return true;
130
+ } catch (err) {
131
+ this.log.warn(`Failed to disable condition inducer via RemoteXPC: ${err.message}`);
132
+ return false;
133
+ } finally {
134
+ this.log.info(`Closing remoteXPC connection for device ${this.device.udid}`);
135
+ await closeRemoteXPC.call(this);
136
+ }
137
+ }
138
+
80
139
  if (!this._conditionInducerService) {
81
140
  this.log.warn('Condition inducer server is not started');
82
141
  return false;
@@ -109,6 +168,30 @@ function requireConditionInducerCompatibleDevice() {
109
168
  }
110
169
  }
111
170
 
171
+ /**
172
+ * @param {string} udid
173
+ * @returns {Promise<DVTServiceWithConnection>}
174
+ */
175
+ async function startRemoteXPC(udid) {
176
+ const {Services} = await import('appium-ios-remotexpc');
177
+ return Services.startDVTService(udid);
178
+ }
179
+
180
+ /**
181
+ * @this {XCUITestDriver}
182
+ * @returns {Promise<void>}
183
+ */
184
+ async function closeRemoteXPC() {
185
+ if (this._remoteXPCConditionInducerConnection) {
186
+ await this._remoteXPCConditionInducerConnection.remoteXPC.close();
187
+ this._remoteXPCConditionInducerConnection = null;
188
+ }
189
+ }
190
+
191
+ /**
192
+ * @typedef {import('appium-ios-remotexpc', {with: {'resolution-mode': 'import'}}).DVTServiceWithConnection} DVTServiceWithConnection
193
+ */
194
+
112
195
  /**
113
196
  * @typedef {Object} Profile
114
197
  * @property {string} name
@@ -1,7 +1,7 @@
1
1
  import {createRemoteDebugger, RemoteDebugger} from 'appium-remote-debugger';
2
2
  import {errors, isErrorType} from 'appium/driver';
3
3
  import {util, timing} from 'appium/support';
4
- import {IOSPerformanceLog} from '../device-log/ios-performance-log';
4
+ import {IOSPerformanceLog} from '../device/log/ios-performance-log';
5
5
  import _ from 'lodash';
6
6
  import { NATIVE_WIN } from '../utils';
7
7
  import {
@@ -301,7 +301,7 @@ export async function onPageChange(pageChangeNotification) {
301
301
  'Do not have our current window anymore, and there ' +
302
302
  'are not any more to load! Doing nothing...',
303
303
  );
304
- this.setCurrentUrl(undefined);
304
+ this.setCurrentUrl(null);
305
305
  return;
306
306
  }
307
307
 
@@ -360,7 +360,7 @@ export async function stopRemote(closeWindowBeforeDisconnecting = false) {
360
360
 
361
361
  /**
362
362
  * @this {XCUITestDriver}
363
- * @param {string|undefined|null} url
363
+ * @param {string|null} url
364
364
  */
365
365
  export function setCurrentUrl(url) {
366
366
  this._currentUrl = url;
@@ -426,11 +426,11 @@ export function isWebview() {
426
426
  export async function getNewRemoteDebugger() {
427
427
  const socketPath = this.isRealDevice()
428
428
  ? undefined
429
- : (await /** @type {import('../driver').Simulator} */ (this.device).getWebInspectorSocket() ?? undefined);
429
+ : (await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).getWebInspectorSocket() ?? undefined);
430
430
  return createRemoteDebugger(
431
431
  {
432
432
  bundleId: this.opts.bundleId,
433
- additionalBundleIds: this.opts.additionalWebviewBundleIds,
433
+ additionalBundleIds: /** @type {string[] | undefined} */ (this.opts.additionalWebviewBundleIds),
434
434
  isSafari: this.isSafari(),
435
435
  includeSafari: this.opts.includeSafariInWebviews,
436
436
  pageLoadMs: this.pageLoadMs,
@@ -440,7 +440,7 @@ export async function getNewRemoteDebugger() {
440
440
  garbageCollectOnExecute: util.hasValue(this.opts.safariGarbageCollect)
441
441
  ? !!this.opts.safariGarbageCollect
442
442
  : false,
443
- udid: this.opts.udid,
443
+ udid: /** @type {string} */ (this.opts.udid),
444
444
  logAllCommunication: this.opts.safariLogAllCommunication,
445
445
  logAllCommunicationHexDump: this.opts.safariLogAllCommunicationHexDump,
446
446
  socketChunkSize: this.opts.safariSocketChunkSize,
@@ -2,7 +2,11 @@ import _ from 'lodash';
2
2
  import {fs, tempDir, mkdirp, zip, util} from 'appium/support';
3
3
  import path from 'path';
4
4
  import {services} from 'appium-ios-device';
5
- import {pullFile as iosPullFile, pullFolder as iosPullFolder, pushFile as iosPushFile} from '../ios-fs-helpers';
5
+ import {
6
+ pullFile as realDevicePullFile,
7
+ pullFolder as realDevicePullFolder,
8
+ pushFile as realDevicePushFile
9
+ } from '../device/real-device-management';
6
10
  import {errors} from 'appium/driver';
7
11
 
8
12
  const CONTAINER_PATH_MARKER = '@';
@@ -143,7 +147,7 @@ async function createService(remotePath) {
143
147
  */
144
148
  async function pushFileToSimulator(remotePath, base64Data) {
145
149
  const buffer = Buffer.from(base64Data, 'base64');
146
- const device = /** @type {import('../driver').Simulator} */ (this.device);
150
+ const device = /** @type {import('appium-ios-simulator').Simulator} */ (this.device);
147
151
  if (CONTAINER_PATH_PATTERN.test(remotePath)) {
148
152
  const {bundleId, pathInContainer: dstPath} = await parseContainerPath.bind(this)(
149
153
  remotePath,
@@ -192,7 +196,7 @@ async function pushFileToSimulator(remotePath, base64Data) {
192
196
  async function pushFileToRealDevice(remotePath, base64Data) {
193
197
  const {service, relativePath} = await createService.bind(this)(remotePath);
194
198
  try {
195
- await iosPushFile(service, Buffer.from(base64Data, 'base64'), relativePath);
199
+ await realDevicePushFile(service, Buffer.from(base64Data, 'base64'), relativePath);
196
200
  } catch (e) {
197
201
  this.log.debug(e.stack);
198
202
  throw new Error(`Could not push the file to '${remotePath}'. Original error: ${e.message}`);
@@ -229,7 +233,7 @@ async function deleteFileOrFolder(remotePath) {
229
233
  */
230
234
  async function pullFromSimulator(remotePath, isFile) {
231
235
  let pathOnServer;
232
- const device = /** @type {import('../driver').Simulator} */ (this.device);
236
+ const device = /** @type {import('appium-ios-simulator').Simulator} */ (this.device);
233
237
  if (CONTAINER_PATH_PATTERN.test(remotePath)) {
234
238
  const {bundleId, pathInContainer: dstPath} = await parseContainerPath.bind(this)(
235
239
  remotePath,
@@ -291,8 +295,8 @@ async function pullFromRealDevice(remotePath, isFile) {
291
295
  }
292
296
 
293
297
  return fileInfo.isFile()
294
- ? (await iosPullFile(service, relativePath)).toString('base64')
295
- : (await iosPullFolder(service, relativePath)).toString();
298
+ ? (await realDevicePullFile(service, relativePath)).toString('base64')
299
+ : (await realDevicePullFolder(service, relativePath)).toString();
296
300
  } finally {
297
301
  service.close();
298
302
  }
@@ -312,7 +316,7 @@ async function pullFromRealDevice(remotePath, isFile) {
312
316
  */
313
317
  async function deleteFromSimulator(remotePath) {
314
318
  let pathOnServer;
315
- const device = /** @type {import('../driver').Simulator} */ (this.device);
319
+ const device = /** @type {import('appium-ios-simulator').Simulator} */ (this.device);
316
320
  if (CONTAINER_PATH_PATTERN.test(remotePath)) {
317
321
  const {bundleId, pathInContainer: dstPath} = await parseContainerPath.bind(this)(
318
322
  remotePath,
@@ -171,7 +171,7 @@ export async function setUrl(url) {
171
171
  if (this.isRealDevice()) {
172
172
  await this.proxyCommand('/url', 'POST', {url});
173
173
  } else {
174
- await /** @type {import('../driver').Simulator} */ (this.device).simctl.openUrl(url);
174
+ await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).simctl.openUrl(url);
175
175
  }
176
176
  }
177
177
 
@@ -38,7 +38,7 @@ export async function mobileShake() {
38
38
  if (!this.isSimulator()) {
39
39
  throw new errors.UnknownError('Shake is not supported on real devices');
40
40
  }
41
- await /** @type {import('../driver').Simulator} */ (this.device).shake();
41
+ await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).shake();
42
42
  }
43
43
 
44
44
  /**
@@ -14,5 +14,5 @@ const assertSimulator = _.partial(_assertSimulator, 'Keychain modification');
14
14
  export async function mobileClearKeychains() {
15
15
  assertSimulator(this);
16
16
 
17
- await /** @type {import('../driver').Simulator} */ (this.device).clearKeychains();
17
+ await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).clearKeychains();
18
18
  }
@@ -26,5 +26,5 @@ export async function mobileConfigureLocalization(keyboard, language, locale) {
26
26
  // Assign skipSyncUiDialogTranslation: true option in order to avoid shutting down the WDA session
27
27
  localizationOptions.language = Object.assign(language, {skipSyncUiDialogTranslation: true});
28
28
  }
29
- return await /** @type {import('../driver').Simulator} */ (this.device).configureLocalization(localizationOptions);
29
+ return await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).configureLocalization(localizationOptions);
30
30
  }
@@ -77,12 +77,12 @@ export async function setGeoLocation(location) {
77
77
  }
78
78
 
79
79
  if (this.isSimulator()) {
80
- await /** @type {import('../driver').Simulator} */ (this.device).setGeolocation(`${latitude}`, `${longitude}`);
80
+ await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).setGeolocation(`${latitude}`, `${longitude}`);
81
81
  return /** @type {Location} */ ({latitude, longitude, altitude: 0});
82
82
  }
83
83
 
84
84
  if (isIos17OrNewer(this.opts)) {
85
- this.log.info(`Proxying to mobile:setSimulatedLocation method for iOS 17+ platform version`);
85
+ this.log.info(`Proxying to mobile:setSimulatedLocation method for iOS 17+`);
86
86
  await this.mobileSetSimulatedLocation(latitude, longitude);
87
87
  } else {
88
88
  const service = await services.startSimulateLocationService(this.opts.udid);
@@ -102,11 +102,18 @@ export async function setGeoLocation(location) {
102
102
 
103
103
  /**
104
104
  * Reset the location service on real device.
105
- * Raises not implemented error for simulator.
106
- * @throws {Error} If the device is simulator, or 'resetLocation' raises an error.
105
+ *
106
+ * @throws {Error} If the device is simulator and iOS version is below 17,
107
+ * or 'resetLocation' raises an error.
107
108
  * @this {XCUITestDriver}
108
109
  */
109
110
  export async function mobileResetLocationService() {
111
+ if (isIos17OrNewer(this.opts)) {
112
+ this.log.info(`Proxying to mobile:resetSimulatedLocation method for iOS 17+`);
113
+ await this.mobileResetSimulatedLocation();
114
+ return;
115
+ }
116
+
110
117
  if (this.isSimulator()) {
111
118
  throw new errors.NotImplementedError();
112
119
  }
@@ -1,13 +1,13 @@
1
1
  import _ from 'lodash';
2
2
  import B from 'bluebird';
3
3
  import {DEFAULT_WS_PATHNAME_PREFIX} from 'appium/driver';
4
- import {IOSCrashLog} from '../device-log/ios-crash-log';
5
- import {IOSSimulatorLog} from '../device-log/ios-simulator-log';
6
- import {IOSDeviceLog} from '../device-log/ios-device-log';
4
+ import {IOSCrashLog} from '../device/log/ios-crash-log';
5
+ import {IOSSimulatorLog} from '../device/log/ios-simulator-log';
6
+ import {IOSDeviceLog} from '../device/log/ios-device-log';
7
7
  import WebSocket from 'ws';
8
- import { SafariConsoleLog } from '../device-log/safari-console-log';
9
- import { SafariNetworkLog } from '../device-log/safari-network-log';
10
- import { toLogEntry } from '../device-log/helpers';
8
+ import { SafariConsoleLog } from '../device/log/safari-console-log';
9
+ import { SafariNetworkLog } from '../device/log/safari-network-log';
10
+ import { toLogEntry } from '../device/log/helpers';
11
11
  import { NATIVE_WIN } from '../utils';
12
12
  import { BIDI_EVENT_NAME } from './bidi/constants';
13
13
  import { makeLogEntryAddedEvent } from './bidi/models';
@@ -109,7 +109,7 @@ export async function startLogCapture() {
109
109
  if (_.isUndefined(this.logs.syslog)) {
110
110
  [this.logs.crashlog,] = assignBiDiLogListener.bind(this)(
111
111
  new IOSCrashLog({
112
- sim: /** @type {import('@limrun/appium-ios-simulator').Simulator} */ (this.device),
112
+ sim: /** @type {import('appium-ios-simulator').Simulator} */ (this.device),
113
113
  udid: this.isRealDevice() ? this.opts.udid : undefined,
114
114
  log: this.log,
115
115
  }), {
@@ -119,12 +119,12 @@ export async function startLogCapture() {
119
119
  [this.logs.syslog,] = assignBiDiLogListener.bind(this)(
120
120
  this.isRealDevice()
121
121
  ? new IOSDeviceLog({
122
- udid: this.opts.udid,
122
+ udid: /** @type {string} */ (this.opts.udid),
123
123
  showLogs: this.opts.showIOSLog,
124
124
  log: this.log,
125
125
  })
126
126
  : new IOSSimulatorLog({
127
- sim: /** @type {import('@limrun/appium-ios-simulator').Simulator} */ (this.device),
127
+ sim: /** @type {import('appium-ios-simulator').Simulator} */ (this.device),
128
128
  showLogs: this.opts.showIOSLog,
129
129
  iosSimulatorLogsPredicate: this.opts.iosSimulatorLogsPredicate,
130
130
  simulatorLogLevel: this.opts.simulatorLogLevel,
@@ -14,7 +14,7 @@ export async function mobileSendMemoryWarning(bundleId) {
14
14
  throw new Error('Memory warning simulation is only supported on real devices');
15
15
  }
16
16
 
17
- const device = /** @type {import('../real-device').RealDevice} */ (this.device);
17
+ const device = /** @type {import('../device/real-device-management').RealDevice} */ (this.device);
18
18
 
19
19
  const appInfos = await device.devicectl.listApps(bundleId);
20
20
  if (_.isEmpty(appInfos)) {
@@ -34,7 +34,7 @@ export async function mobilePushNotification(bundleId, payload) {
34
34
  `Got ${JSON.stringify(payload.aps)} instead`,
35
35
  );
36
36
  }
37
- return await /** @type {import('../driver').Simulator} */ (this.device).pushNotification({
37
+ return await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).pushNotification({
38
38
  ...payload,
39
39
  'Simulator Target Bundle': bundleId,
40
40
  });
@@ -16,7 +16,7 @@ export async function mobileSetPasteboard(content, encoding = 'utf8') {
16
16
  // can be empty string
17
17
  throw new Error('Pasteboard content is mandatory to set');
18
18
  }
19
- return await /** @type {import('../driver').Simulator} */ (this.device).simctl.setPasteboard(
19
+ return await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).simctl.setPasteboard(
20
20
  content, /** @type {BufferEncoding} */ (encoding)
21
21
  );
22
22
  }
@@ -34,7 +34,7 @@ export async function mobileGetPasteboard(encoding = 'utf8') {
34
34
  if (!this.isSimulator()) {
35
35
  throw new Error('Getting pasteboard content is not supported on real devices');
36
36
  }
37
- return await /** @type {import('../driver').Simulator} */ (this.device).simctl.getPasteboard(encoding);
37
+ return await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).simctl.getPasteboard(encoding);
38
38
  }
39
39
 
40
40
  /**
@@ -1,4 +1,4 @@
1
- import { Pyidevice } from '../real-device-clients/py-ios-device-client';
1
+ import { Pyidevice } from '../device/clients/py-ios-device-client';
2
2
  import {fs, tempDir, util} from 'appium/support';
3
3
  import {encodeBase64OrUpload} from '../utils';
4
4
  import {errors} from 'appium/driver';
@@ -3,7 +3,6 @@ import path from 'path';
3
3
  import {fs, zip, logger, util, tempDir} from 'appium/support';
4
4
  import {SubProcess, exec} from 'teen_process';
5
5
  import {encodeBase64OrUpload} from '../utils';
6
- import { XCRUN, requireXcrun } from '../xcrun';
7
6
  import {waitForCondition} from 'asyncbox';
8
7
  import B from 'bluebird';
9
8
 
@@ -20,6 +19,7 @@ const DEFAULT_EXT = '.trace';
20
19
  const DEFAULT_PID = 'current';
21
20
  const INSTRUMENTS = 'instruments';
22
21
  const XCTRACE = 'xctrace';
22
+ const XCRUN = 'xcrun';
23
23
 
24
24
  /**
25
25
  * Starts performance profiling for the device under test.
@@ -387,6 +387,17 @@ export class PerfRecorder {
387
387
  }
388
388
  }
389
389
 
390
+ async function requireXcrun() {
391
+ try {
392
+ return await fs.which(XCRUN);
393
+ } catch {
394
+ throw new Error(
395
+ `${XCRUN} has not been found in PATH. ` +
396
+ `Please make sure XCode development tools are installed`,
397
+ );
398
+ }
399
+ }
400
+
390
401
  /**
391
402
  * @typedef {import('../driver').XCUITestDriver} XCUITestDriver
392
403
  */