@limrun/appium-xcuitest-driver 10.11.0-lim.3 → 10.14.6-lim.1

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 (285) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/build/lib/commands/active-app-info.d.ts +4 -3
  3. package/build/lib/commands/active-app-info.d.ts.map +1 -1
  4. package/build/lib/commands/active-app-info.js +2 -3
  5. package/build/lib/commands/active-app-info.js.map +1 -1
  6. package/build/lib/commands/alert.d.ts +26 -31
  7. package/build/lib/commands/alert.d.ts.map +1 -1
  8. package/build/lib/commands/alert.js +20 -29
  9. package/build/lib/commands/alert.js.map +1 -1
  10. package/build/lib/commands/app-management.d.ts +99 -76
  11. package/build/lib/commands/app-management.d.ts.map +1 -1
  12. package/build/lib/commands/app-management.js +83 -73
  13. package/build/lib/commands/app-management.js.map +1 -1
  14. package/build/lib/commands/app-strings.d.ts +6 -7
  15. package/build/lib/commands/app-strings.d.ts.map +1 -1
  16. package/build/lib/commands/app-strings.js +3 -8
  17. package/build/lib/commands/app-strings.js.map +1 -1
  18. package/build/lib/commands/appearance.d.ts +7 -9
  19. package/build/lib/commands/appearance.d.ts.map +1 -1
  20. package/build/lib/commands/appearance.js +13 -19
  21. package/build/lib/commands/appearance.js.map +1 -1
  22. package/build/lib/commands/audit.d.ts +5 -33
  23. package/build/lib/commands/audit.d.ts.map +1 -1
  24. package/build/lib/commands/audit.js +3 -16
  25. package/build/lib/commands/audit.js.map +1 -1
  26. package/build/lib/commands/battery.d.ts +4 -4
  27. package/build/lib/commands/battery.d.ts.map +1 -1
  28. package/build/lib/commands/battery.js +3 -7
  29. package/build/lib/commands/battery.js.map +1 -1
  30. package/build/lib/commands/biometric.d.ts +12 -14
  31. package/build/lib/commands/biometric.d.ts.map +1 -1
  32. package/build/lib/commands/biometric.js +10 -19
  33. package/build/lib/commands/biometric.js.map +1 -1
  34. package/build/lib/commands/certificate.d.ts +14 -19
  35. package/build/lib/commands/certificate.d.ts.map +1 -1
  36. package/build/lib/commands/certificate.js +24 -31
  37. package/build/lib/commands/certificate.js.map +1 -1
  38. package/build/lib/commands/clipboard.d.ts +9 -11
  39. package/build/lib/commands/clipboard.d.ts.map +1 -1
  40. package/build/lib/commands/clipboard.js +8 -13
  41. package/build/lib/commands/clipboard.js.map +1 -1
  42. package/build/lib/commands/condition.d.ts +9 -72
  43. package/build/lib/commands/condition.d.ts.map +1 -1
  44. package/build/lib/commands/condition.js +5 -66
  45. package/build/lib/commands/condition.js.map +1 -1
  46. package/build/lib/commands/content-size.d.ts +16 -19
  47. package/build/lib/commands/content-size.d.ts.map +1 -1
  48. package/build/lib/commands/content-size.js +14 -22
  49. package/build/lib/commands/content-size.js.map +1 -1
  50. package/build/lib/commands/context.d.ts +130 -161
  51. package/build/lib/commands/context.d.ts.map +1 -1
  52. package/build/lib/commands/context.js +123 -108
  53. package/build/lib/commands/context.js.map +1 -1
  54. package/build/lib/commands/device-info.d.ts +13 -0
  55. package/build/lib/commands/device-info.d.ts.map +1 -0
  56. package/build/lib/commands/device-info.js +20 -0
  57. package/build/lib/commands/device-info.js.map +1 -0
  58. package/build/lib/commands/element.d.ts +83 -67
  59. package/build/lib/commands/element.d.ts.map +1 -1
  60. package/build/lib/commands/element.js +111 -134
  61. package/build/lib/commands/element.js.map +1 -1
  62. package/build/lib/commands/execute.d.ts +10 -22
  63. package/build/lib/commands/execute.d.ts.map +1 -1
  64. package/build/lib/commands/execute.js +13 -29
  65. package/build/lib/commands/execute.js.map +1 -1
  66. package/build/lib/commands/file-movement.d.ts +31 -42
  67. package/build/lib/commands/file-movement.d.ts.map +1 -1
  68. package/build/lib/commands/file-movement.js +146 -205
  69. package/build/lib/commands/file-movement.js.map +1 -1
  70. package/build/lib/commands/find.d.ts +20 -12
  71. package/build/lib/commands/find.d.ts.map +1 -1
  72. package/build/lib/commands/find.js +27 -65
  73. package/build/lib/commands/find.js.map +1 -1
  74. package/build/lib/commands/general.d.ts +84 -80
  75. package/build/lib/commands/general.d.ts.map +1 -1
  76. package/build/lib/commands/general.js +67 -54
  77. package/build/lib/commands/general.js.map +1 -1
  78. package/build/lib/commands/geolocation.d.ts +16 -36
  79. package/build/lib/commands/geolocation.d.ts.map +1 -1
  80. package/build/lib/commands/geolocation.js +8 -25
  81. package/build/lib/commands/geolocation.js.map +1 -1
  82. package/build/lib/commands/gesture.d.ts +103 -119
  83. package/build/lib/commands/gesture.d.ts.map +1 -1
  84. package/build/lib/commands/gesture.js +98 -138
  85. package/build/lib/commands/gesture.js.map +1 -1
  86. package/build/lib/commands/increase-contrast.d.ts +10 -13
  87. package/build/lib/commands/increase-contrast.d.ts.map +1 -1
  88. package/build/lib/commands/increase-contrast.js +8 -16
  89. package/build/lib/commands/increase-contrast.js.map +1 -1
  90. package/build/lib/commands/iohid.d.ts +6 -1359
  91. package/build/lib/commands/iohid.d.ts.map +1 -1
  92. package/build/lib/commands/iohid.js +5 -10
  93. package/build/lib/commands/iohid.js.map +1 -1
  94. package/build/lib/commands/keyboard.d.ts +16 -13
  95. package/build/lib/commands/keyboard.d.ts.map +1 -1
  96. package/build/lib/commands/keyboard.js +14 -18
  97. package/build/lib/commands/keyboard.js.map +1 -1
  98. package/build/lib/commands/keychains.d.ts +2 -2
  99. package/build/lib/commands/keychains.d.ts.map +1 -1
  100. package/build/lib/commands/keychains.js +1 -4
  101. package/build/lib/commands/keychains.js.map +1 -1
  102. package/build/lib/commands/localization.d.ts +7 -6
  103. package/build/lib/commands/localization.d.ts.map +1 -1
  104. package/build/lib/commands/localization.js +7 -8
  105. package/build/lib/commands/localization.js.map +1 -1
  106. package/build/lib/commands/location.d.ts +8 -11
  107. package/build/lib/commands/location.d.ts.map +1 -1
  108. package/build/lib/commands/location.js +7 -15
  109. package/build/lib/commands/location.js.map +1 -1
  110. package/build/lib/commands/lock.d.ts +6 -10
  111. package/build/lib/commands/lock.d.ts.map +1 -1
  112. package/build/lib/commands/lock.js +3 -10
  113. package/build/lib/commands/lock.js.map +1 -1
  114. package/build/lib/commands/log.d.ts +42 -44
  115. package/build/lib/commands/log.d.ts.map +1 -1
  116. package/build/lib/commands/log.js +32 -53
  117. package/build/lib/commands/log.js.map +1 -1
  118. package/build/lib/commands/memory.d.ts +4 -5
  119. package/build/lib/commands/memory.d.ts.map +1 -1
  120. package/build/lib/commands/memory.js +3 -8
  121. package/build/lib/commands/memory.js.map +1 -1
  122. package/build/lib/commands/navigation.d.ts +14 -26
  123. package/build/lib/commands/navigation.d.ts.map +1 -1
  124. package/build/lib/commands/navigation.js +22 -32
  125. package/build/lib/commands/navigation.js.map +1 -1
  126. package/build/lib/commands/notifications.d.ts +10 -10
  127. package/build/lib/commands/notifications.d.ts.map +1 -1
  128. package/build/lib/commands/notifications.js +8 -12
  129. package/build/lib/commands/notifications.js.map +1 -1
  130. package/build/lib/commands/pasteboard.d.ts +9 -10
  131. package/build/lib/commands/pasteboard.d.ts.map +1 -1
  132. package/build/lib/commands/pasteboard.js +8 -13
  133. package/build/lib/commands/pasteboard.js.map +1 -1
  134. package/build/lib/commands/pcap.d.ts +18 -38
  135. package/build/lib/commands/pcap.d.ts.map +1 -1
  136. package/build/lib/commands/pcap.js +9 -14
  137. package/build/lib/commands/pcap.js.map +1 -1
  138. package/build/lib/commands/performance.d.ts +36 -55
  139. package/build/lib/commands/performance.d.ts.map +1 -1
  140. package/build/lib/commands/performance.js +93 -86
  141. package/build/lib/commands/performance.js.map +1 -1
  142. package/build/lib/commands/permissions.d.ts +15 -17
  143. package/build/lib/commands/permissions.d.ts.map +1 -1
  144. package/build/lib/commands/permissions.js +12 -18
  145. package/build/lib/commands/permissions.js.map +1 -1
  146. package/build/lib/commands/proxy-helper.d.ts +11 -11
  147. package/build/lib/commands/proxy-helper.d.ts.map +1 -1
  148. package/build/lib/commands/proxy-helper.js +15 -24
  149. package/build/lib/commands/proxy-helper.js.map +1 -1
  150. package/build/lib/commands/record-audio.d.ts +25 -52
  151. package/build/lib/commands/record-audio.d.ts.map +1 -1
  152. package/build/lib/commands/record-audio.js +17 -19
  153. package/build/lib/commands/record-audio.js.map +1 -1
  154. package/build/lib/commands/recordscreen.d.ts +31 -62
  155. package/build/lib/commands/recordscreen.d.ts.map +1 -1
  156. package/build/lib/commands/recordscreen.js +29 -28
  157. package/build/lib/commands/recordscreen.js.map +1 -1
  158. package/build/lib/commands/screenshots.d.ts +15 -9
  159. package/build/lib/commands/screenshots.d.ts.map +1 -1
  160. package/build/lib/commands/screenshots.js +16 -16
  161. package/build/lib/commands/screenshots.js.map +1 -1
  162. package/build/lib/commands/simctl.d.ts +16 -22
  163. package/build/lib/commands/simctl.d.ts.map +1 -1
  164. package/build/lib/commands/simctl.js +13 -17
  165. package/build/lib/commands/simctl.js.map +1 -1
  166. package/build/lib/commands/source.d.ts +10 -8
  167. package/build/lib/commands/source.d.ts.map +1 -1
  168. package/build/lib/commands/source.js +11 -14
  169. package/build/lib/commands/source.js.map +1 -1
  170. package/build/lib/commands/timeouts.d.ts +25 -32
  171. package/build/lib/commands/timeouts.d.ts.map +1 -1
  172. package/build/lib/commands/timeouts.js +19 -15
  173. package/build/lib/commands/timeouts.js.map +1 -1
  174. package/build/lib/commands/types.d.ts +80 -0
  175. package/build/lib/commands/types.d.ts.map +1 -1
  176. package/build/lib/commands/web.d.ts +199 -202
  177. package/build/lib/commands/web.d.ts.map +1 -1
  178. package/build/lib/commands/web.js +216 -175
  179. package/build/lib/commands/web.js.map +1 -1
  180. package/build/lib/commands/xctest-record-screen.d.ts +17 -47
  181. package/build/lib/commands/xctest-record-screen.d.ts.map +1 -1
  182. package/build/lib/commands/xctest-record-screen.js +28 -59
  183. package/build/lib/commands/xctest-record-screen.js.map +1 -1
  184. package/build/lib/commands/xctest.d.ts +37 -37
  185. package/build/lib/commands/xctest.d.ts.map +1 -1
  186. package/build/lib/commands/xctest.js +38 -50
  187. package/build/lib/commands/xctest.js.map +1 -1
  188. package/build/lib/desired-caps.js +1 -1
  189. package/build/lib/device/log/ios-simulator-log.d.ts.map +1 -1
  190. package/build/lib/device/log/ios-simulator-log.js +2 -0
  191. package/build/lib/device/log/ios-simulator-log.js.map +1 -1
  192. package/build/lib/device/simulator-management.d.ts.map +1 -1
  193. package/build/lib/device/simulator-management.js +4 -5
  194. package/build/lib/device/simulator-management.js.map +1 -1
  195. package/build/lib/device-log/ios-crash-log.d.ts +1 -1
  196. package/build/lib/device-log/ios-crash-log.d.ts.map +1 -1
  197. package/build/lib/device-log/ios-simulator-log.d.ts +1 -1
  198. package/build/lib/device-log/ios-simulator-log.d.ts.map +1 -1
  199. package/build/lib/doctor/optional-checks.d.ts +0 -9
  200. package/build/lib/doctor/optional-checks.d.ts.map +1 -1
  201. package/build/lib/doctor/optional-checks.js +1 -30
  202. package/build/lib/doctor/optional-checks.js.map +1 -1
  203. package/build/lib/driver.d.ts +11 -3
  204. package/build/lib/driver.d.ts.map +1 -1
  205. package/build/lib/driver.js +36 -12
  206. package/build/lib/driver.js.map +1 -1
  207. package/build/lib/execute-method-map.d.ts.map +1 -1
  208. package/build/lib/execute-method-map.js +0 -9
  209. package/build/lib/execute-method-map.js.map +1 -1
  210. package/build/lib/simulator-management.js +3 -3
  211. package/build/lib/simulator-management.js.map +1 -1
  212. package/lib/commands/active-app-info.ts +15 -0
  213. package/lib/commands/alert.ts +98 -0
  214. package/lib/commands/app-management.ts +414 -0
  215. package/lib/commands/{app-strings.js → app-strings.ts} +10 -9
  216. package/lib/commands/appearance.ts +70 -0
  217. package/lib/commands/audit.ts +25 -0
  218. package/lib/commands/{battery.js → battery.ts} +10 -12
  219. package/lib/commands/biometric.ts +52 -0
  220. package/lib/commands/{certificate.js → certificate.ts} +55 -50
  221. package/lib/commands/clipboard.ts +37 -0
  222. package/lib/commands/{condition.js → condition.ts} +21 -77
  223. package/lib/commands/content-size.ts +67 -0
  224. package/lib/commands/{context.js → context.ts} +174 -146
  225. package/lib/commands/device-info.ts +24 -0
  226. package/lib/commands/element.ts +419 -0
  227. package/lib/commands/{execute.js → execute.ts} +42 -38
  228. package/lib/commands/{file-movement.js → file-movement.ts} +212 -235
  229. package/lib/commands/find.ts +277 -0
  230. package/lib/commands/{general.js → general.ts} +102 -77
  231. package/lib/commands/geolocation.ts +55 -0
  232. package/lib/commands/{gesture.js → gesture.ts} +225 -183
  233. package/lib/commands/increase-contrast.ts +49 -0
  234. package/lib/commands/{iohid.js → iohid.ts} +15 -13
  235. package/lib/commands/keyboard.ts +70 -0
  236. package/lib/commands/keychains.ts +16 -0
  237. package/lib/commands/{localization.js → localization.ts} +22 -12
  238. package/lib/commands/{location.js → location.ts} +19 -22
  239. package/lib/commands/lock.ts +43 -0
  240. package/lib/commands/{log.js → log.ts} +68 -68
  241. package/lib/commands/{memory.js → memory.ts} +9 -9
  242. package/lib/commands/{navigation.js → navigation.ts} +42 -39
  243. package/lib/commands/{notifications.js → notifications.ts} +22 -14
  244. package/lib/commands/pasteboard.ts +44 -0
  245. package/lib/commands/{pcap.js → pcap.ts} +28 -28
  246. package/lib/commands/{performance.js → performance.ts} +133 -114
  247. package/lib/commands/permissions.ts +90 -0
  248. package/lib/commands/{proxy-helper.js → proxy-helper.ts} +26 -26
  249. package/lib/commands/{record-audio.js → record-audio.ts} +35 -33
  250. package/lib/commands/{recordscreen.js → recordscreen.ts} +78 -50
  251. package/lib/commands/{screenshots.js → screenshots.ts} +27 -21
  252. package/lib/commands/simctl.ts +82 -0
  253. package/lib/commands/{source.js → source.ts} +23 -20
  254. package/lib/commands/timeouts.ts +95 -0
  255. package/lib/commands/types.ts +86 -0
  256. package/lib/commands/{web.js → web.ts} +314 -264
  257. package/lib/commands/{xctest-record-screen.js → xctest-record-screen.ts} +54 -71
  258. package/lib/commands/{xctest.js → xctest.ts} +78 -71
  259. package/lib/desired-caps.ts +1 -1
  260. package/lib/device/log/ios-simulator-log.ts +2 -0
  261. package/lib/device/simulator-management.ts +3 -6
  262. package/lib/doctor/optional-checks.ts +0 -33
  263. package/lib/driver.ts +38 -13
  264. package/lib/execute-method-map.ts +0 -9
  265. package/package.json +6 -5
  266. package/lib/commands/active-app-info.js +0 -12
  267. package/lib/commands/alert.js +0 -88
  268. package/lib/commands/app-management.js +0 -346
  269. package/lib/commands/appearance.js +0 -71
  270. package/lib/commands/audit.js +0 -31
  271. package/lib/commands/biometric.js +0 -52
  272. package/lib/commands/clipboard.js +0 -35
  273. package/lib/commands/content-size.js +0 -68
  274. package/lib/commands/deviceInfo.js +0 -27
  275. package/lib/commands/element.js +0 -423
  276. package/lib/commands/find.js +0 -205
  277. package/lib/commands/geolocation.js +0 -56
  278. package/lib/commands/increase-contrast.js +0 -50
  279. package/lib/commands/keyboard.js +0 -62
  280. package/lib/commands/keychains.js +0 -17
  281. package/lib/commands/lock.js +0 -46
  282. package/lib/commands/pasteboard.js +0 -43
  283. package/lib/commands/permissions.js +0 -85
  284. package/lib/commands/simctl.js +0 -71
  285. package/lib/commands/timeouts.js +0 -68
