@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":"desired-caps.d.ts","sourceRoot":"","sources":["../../lib/desired-caps.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gCAA0B,KAAK,CAAC;AAChC,iCAA2B,MAAM,CAAC"}
1
+ {"version":3,"file":"desired-caps.d.ts","sourceRoot":"","sources":["../../lib/desired-caps.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiZF,CAAC;AAEjC,MAAM,MAAM,yBAAyB,GAAG,OAAO,qBAAqB,CAAC"}
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PLATFORM_NAME_TVOS = exports.PLATFORM_NAME_IOS = exports.desiredCapConstraints = void 0;
3
+ exports.desiredCapConstraints = exports.PLATFORM_NAME_TVOS = exports.PLATFORM_NAME_IOS = void 0;
4
4
  // These platform names should be valid in simulator name
5
- const PLATFORM_NAME_IOS = 'iOS';
6
- exports.PLATFORM_NAME_IOS = PLATFORM_NAME_IOS;
7
- const PLATFORM_NAME_TVOS = 'tvOS';
8
- exports.PLATFORM_NAME_TVOS = PLATFORM_NAME_TVOS;
9
- const desiredCapConstraints = /** @type {const} */ ({
5
+ exports.PLATFORM_NAME_IOS = 'iOS';
6
+ exports.PLATFORM_NAME_TVOS = 'tvOS';
7
+ exports.desiredCapConstraints = {
10
8
  platformName: {
11
9
  // override
12
10
  presence: true,
13
11
  isString: true,
14
- inclusionCaseInsensitive: [PLATFORM_NAME_IOS, PLATFORM_NAME_TVOS],
12
+ inclusionCaseInsensitive: [exports.PLATFORM_NAME_IOS, exports.PLATFORM_NAME_TVOS],
15
13
  },
16
14
  browserName: {
17
15
  isString: true,
@@ -160,6 +158,7 @@ const desiredCapConstraints = /** @type {const} */ ({
160
158
  },
161
159
  launchWithIDB: {
162
160
  isBoolean: true,
161
+ deprecated: true,
163
162
  },
164
163
  useNewWDA: {
165
164
  isBoolean: true,
@@ -393,8 +392,18 @@ const desiredCapConstraints = /** @type {const} */ ({
393
392
  pageLoadStrategy: {
394
393
  isString: true,
395
394
  inclusionCaseInsensitive: ['none', 'eager', 'normal']
395
+ },
396
+ // Lim Instance integration options
397
+ limInstanceApiUrl: {
398
+ isString: true,
399
+ },
400
+ limInstanceToken: {
401
+ isString: true,
402
+ },
403
+ // Custom headers to be sent with every request to WebDriverAgent
404
+ // Useful when WDA is behind a gateway that requires authentication headers
405
+ wdaRequestHeaders: {
406
+ isObject: true,
396
407
  }
397
- });
398
- exports.desiredCapConstraints = desiredCapConstraints;
399
- exports.default = desiredCapConstraints;
408
+ };
400
409
  //# sourceMappingURL=desired-caps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../lib/desired-caps.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../lib/desired-caps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { AppiumLogger } from '@appium/types';
2
+ import type { SubProcess } from 'teen_process';
3
+ export interface BaseDeviceClientOptions {
4
+ log: AppiumLogger;
5
+ }
6
+ export interface InstallProfileArgs {
7
+ profilePath?: string;
8
+ payload?: string | Buffer;
9
+ }
10
+ export declare abstract class BaseDeviceClient {
11
+ private readonly _log;
12
+ constructor(opts: BaseDeviceClientOptions);
13
+ get log(): AppiumLogger;
14
+ abstract assertExists(isStrict: boolean): Promise<boolean>;
15
+ abstract listProfiles(): Promise<object>;
16
+ abstract installProfile(args: InstallProfileArgs): Promise<void>;
17
+ abstract removeProfile(name: string): Promise<string>;
18
+ abstract listCrashes(): Promise<string[]>;
19
+ abstract exportCrash(name: string, dstFolder: string): Promise<void>;
20
+ abstract collectPcap(dstFile: string): Promise<SubProcess>;
21
+ }
22
+ //# sourceMappingURL=base-device-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-device-client.d.ts","sourceRoot":"","sources":["../../../../lib/device/clients/base-device-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,YAAY,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;CACzB;AAED,8BAAsB,gBAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;gBAEvB,IAAI,EAAE,uBAAuB;IAI1C,IAAI,GAAG,IAAI,YAAY,CAEtB;IAED,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAE1D,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAChE,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAErD,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpE,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAC3D"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseDeviceClient = void 0;
4
+ class BaseDeviceClient {
5
+ _log;
6
+ constructor(opts) {
7
+ this._log = opts.log;
8
+ }
9
+ get log() {
10
+ return this._log;
11
+ }
12
+ }
13
+ exports.BaseDeviceClient = BaseDeviceClient;
14
+ //# sourceMappingURL=base-device-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-device-client.js","sourceRoot":"","sources":["../../../../lib/device/clients/base-device-client.ts"],"names":[],"mappings":";;;AAYA,MAAsB,gBAAgB;IACnB,IAAI,CAAe;IAEpC,YAAa,IAA6B;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;IACvB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CAYF;AArBD,4CAqBC"}
@@ -0,0 +1,21 @@
1
+ import { SubProcess } from 'teen_process';
2
+ import { BaseDeviceClient } from './base-device-client';
3
+ import type { BaseDeviceClientOptions, InstallProfileArgs } from './base-device-client';
4
+ import type { CertificateList } from '../../commands/types';
5
+ export interface PyideviceOptions extends BaseDeviceClientOptions {
6
+ udid: string;
7
+ }
8
+ export declare class Pyidevice extends BaseDeviceClient {
9
+ private readonly _udid;
10
+ private _binaryPath;
11
+ constructor(opts: PyideviceOptions);
12
+ assertExists(isStrict?: boolean): Promise<boolean>;
13
+ listProfiles(): Promise<CertificateList>;
14
+ installProfile(args: InstallProfileArgs): Promise<void>;
15
+ removeProfile(name: string): Promise<string>;
16
+ listCrashes(): Promise<string[]>;
17
+ exportCrash(name: string, dstFolder: string): Promise<void>;
18
+ collectPcap(dstFile: string): Promise<SubProcess>;
19
+ private execute;
20
+ }
21
+ //# sourceMappingURL=py-ios-device-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"py-ios-device-client.d.ts","sourceRoot":"","sources":["../../../../lib/device/clients/py-ios-device-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,UAAU,EAAC,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAExF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAO5D,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,IAAI,EAAE,MAAM,CAAC;CACd;AASD,qBAAa,SAAU,SAAQ,gBAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAgB;gBAEvB,IAAI,EAAE,gBAAgB;IAMnB,YAAY,CAAC,QAAQ,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB/C,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;IAKxC,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BvD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5C,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAWhC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAOlD,OAAO;CA6BtB"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Pyidevice = void 0;
7
+ const teen_process_1 = require("teen_process");
8
+ const support_1 = require("appium/support");
9
+ const path_1 = __importDefault(require("path"));
10
+ const base_device_client_1 = require("./base-device-client");
11
+ // https://github.com/YueChen-C/py-ios-device
12
+ const BINARY_NAME = 'pyidevice';
13
+ const CRASH_REPORT_EXT = '.ips';
14
+ class Pyidevice extends base_device_client_1.BaseDeviceClient {
15
+ _udid;
16
+ _binaryPath;
17
+ constructor(opts) {
18
+ super({ log: opts.log });
19
+ this._udid = opts.udid;
20
+ this._binaryPath = null;
21
+ }
22
+ async assertExists(isStrict = true) {
23
+ if (this._binaryPath) {
24
+ return true;
25
+ }
26
+ try {
27
+ this._binaryPath = await support_1.fs.which(BINARY_NAME);
28
+ return true;
29
+ }
30
+ catch {
31
+ if (isStrict) {
32
+ throw new Error(`${BINARY_NAME} binary cannot be found in PATH. ` +
33
+ `Please make sure it is installed. Visit https://github.com/YueChen-C/py-ios-device for ` +
34
+ `more details.`);
35
+ }
36
+ return false;
37
+ }
38
+ }
39
+ async listProfiles() {
40
+ const { stdout } = await this.execute(['profiles', 'list']);
41
+ return JSON.parse(stdout);
42
+ }
43
+ async installProfile(args) {
44
+ const { profilePath, payload } = args;
45
+ if (!profilePath && !payload) {
46
+ throw new Error('Either the full path to the profile or its payload must be provided');
47
+ }
48
+ let tmpRoot;
49
+ let srcPath = profilePath;
50
+ try {
51
+ if (!srcPath) {
52
+ tmpRoot = await support_1.tempDir.openDir();
53
+ srcPath = path_1.default.join(tmpRoot, 'cert.pem');
54
+ if (Buffer.isBuffer(payload)) {
55
+ await support_1.fs.writeFile(srcPath, payload);
56
+ }
57
+ else {
58
+ await support_1.fs.writeFile(srcPath, payload, 'utf8');
59
+ }
60
+ }
61
+ await this.execute(['profiles', 'install', '--path', srcPath], {
62
+ logStdout: true,
63
+ });
64
+ }
65
+ finally {
66
+ if (tmpRoot) {
67
+ await support_1.fs.rimraf(tmpRoot);
68
+ }
69
+ }
70
+ }
71
+ async removeProfile(name) {
72
+ return (await this.execute(['profiles', 'remove', '--name', name], { logStdout: true })).stdout;
73
+ }
74
+ async listCrashes() {
75
+ const { stdout } = await this.execute(['crash', 'list']);
76
+ // Example output:
77
+ // ['.', '..', 'SiriSearchFeedback-2023-12-06-144043.ips', '
78
+ // SiriSearchFeedback-2024-05-22-194219.ips', 'JetsamEvent-2024-05-23-225056.ips',
79
+ // 'JetsamEvent-2023-09-18-090920.ips', 'JetsamEvent-2024-05-16-054529.ips',
80
+ // 'Assistant']
81
+ return JSON.parse(stdout.replace(/'/g, '"'))
82
+ .filter((x) => x.endsWith(CRASH_REPORT_EXT));
83
+ }
84
+ async exportCrash(name, dstFolder) {
85
+ await this.execute(['crash', 'export', '--name', name], {
86
+ logStdout: true,
87
+ // The tool exports crash reports to the current working dir
88
+ cwd: dstFolder,
89
+ });
90
+ }
91
+ async collectPcap(dstFile) {
92
+ return await this.execute(['pcapd', dstFile], {
93
+ format: null,
94
+ asynchronous: true,
95
+ });
96
+ }
97
+ async execute(args, opts = {}) {
98
+ await this.assertExists();
99
+ const { cwd, format = 'json', logStdout = false, asynchronous = false } = opts;
100
+ const finalArgs = [...args, '--udid', this._udid, '--network'];
101
+ if (format) {
102
+ finalArgs.push('--format', format);
103
+ }
104
+ const binaryPath = this._binaryPath;
105
+ const cmdStr = support_1.util.quote([binaryPath, ...finalArgs]);
106
+ this.log.debug(`Executing ${cmdStr}`);
107
+ try {
108
+ if (asynchronous) {
109
+ const result = new teen_process_1.SubProcess(binaryPath, finalArgs, { cwd });
110
+ await result.start(0);
111
+ return result;
112
+ }
113
+ const result = await (0, teen_process_1.exec)(binaryPath, finalArgs, { cwd });
114
+ if (logStdout) {
115
+ this.log.debug(`Command output: ${result.stdout}`);
116
+ }
117
+ return result;
118
+ }
119
+ catch (e) {
120
+ throw new Error(`'${cmdStr}' failed. Original error: ${e.stderr || e.stdout || e.message}`);
121
+ }
122
+ }
123
+ }
124
+ exports.Pyidevice = Pyidevice;
125
+ //# sourceMappingURL=py-ios-device-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"py-ios-device-client.js","sourceRoot":"","sources":["../../../../lib/device/clients/py-ios-device-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export declare class DeviceConnectionsFactory {
2
+ private _connectionsMapping;
3
+ constructor();
4
+ listConnections(udid?: string | null, port?: string | number | null, strict?: boolean): string[];
5
+ requestConnection(udid?: string | null, port?: string | number | null, options?: RequestConnectionOptions): Promise<void>;
6
+ releaseConnection(udid?: string | null, port?: string | number | null): void;
7
+ private _udidAsToken;
8
+ private _portAsToken;
9
+ private _toKey;
10
+ private _releaseProxiedConnections;
11
+ }
12
+ export declare const DEVICE_CONNECTIONS_FACTORY: DeviceConnectionsFactory;
13
+ interface RequestConnectionOptions {
14
+ usePortForwarding?: boolean;
15
+ devicePort?: number | null;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=device-connections-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-connections-factory.d.ts","sourceRoot":"","sources":["../../../lib/device/device-connections-factory.ts"],"names":[],"mappings":"AAuHA,qBAAa,wBAAwB;IACnC,OAAO,CAAC,mBAAmB,CAAoB;;IAM/C,eAAe,CACb,IAAI,GAAE,MAAM,GAAG,IAAW,EAC1B,IAAI,GAAE,MAAM,GAAG,MAAM,GAAG,IAAW,EACnC,MAAM,GAAE,OAAe,GACtB,MAAM,EAAE;IAiBL,iBAAiB,CACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAC7B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,IAAI,CAAC;IA6FhB,iBAAiB,CAAC,IAAI,GAAE,MAAM,GAAG,IAAW,EAAE,IAAI,GAAE,MAAM,GAAG,MAAM,GAAG,IAAW,GAAG,IAAI;IAuBxF,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,0BAA0B;CAYnC;AAED,eAAO,MAAM,0BAA0B,0BAAiC,CAAC;AAQzE,UAAU,wBAAwB;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B"}
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DEVICE_CONNECTIONS_FACTORY = exports.DeviceConnectionsFactory = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const net_1 = __importDefault(require("net"));
9
+ const bluebird_1 = __importDefault(require("bluebird"));
10
+ const support_1 = require("appium/support");
11
+ const appium_ios_device_1 = require("appium-ios-device");
12
+ const portscanner_1 = require("portscanner");
13
+ const asyncbox_1 = require("asyncbox");
14
+ const LOCALHOST = '127.0.0.1';
15
+ class iProxy {
16
+ localport;
17
+ deviceport;
18
+ udid;
19
+ localServer;
20
+ log;
21
+ onBeforeProcessExit;
22
+ constructor(udid, localport, deviceport) {
23
+ this.localport = parseInt(String(localport), 10);
24
+ this.deviceport = parseInt(String(deviceport), 10);
25
+ this.udid = udid;
26
+ this.localServer = null;
27
+ this.log = support_1.logger.getLogger(`iProxy@${udid.substring(0, 8)}:${this.localport}`);
28
+ this.onBeforeProcessExit = null;
29
+ }
30
+ async start() {
31
+ if (this.localServer) {
32
+ return;
33
+ }
34
+ this.localServer = net_1.default.createServer(async (localSocket) => {
35
+ let remoteSocket;
36
+ try {
37
+ // We can only connect to the remote socket after the local socket connection succeeds
38
+ remoteSocket = await appium_ios_device_1.utilities.connectPort(this.udid, this.deviceport);
39
+ }
40
+ catch (e) {
41
+ this.log.debug(e.message);
42
+ localSocket.destroy();
43
+ return;
44
+ }
45
+ const destroyCommChannel = () => {
46
+ remoteSocket.unpipe(localSocket);
47
+ localSocket.unpipe(remoteSocket);
48
+ };
49
+ remoteSocket.once('close', () => {
50
+ destroyCommChannel();
51
+ localSocket.destroy();
52
+ });
53
+ // not all remote socket errors are critical for the user
54
+ remoteSocket.on('error', (e) => this.log.debug(e));
55
+ localSocket.once('end', destroyCommChannel);
56
+ localSocket.once('close', () => {
57
+ destroyCommChannel();
58
+ remoteSocket.destroy();
59
+ });
60
+ localSocket.on('error', (e) => this.log.warn(e.message));
61
+ localSocket.pipe(remoteSocket);
62
+ remoteSocket.pipe(localSocket);
63
+ });
64
+ const listeningPromise = new bluebird_1.default((resolve, reject) => {
65
+ if (this.localServer) {
66
+ this.localServer.once('listening', resolve);
67
+ this.localServer.once('error', reject);
68
+ }
69
+ else {
70
+ reject(new Error('Local server is not initialized'));
71
+ }
72
+ });
73
+ this.localServer.listen(this.localport);
74
+ try {
75
+ await listeningPromise;
76
+ }
77
+ catch (e) {
78
+ this.localServer = null;
79
+ throw e;
80
+ }
81
+ this.localServer.on('error', (e) => this.log.warn(e.message));
82
+ this.localServer.once('close', (e) => {
83
+ if (e) {
84
+ this.log.info(`The connection has been closed with error ${e.message}`);
85
+ }
86
+ else {
87
+ this.log.info(`The connection has been closed`);
88
+ }
89
+ this.localServer = null;
90
+ });
91
+ this.onBeforeProcessExit = this._closeLocalServer.bind(this);
92
+ // Make sure we free up the socket on process exit
93
+ if (this.onBeforeProcessExit) {
94
+ process.on('beforeExit', this.onBeforeProcessExit);
95
+ }
96
+ }
97
+ stop() {
98
+ if (this.onBeforeProcessExit) {
99
+ process.off('beforeExit', this.onBeforeProcessExit);
100
+ this.onBeforeProcessExit = null;
101
+ }
102
+ this._closeLocalServer();
103
+ }
104
+ _closeLocalServer() {
105
+ if (!this.localServer) {
106
+ return;
107
+ }
108
+ this.log.debug(`Closing the connection`);
109
+ this.localServer.close();
110
+ this.localServer = null;
111
+ }
112
+ }
113
+ const log = support_1.logger.getLogger('DevCon Factory');
114
+ const PORT_CLOSE_TIMEOUT = 15 * 1000; // 15 seconds
115
+ const SPLITTER = ':';
116
+ class DeviceConnectionsFactory {
117
+ _connectionsMapping;
118
+ constructor() {
119
+ this._connectionsMapping = {};
120
+ }
121
+ listConnections(udid = null, port = null, strict = false) {
122
+ if (!udid && !port) {
123
+ return [];
124
+ }
125
+ // `this._connectionMapping` keys have format `udid:port`
126
+ // the `strict` argument enforces to match keys having both `udid` and `port`
127
+ // if they are defined
128
+ // while in non-strict mode keys having any of these are going to be matched
129
+ return lodash_1.default.keys(this._connectionsMapping).filter((key) => strict && udid && port
130
+ ? key === this._toKey(udid, port)
131
+ : (udid && key.startsWith(this._udidAsToken(udid))) ||
132
+ (port && key.endsWith(this._portAsToken(port))));
133
+ }
134
+ async requestConnection(udid, port, options = {}) {
135
+ if (!udid || !port) {
136
+ log.warn('Did not know how to request the connection:');
137
+ if (!udid) {
138
+ log.warn('- Device UDID is unset');
139
+ }
140
+ if (!port) {
141
+ log.warn('- The local port number is unset');
142
+ }
143
+ return;
144
+ }
145
+ const { usePortForwarding, devicePort } = options;
146
+ log.info(`Requesting connection for device ${udid} on local port ${port}` +
147
+ (devicePort ? `, device port ${devicePort}` : ''));
148
+ log.debug(`Cached connections count: ${lodash_1.default.size(this._connectionsMapping)}`);
149
+ const connectionsOnPort = this.listConnections(null, port);
150
+ if (!lodash_1.default.isEmpty(connectionsOnPort)) {
151
+ log.info(`Found cached connections on port #${port}: ${JSON.stringify(connectionsOnPort)}`);
152
+ }
153
+ if (usePortForwarding) {
154
+ let isPortBusy = (await (0, portscanner_1.checkPortStatus)(Number(port), LOCALHOST)) === 'open';
155
+ if (isPortBusy) {
156
+ log.warn(`Port #${port} is busy. Did you quit the previous driver session(s) properly?`);
157
+ if (!lodash_1.default.isEmpty(connectionsOnPort)) {
158
+ log.info('Trying to release the port');
159
+ for (const key of this._releaseProxiedConnections(connectionsOnPort)) {
160
+ delete this._connectionsMapping[key];
161
+ }
162
+ const timer = new support_1.timing.Timer().start();
163
+ try {
164
+ await (0, asyncbox_1.waitForCondition)(async () => {
165
+ try {
166
+ if ((await (0, portscanner_1.checkPortStatus)(Number(port), LOCALHOST)) !== 'open') {
167
+ log.info(`Port #${port} has been successfully released after ` +
168
+ `${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
169
+ isPortBusy = false;
170
+ return true;
171
+ }
172
+ }
173
+ catch { }
174
+ return false;
175
+ }, {
176
+ waitMs: PORT_CLOSE_TIMEOUT,
177
+ intervalMs: 300,
178
+ });
179
+ }
180
+ catch {
181
+ log.warn(`Did not know how to release port #${port} in ` +
182
+ `${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
183
+ }
184
+ }
185
+ }
186
+ if (isPortBusy) {
187
+ throw new Error(`The port #${port} is occupied by an other process. ` +
188
+ `You can either quit that process or select another free port.`);
189
+ }
190
+ }
191
+ const currentKey = this._toKey(udid, port);
192
+ if (usePortForwarding) {
193
+ if (!lodash_1.default.isInteger(devicePort)) {
194
+ throw new Error('devicePort is required when usePortForwarding is true');
195
+ }
196
+ const iproxy = new iProxy(udid, port, Number(devicePort));
197
+ try {
198
+ await iproxy.start();
199
+ this._connectionsMapping[currentKey] = { iproxy };
200
+ }
201
+ catch (e) {
202
+ try {
203
+ iproxy.stop();
204
+ }
205
+ catch (e1) {
206
+ log.debug(e1);
207
+ }
208
+ throw e;
209
+ }
210
+ }
211
+ else {
212
+ this._connectionsMapping[currentKey] = {};
213
+ }
214
+ log.info(`Successfully requested the connection for ${currentKey}`);
215
+ }
216
+ releaseConnection(udid = null, port = null) {
217
+ if (!udid && !port) {
218
+ log.warn('Neither device UDID nor local port is set. ' +
219
+ 'Did not know how to release the connection');
220
+ return;
221
+ }
222
+ log.info(`Releasing connections for ${udid || 'any'} device on ${port || 'any'} port number`);
223
+ const keys = this.listConnections(udid, port, true);
224
+ if (lodash_1.default.isEmpty(keys)) {
225
+ log.info('No cached connections have been found');
226
+ return;
227
+ }
228
+ log.info(`Found cached connections to release: ${JSON.stringify(keys)}`);
229
+ this._releaseProxiedConnections(keys);
230
+ for (const key of keys) {
231
+ delete this._connectionsMapping[key];
232
+ }
233
+ log.debug(`Cached connections count: ${lodash_1.default.size(this._connectionsMapping)}`);
234
+ }
235
+ _udidAsToken(udid) {
236
+ return `${support_1.util.hasValue(udid) ? udid : ''}${SPLITTER}`;
237
+ }
238
+ _portAsToken(port) {
239
+ return `${SPLITTER}${support_1.util.hasValue(port) ? port : ''}`;
240
+ }
241
+ _toKey(udid = null, port = null) {
242
+ return `${support_1.util.hasValue(udid) ? udid : ''}${SPLITTER}${support_1.util.hasValue(port) ? port : ''}`;
243
+ }
244
+ _releaseProxiedConnections(connectionKeys) {
245
+ const keys = connectionKeys.filter((k) => lodash_1.default.has(this._connectionsMapping[k], 'iproxy'));
246
+ for (const key of keys) {
247
+ log.info(`Releasing the listener for '${key}'`);
248
+ try {
249
+ this._connectionsMapping[key].iproxy?.stop();
250
+ }
251
+ catch (e) {
252
+ log.debug(e);
253
+ }
254
+ }
255
+ return keys;
256
+ }
257
+ }
258
+ exports.DeviceConnectionsFactory = DeviceConnectionsFactory;
259
+ exports.DEVICE_CONNECTIONS_FACTORY = new DeviceConnectionsFactory();
260
+ //# sourceMappingURL=device-connections-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-connections-factory.js","sourceRoot":"","sources":["../../../lib/device/device-connections-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { LogEntry } from '../../commands/types';
2
+ export declare const DEFAULT_LOG_LEVEL = "ALL";
3
+ export declare const MAX_JSON_LOG_LENGTH = 200;
4
+ export declare const MAX_BUFFERED_EVENTS_COUNT = 5000;
5
+ export declare function toLogEntry(message: string, timestamp: number, level?: string): LogEntry;
6
+ export interface GrepOptions {
7
+ caseInsensitive?: boolean;
8
+ }
9
+ export declare function grepFile(fullPath: string, str: string, opts?: GrepOptions): Promise<boolean>;
10
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../lib/device/log/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKrD,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAA0B,GAAG,QAAQ,CAM1G;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,OAAO,CAAC,CAclB"}