package/lib/driver.ts CHANGED
@@ -21,6 +21,8 @@ import {LRUCache} from 'lru-cache';
21
21
  import EventEmitter from 'node:events';
22
22
  import path from 'node:path';
23
23
  import url from 'node:url';
24
+ import {Ios} from '@limrun/api';
25
+ import {setLimrunIosClient} from 'appium-xcode';
24
26
  import {
25
27
  SUPPORTED_EXTENSIONS,
26
28
  SAFARI_BUNDLE_ID,
@@ -41,7 +43,7 @@ import * as clipboardCommands from './commands/clipboard';
41
43
  import * as conditionCommands from './commands/condition';
42
44
  import * as contentSizeCommands from './commands/content-size';
43
45
  import * as contextCommands from './commands/context';
44
- import * as deviceInfoCommands from './commands/deviceInfo';
46
+ import * as deviceInfoCommands from './commands/device-info';
45
47
  import * as elementCommands from './commands/element';
46
48
  import * as executeCommands from './commands/execute';
47
49
  import * as fileMovementCommands from './commands/file-movement';
@@ -121,7 +123,7 @@ import type { PerfRecorder } from './commands/performance';
121
123
  import type { AudioRecorder } from './commands/record-audio';
122
124
  import type { TrafficCapture } from './commands/pcap';
123
125
  import type { ScreenRecorder } from './commands/recordscreen';
124
- import type { DVTServiceWithConnection } from './commands/condition.js';
126
+ import type { DVTServiceWithConnection } from 'appium-ios-remotexpc';
125
127
  import type { IOSDeviceLog } from './device/log/ios-device-log';
126
128
  import type { IOSSimulatorLog } from './device/log/ios-simulator-log';
127
129
  import type { IOSCrashLog } from './device/log/ios-crash-log';
@@ -242,8 +244,6 @@ const MEMOIZED_FUNCTIONS = ['getStatusBarHeight', 'getDevicePixelRatio', 'getScr
242
244
  // Capabilities that do not have xcodebuild process
243
245
  const CAP_NAMES_NO_XCODEBUILD_REQUIRED = ['webDriverAgentUrl', 'usePreinstalledWDA'];
244
246
 
245
- const BUNDLE_VERSION_PATTERN = /CFBundleVersion\s+=\s+"?([^(;|")]+)/;
246
-
247
247
  export class XCUITestDriver
248
248
  extends BaseDriver<XCUITestDriverConstraints, StringRecord>
249
249
  implements ExternalDriver<XCUITestDriverConstraints, FullContext|string, StringRecord> {
@@ -278,7 +278,7 @@ export class XCUITestDriver
278
278
  _device: Simulator | RealDevice;
279
279
  _iosSdkVersion: string | null;
280
280
  _wda: WebDriverAgent | null;
281
- remote: RemoteDebugger | null;
281
+ _remote: RemoteDebugger | null;
282
282
  logs: DriverLogs;
283
283
  _bidiServerLogListener: LogListener | undefined;
284
284
 
@@ -293,6 +293,7 @@ export class XCUITestDriver
293
293
  pageLoadMs: number;
294
294
  landscapeWebCoordsOffset: number;
295
295
  mjpegStream?: mjpeg.MJpegStream;
296
+ _limClient?: Ios.InstanceClient;
296
297
 
297
298
  constructor(opts: XCUITestDriverOpts, shouldValidateCaps = true) {
298
299
  super(opts, shouldValidateCaps);
@@ -337,10 +338,20 @@ export class XCUITestDriver
337
338
  this.lifecycleData = {};
338
339
  this._audioRecorder = null;
339
340
  this.appInfosCache = new AppInfosCache(this.log);
340
- this.remote = null;
341
+ this._remote = null;
341
342
  this.doesSupportBidi = true;
342
343
  this._wda = null;
343
344
  }
345
+ /**
346
+ * Gets the Limrun iOS instance client.
347
+ * @throws {Error} If the client has not been initialized.
348
+ */
349
+ get limClient(): Ios.InstanceClient {
350
+ if (!this._limClient) {
351
+ throw new Error('Limrun client not initialized. Ensure limInstanceApiUrl and limInstanceToken capabilities are provided.');
352
+ }
353
+ return this._limClient;
354
+ }
344
355
 
345
356
  // Override methods from BaseDriver
346
357
  override async createSession(
@@ -358,6 +369,15 @@ export class XCUITestDriver
358
369
  if (this.mergeCliArgsToOpts()) {
359
370
  this.validateDesiredCaps({...caps, ...this.cliArgs});
360
371
  }
372
+ if (!this.opts.limInstanceApiUrl || !this.opts.limInstanceToken) {
373
+ throw new Error('limInstanceApiUrl and limInstanceToken are required');
374
+ }
375
+ this._limClient = await Ios.createInstanceClient({
376
+ apiUrl: this.opts.limInstanceApiUrl,
377
+ token: this.opts.limInstanceToken,
378
+ logLevel: 'debug',
379
+ });
380
+ setLimrunIosClient(this._limClient);
361
381
 
362
382
  await this.start();
363
383
 
@@ -456,7 +476,7 @@ export class XCUITestDriver
456
476
  }
457
477
  }
458
478
 
459
- if (this.remote) {
479
+ if (this._remote) {
460
480
  this.log.debug('Found a remote debugger session. Removing...');
461
481
  await this.stopRemote();
462
482
  }
@@ -502,7 +522,7 @@ export class XCUITestDriver
502
522
  this.log.debug(`Executing command '${cmd}'`);
503
523
 
504
524
  if (cmd === 'receiveAsyncResponse') {
505
- return await this.receiveAsyncResponse(...args);
525
+ return await this.receiveAsyncResponse(args[0], args[1]);
506
526
  }
507
527
  // TODO: once this fix gets into base driver remove from here
508
528
  if (cmd === 'getStatus') {
@@ -673,6 +693,13 @@ export class XCUITestDriver
673
693
  return this._wda;
674
694
  }
675
695
 
696
+ get remote(): RemoteDebugger {
697
+ if (!this._remote) {
698
+ throw new Error('Remote debugger is not initialized');
699
+ }
700
+ return this._remote;
701
+ }
702
+
676
703
  get driverData(): Record<string, any> {
677
704
  // TODO fill out resource info here
678
705
  return {};
@@ -860,8 +887,7 @@ export class XCUITestDriver
860
887
  await this.runReset();
861
888
 
862
889
  this._wda = new WebDriverAgent(
863
- // @ts-ignore This property is not used by WDA, and will be removed in the future
864
- this.xcodeVersion,
890
+ undefined,
865
891
  {
866
892
  ...this.opts,
867
893
  device: this.device,
@@ -1344,10 +1370,9 @@ export class XCUITestDriver
1344
1370
  try {
1345
1371
  const device = await getSimulator(this.opts.udid, {
1346
1372
  devicesSetPath: this.opts.simulatorDevicesSetPath,
1373
+ limClient: this.limClient,
1347
1374
  // @ts-ignore This is ok
1348
1375
  logger: this.log,
1349
- limInstanceApiUrl: this.opts.limInstanceApiUrl,
1350
- limInstanceToken: this.opts.limInstanceToken,
1351
1376
  });
1352
1377
  return {device, realDevice: false, udid: this.opts.udid};
1353
1378
  } catch {
@@ -1741,7 +1766,7 @@ export class XCUITestDriver
1741
1766
  this.implicitWaitMs = 0;
1742
1767
  this.pageLoadMs = 6000;
1743
1768
  this.landscapeWebCoordsOffset = 0;
1744
- this.remote = null;
1769
+ this._remote = null;
1745
1770
  this._conditionInducerService = null;
1746
1771
  this._remoteXPCConditionInducerConnection = null;
1747
1772
 
@@ -215,7 +215,6 @@ export const executeMethodMap = {
215
215
  command: 'getViewportRect',
216
216
  },
217
217
  'mobile: startPerfRecord': {
218
- // @ts-expect-error Class field assignment - method exists on XCUITestDriver
219
218
  command: 'mobileStartPerfRecord',
220
219
  params: {
221
220
  optional: ['timeout', 'profileName', 'pid'],
@@ -253,7 +252,6 @@ export const executeMethodMap = {
253
252
  command: 'mobileListCertificates',
254
253
  },
255
254
  'mobile: startLogsBroadcast': {
256
- // @ts-expect-error Class field assignment - method exists on XCUITestDriver
257
255
  command: 'mobileStartLogsBroadcast',
258
256
  },
259
257
  'mobile: stopLogsBroadcast': {
@@ -468,28 +466,24 @@ export const executeMethodMap = {
468
466
  command: 'mobileResetLocationService',
469
467
  },
470
468
  'mobile: startPcap': {
471
- // @ts-expect-error Class field assignment - method exists on XCUITestDriver
472
469
  command: 'mobileStartPcap',
473
470
  params: {
474
471
  optional: ['timeLimitSec', 'forceRestart'],
475
472
  },
476
473
  },
477
474
  'mobile: stopPcap': {
478
- // @ts-expect-error Class field assignment - method exists on XCUITestDriver
479
475
  command: 'mobileStopPcap',
480
476
  },
481
477
  'mobile: listConditionInducers': {
482
478
  command: 'listConditionInducers',
483
479
  },
484
480
  'mobile: enableConditionInducer': {
485
- // @ts-expect-error Class field assignment - method exists on XCUITestDriver
486
481
  command: 'enableConditionInducer',
487
482
  params: {
488
483
  required: ['conditionID', 'profileID'],
489
484
  },
490
485
  },
491
486
  'mobile: disableConditionInducer': {
492
- // @ts-expect-error Class field assignment - method exists on XCUITestDriver
493
487
  command: 'disableConditionInducer',
494
488
  },
495
489
  'mobile: updateSafariPreferences': {
@@ -499,7 +493,6 @@ export const executeMethodMap = {
499
493
  },
500
494
  },
501
495
  'mobile: calibrateWebToRealCoordinatesTranslation': {
502
- // @ts-expect-error Class field assignment - method exists on XCUITestDriver
503
496
  command: 'mobileCalibrateWebToRealCoordinatesTranslation',
504
497
  },
505
498
  'mobile: keys': {
@@ -532,7 +525,6 @@ export const executeMethodMap = {
532
525
  command: 'mobileShake',
533
526
  },
534
527
  'mobile: startAudioRecording': {
535
- // @ts-expect-error Class field assignment - method exists on XCUITestDriver
536
528
  command: 'startAudioRecording',
537
529
  params: {
538
530
  required: ['audioInput'],
@@ -547,7 +539,6 @@ export const executeMethodMap = {
547
539
  },
548
540
  },
549
541
  'mobile: stopAudioRecording': {
550
- // @ts-expect-error Class field assignment - method exists on XCUITestDriver
551
542
  command: 'stopAudioRecording',
552
543
  },
553
544
  'mobile: hideKeyboard': {
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "xcuitest",
9
9
  "xctest"
10
10
  ],
11
- "version": "10.11.0-lim.3",
11
+ "version": "10.14.6-lim.1",
12
12
  "author": "Appium Contributors",
13
13
  "license": "Apache-2.0",
14
14
  "repository": {
@@ -82,14 +82,15 @@
82
82
  "dependencies": {
83
83
  "@appium/strongbox": "^1.0.0-rc.1",
84
84
  "@colors/colors": "^1.6.0",
85
+ "@limrun/api": "^0.18.3",
85
86
  "appium-idb": "^2.0.0",
86
87
  "appium-ios-device": "^3.0.0",
87
- "appium-ios-simulator": "npm:@limrun/appium-ios-simulator@8.0.7-lim.3",
88
+ "appium-ios-simulator": "npm:@limrun/appium-ios-simulator@8.0.9-lim.2",
88
89
  "appium-remote-debugger": "npm:@limrun/appium-remote-debugger@15.2.7-lim.4",
89
90
  "appium-webdriveragent": "npm:@limrun/appium-webdriveragent@10.4.2-lim.1",
90
- "appium-xcode": "npm:@limrun/appium-xcode@6.1.3-lim.1",
91
+ "appium-xcode": "npm:@limrun/appium-xcode@6.1.6-lim.1",
91
92
  "async-lock": "^1.4.0",
92
- "asyncbox": "^3.0.0",
93
+ "asyncbox": "^4.0.1",
93
94
  "bluebird": "^3.7.2",
94
95
  "commander": "^14.0.1",
95
96
  "css-selector-parser": "^3.0.0",
@@ -99,7 +100,7 @@
99
100
  "moment": "^2.29.4",
100
101
  "moment-timezone": "^0.x",
101
102
  "node-devicectl": "^1.1.0",
102
- "node-simctl": "npm:@limrun/node-simctl@8.1.1-lim.4",
103
+ "node-simctl": "npm:@limrun/node-simctl@8.1.3-lim.1",
103
104
  "portscanner": "^2.2.0",
104
105
  "semver": "^7.5.4",
105
106
  "teen_process": "^3.0.0",
@@ -1,12 +0,0 @@
1
- /**
2
- * Returns information about the active application.
3
- *
4
- * @returns {Promise<import('./types').ActiveAppInfo>} Active app information
5
- * @throws {Error} if an error raised by command
6
- * @this {import('../driver').XCUITestDriver}
7
- */
8
- export async function mobileGetActiveAppInfo() {
9
- return /** @type {import('./types').ActiveAppInfo} */ (
10
- await this.proxyCommand('/wda/activeAppInfo', 'GET')
11
- );
12
- }
@@ -1,88 +0,0 @@
1
- /**
2
- * @this {XCUITestDriver}
3
- */
4
- export async function getAlertText() {
5
- return /** @type {string|null} */ (await this.proxyCommand('/alert/text', 'GET'));
6
- }
7
-
8
- /**
9
- * @param {string} value
10
- * @this {XCUITestDriver}
11
- * @returns {Promise<void>}
12
- */
13
- export async function setAlertText(value) {
14
- await this.proxyCommand('/alert/text', 'POST', {value});
15
- }
16
-
17
- /**
18
- * @param { {buttonLabel?: string} } opts
19
- * @returns {Promise<void>}
20
- * @this {XCUITestDriver}
21
- */
22
- export async function postAcceptAlert(opts = {}) {
23
- await this.proxyCommand('/alert/accept', 'POST', toAlertParams(opts));
24
- }
25
-
26
- /**
27
- * @param { {buttonLabel?: string} } opts
28
- * @returns {Promise<void>}
29
- * @this {XCUITestDriver}
30
- */
31
- export async function postDismissAlert(opts = {}) {
32
- await this.proxyCommand('/alert/dismiss', 'POST', toAlertParams(opts));
33
- }
34
-
35
- /**
36
- * @internal
37
- * @this {XCUITestDriver}
38
- * @returns {Promise<string[]>} The list of button labels
39
- */
40
- export async function getAlertButtons() {
41
- return /** @type {string[]} */ (await this.proxyCommand('/wda/alert/buttons', 'GET'));
42
- }
43
-
44
- /**
45
- * Tries to apply the given action to the currently visible alert.
46
- *
47
- * @param {AlertAction} action - The actual action to apply.
48
- * @param {string} [buttonLabel] - The name of the button used to perform the chosen alert action. Only makes sense if the action is `accept` or `dismiss`.
49
- * @returns {Promise<string[]|void>} If `action` is `getButtons`, a list of alert button labelsp; otherwise nothing.
50
- * @remarks This should really be separate commands.
51
- * @this {XCUITestDriver}
52
- */
53
- export async function mobileHandleAlert(action, buttonLabel) {
54
- switch (action) {
55
- case 'accept':
56
- return await this.postAcceptAlert({buttonLabel});
57
- case 'dismiss':
58
- return await this.postDismissAlert({buttonLabel});
59
- case 'getButtons':
60
- return await this.getAlertButtons();
61
- default:
62
- throw new Error(
63
- `The 'action' value should be either 'accept', 'dismiss' or 'getButtons'. ` +
64
- `'${action}' is provided instead.`,
65
- );
66
- }
67
- }
68
-
69
- /**
70
- *
71
- * @param { {buttonLabel?: string} } opts
72
- * @returns { {name?: string} }
73
- */
74
- function toAlertParams(opts = {}) {
75
- const params = {};
76
- if (opts.buttonLabel) {
77
- params.name = opts.buttonLabel;
78
- }
79
- return params;
80
- }
81
-
82
- /**
83
- * @typedef {'accept'|'dismiss'|'getButtons'} AlertAction
84
- */
85
-
86
- /**
87
- * @typedef {import('../driver').XCUITestDriver} XCUITestDriver
88
- */