appium-xcuitest-driver 10.2.2 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/lib/commands/active-app-info.d.ts +9 -0
  3. package/build/lib/commands/active-app-info.d.ts.map +1 -0
  4. package/build/lib/commands/active-app-info.js +14 -0
  5. package/build/lib/commands/active-app-info.js.map +1 -0
  6. package/build/lib/commands/alert.d.ts +42 -45
  7. package/build/lib/commands/alert.d.ts.map +1 -1
  8. package/build/lib/commands/alert.js +66 -62
  9. package/build/lib/commands/alert.js.map +1 -1
  10. package/build/lib/commands/app-management.d.ts +150 -153
  11. package/build/lib/commands/app-management.d.ts.map +1 -1
  12. package/build/lib/commands/app-management.js +300 -286
  13. package/build/lib/commands/app-management.js.map +1 -1
  14. package/build/lib/commands/app-strings.d.ts +14 -17
  15. package/build/lib/commands/app-strings.d.ts.map +1 -1
  16. package/build/lib/commands/app-strings.js +23 -24
  17. package/build/lib/commands/app-strings.js.map +1 -1
  18. package/build/lib/commands/appearance.d.ts +19 -22
  19. package/build/lib/commands/appearance.d.ts.map +1 -1
  20. package/build/lib/commands/appearance.js +56 -56
  21. package/build/lib/commands/appearance.js.map +1 -1
  22. package/build/lib/commands/audit.d.ts +22 -17
  23. package/build/lib/commands/audit.d.ts.map +1 -1
  24. package/build/lib/commands/audit.js +17 -18
  25. package/build/lib/commands/audit.js.map +1 -1
  26. package/build/lib/commands/battery.d.ts +11 -14
  27. package/build/lib/commands/battery.d.ts.map +1 -1
  28. package/build/lib/commands/battery.js +36 -37
  29. package/build/lib/commands/battery.js.map +1 -1
  30. package/build/lib/commands/biometric.d.ts +30 -33
  31. package/build/lib/commands/biometric.d.ts.map +1 -1
  32. package/build/lib/commands/biometric.js +42 -41
  33. package/build/lib/commands/biometric.js.map +1 -1
  34. package/build/lib/commands/certificate.d.ts +48 -45
  35. package/build/lib/commands/certificate.d.ts.map +1 -1
  36. package/build/lib/commands/certificate.js +218 -205
  37. package/build/lib/commands/certificate.js.map +1 -1
  38. package/build/lib/commands/clipboard.d.ts +19 -22
  39. package/build/lib/commands/clipboard.d.ts.map +1 -1
  40. package/build/lib/commands/clipboard.js +30 -30
  41. package/build/lib/commands/clipboard.js.map +1 -1
  42. package/build/lib/commands/condition.d.ts +49 -26
  43. package/build/lib/commands/condition.d.ts.map +1 -1
  44. package/build/lib/commands/condition.js +87 -86
  45. package/build/lib/commands/condition.js.map +1 -1
  46. package/build/lib/commands/content-size.d.ts +26 -29
  47. package/build/lib/commands/content-size.d.ts.map +1 -1
  48. package/build/lib/commands/content-size.js +36 -36
  49. package/build/lib/commands/content-size.js.map +1 -1
  50. package/build/lib/commands/context.d.ts +161 -108
  51. package/build/lib/commands/context.d.ts.map +1 -1
  52. package/build/lib/commands/context.js +530 -517
  53. package/build/lib/commands/context.js.map +1 -1
  54. package/build/lib/commands/deviceInfo.d.ts +9 -12
  55. package/build/lib/commands/deviceInfo.d.ts.map +1 -1
  56. package/build/lib/commands/deviceInfo.js +17 -18
  57. package/build/lib/commands/deviceInfo.js.map +1 -1
  58. package/build/lib/commands/element.d.ts +102 -105
  59. package/build/lib/commands/element.d.ts.map +1 -1
  60. package/build/lib/commands/element.js +337 -323
  61. package/build/lib/commands/element.js.map +1 -1
  62. package/build/lib/commands/execute.d.ts +24 -19
  63. package/build/lib/commands/execute.d.ts.map +1 -1
  64. package/build/lib/commands/execute.js +63 -62
  65. package/build/lib/commands/execute.js.map +1 -1
  66. package/build/lib/commands/file-movement.d.ts +77 -80
  67. package/build/lib/commands/file-movement.d.ts.map +1 -1
  68. package/build/lib/commands/file-movement.js +130 -124
  69. package/build/lib/commands/file-movement.js.map +1 -1
  70. package/build/lib/commands/find.d.ts +18 -21
  71. package/build/lib/commands/find.d.ts.map +1 -1
  72. package/build/lib/commands/find.js +158 -156
  73. package/build/lib/commands/find.js.map +1 -1
  74. package/build/lib/commands/general.d.ts +124 -116
  75. package/build/lib/commands/general.d.ts.map +1 -1
  76. package/build/lib/commands/general.js +248 -232
  77. package/build/lib/commands/general.js.map +1 -1
  78. package/build/lib/commands/geolocation.d.ts +43 -46
  79. package/build/lib/commands/geolocation.d.ts.map +1 -1
  80. package/build/lib/commands/geolocation.js +10 -11
  81. package/build/lib/commands/geolocation.js.map +1 -1
  82. package/build/lib/commands/gesture.d.ts +273 -276
  83. package/build/lib/commands/gesture.d.ts.map +1 -1
  84. package/build/lib/commands/gesture.js +506 -492
  85. package/build/lib/commands/gesture.js.map +1 -1
  86. package/build/lib/commands/increase-contrast.d.ts +20 -23
  87. package/build/lib/commands/increase-contrast.d.ts.map +1 -1
  88. package/build/lib/commands/increase-contrast.js +30 -30
  89. package/build/lib/commands/increase-contrast.js.map +1 -1
  90. package/build/lib/commands/iohid.d.ts +1370 -1373
  91. package/build/lib/commands/iohid.d.ts.map +1 -1
  92. package/build/lib/commands/iohid.js +30 -31
  93. package/build/lib/commands/iohid.js.map +1 -1
  94. package/build/lib/commands/keyboard.d.ts +29 -32
  95. package/build/lib/commands/keyboard.d.ts.map +1 -1
  96. package/build/lib/commands/keyboard.js +53 -51
  97. package/build/lib/commands/keyboard.js.map +1 -1
  98. package/build/lib/commands/keychains.d.ts +9 -12
  99. package/build/lib/commands/keychains.d.ts.map +1 -1
  100. package/build/lib/commands/keychains.js +13 -14
  101. package/build/lib/commands/keychains.js.map +1 -1
  102. package/build/lib/commands/localization.d.ts +16 -19
  103. package/build/lib/commands/localization.d.ts.map +1 -1
  104. package/build/lib/commands/localization.js +25 -26
  105. package/build/lib/commands/localization.js.map +1 -1
  106. package/build/lib/commands/location.d.ts +36 -39
  107. package/build/lib/commands/location.d.ts.map +1 -1
  108. package/build/lib/commands/location.js +99 -98
  109. package/build/lib/commands/location.js.map +1 -1
  110. package/build/lib/commands/lock.d.ts +21 -24
  111. package/build/lib/commands/lock.d.ts.map +1 -1
  112. package/build/lib/commands/lock.js +39 -38
  113. package/build/lib/commands/lock.js.map +1 -1
  114. package/build/lib/commands/log.d.ts +43 -37
  115. package/build/lib/commands/log.d.ts.map +1 -1
  116. package/build/lib/commands/log.js +174 -171
  117. package/build/lib/commands/log.js.map +1 -1
  118. package/build/lib/commands/memory.d.ts +9 -12
  119. package/build/lib/commands/memory.d.ts.map +1 -1
  120. package/build/lib/commands/memory.js +37 -39
  121. package/build/lib/commands/memory.js.map +1 -1
  122. package/build/lib/commands/navigation.d.ts +30 -33
  123. package/build/lib/commands/navigation.d.ts.map +1 -1
  124. package/build/lib/commands/navigation.js +92 -92
  125. package/build/lib/commands/navigation.js.map +1 -1
  126. package/build/lib/commands/notifications.d.ts +26 -29
  127. package/build/lib/commands/notifications.d.ts.map +1 -1
  128. package/build/lib/commands/notifications.js +53 -53
  129. package/build/lib/commands/notifications.js.map +1 -1
  130. package/build/lib/commands/pasteboard.d.ts +21 -24
  131. package/build/lib/commands/pasteboard.d.ts.map +1 -1
  132. package/build/lib/commands/pasteboard.js +37 -37
  133. package/build/lib/commands/pasteboard.js.map +1 -1
  134. package/build/lib/commands/pcap.d.ts +39 -26
  135. package/build/lib/commands/pcap.d.ts.map +1 -1
  136. package/build/lib/commands/pcap.js +81 -81
  137. package/build/lib/commands/pcap.js.map +1 -1
  138. package/build/lib/commands/performance.d.ts +63 -44
  139. package/build/lib/commands/performance.d.ts.map +1 -1
  140. package/build/lib/commands/performance.js +105 -105
  141. package/build/lib/commands/performance.js.map +1 -1
  142. package/build/lib/commands/permissions.d.ts +33 -36
  143. package/build/lib/commands/permissions.d.ts.map +1 -1
  144. package/build/lib/commands/permissions.js +66 -65
  145. package/build/lib/commands/permissions.js.map +1 -1
  146. package/build/lib/commands/proxy-helper.d.ts +12 -15
  147. package/build/lib/commands/proxy-helper.d.ts.map +1 -1
  148. package/build/lib/commands/proxy-helper.js +53 -54
  149. package/build/lib/commands/proxy-helper.js.map +1 -1
  150. package/build/lib/commands/record-audio.d.ts +49 -29
  151. package/build/lib/commands/record-audio.d.ts.map +1 -1
  152. package/build/lib/commands/record-audio.js +100 -104
  153. package/build/lib/commands/record-audio.js.map +1 -1
  154. package/build/lib/commands/recordscreen.d.ts +54 -18
  155. package/build/lib/commands/recordscreen.d.ts.map +1 -1
  156. package/build/lib/commands/recordscreen.js +127 -129
  157. package/build/lib/commands/recordscreen.js.map +1 -1
  158. package/build/lib/commands/screenshots.d.ts +14 -17
  159. package/build/lib/commands/screenshots.d.ts.map +1 -1
  160. package/build/lib/commands/screenshots.js +108 -107
  161. package/build/lib/commands/screenshots.js.map +1 -1
  162. package/build/lib/commands/simctl.d.ts +11 -14
  163. package/build/lib/commands/simctl.d.ts.map +1 -1
  164. package/build/lib/commands/simctl.js +23 -26
  165. package/build/lib/commands/simctl.js.map +1 -1
  166. package/build/lib/commands/source.d.ts +14 -17
  167. package/build/lib/commands/source.d.ts.map +1 -1
  168. package/build/lib/commands/source.js +40 -43
  169. package/build/lib/commands/source.js.map +1 -1
  170. package/build/lib/commands/timeouts.d.ts +44 -33
  171. package/build/lib/commands/timeouts.d.ts.map +1 -1
  172. package/build/lib/commands/timeouts.js +65 -63
  173. package/build/lib/commands/timeouts.js.map +1 -1
  174. package/build/lib/commands/web.d.ts +247 -197
  175. package/build/lib/commands/web.d.ts.map +1 -1
  176. package/build/lib/commands/web.js +815 -786
  177. package/build/lib/commands/web.js.map +1 -1
  178. package/build/lib/commands/xctest-record-screen.d.ts +63 -66
  179. package/build/lib/commands/xctest-record-screen.d.ts.map +1 -1
  180. package/build/lib/commands/xctest-record-screen.js +103 -102
  181. package/build/lib/commands/xctest-record-screen.js.map +1 -1
  182. package/build/lib/commands/xctest.d.ts +55 -51
  183. package/build/lib/commands/xctest.d.ts.map +1 -1
  184. package/build/lib/commands/xctest.js +116 -117
  185. package/build/lib/commands/xctest.js.map +1 -1
  186. package/build/lib/driver.d.ts +278 -1597
  187. package/build/lib/driver.d.ts.map +1 -1
  188. package/build/lib/driver.js +320 -236
  189. package/build/lib/driver.js.map +1 -1
  190. package/build/lib/execute-method-map.d.ts.map +1 -1
  191. package/build/lib/execute-method-map.js +9 -0
  192. package/build/lib/execute-method-map.js.map +1 -1
  193. package/build/lib/real-device.d.ts +1 -1
  194. package/build/lib/real-device.d.ts.map +1 -1
  195. package/build/lib/real-device.js +2 -2
  196. package/build/lib/real-device.js.map +1 -1
  197. package/lib/commands/active-app-info.js +12 -0
  198. package/lib/commands/alert.js +68 -65
  199. package/lib/commands/app-management.js +308 -301
  200. package/lib/commands/app-strings.js +24 -26
  201. package/lib/commands/appearance.js +54 -56
  202. package/lib/commands/audit.js +18 -20
  203. package/lib/commands/battery.js +35 -37
  204. package/lib/commands/biometric.js +44 -46
  205. package/lib/commands/certificate.js +226 -215
  206. package/lib/commands/clipboard.js +30 -32
  207. package/lib/commands/condition.js +98 -100
  208. package/lib/commands/content-size.js +36 -38
  209. package/lib/commands/context.js +495 -490
  210. package/lib/commands/deviceInfo.js +19 -20
  211. package/lib/commands/element.js +367 -357
  212. package/lib/commands/execute.js +72 -72
  213. package/lib/commands/file-movement.js +132 -134
  214. package/lib/commands/find.js +160 -159
  215. package/lib/commands/general.js +238 -231
  216. package/lib/commands/geolocation.js +6 -14
  217. package/lib/commands/gesture.js +525 -515
  218. package/lib/commands/increase-contrast.js +30 -32
  219. package/lib/commands/iohid.js +32 -34
  220. package/lib/commands/keyboard.js +49 -51
  221. package/lib/commands/keychains.js +12 -14
  222. package/lib/commands/localization.js +24 -26
  223. package/lib/commands/location.js +102 -104
  224. package/lib/commands/lock.js +38 -38
  225. package/lib/commands/log.js +197 -198
  226. package/lib/commands/memory.js +40 -43
  227. package/lib/commands/navigation.js +96 -100
  228. package/lib/commands/notifications.js +57 -59
  229. package/lib/commands/pasteboard.js +37 -39
  230. package/lib/commands/pcap.js +84 -86
  231. package/lib/commands/performance.js +132 -133
  232. package/lib/commands/permissions.js +67 -69
  233. package/lib/commands/proxy-helper.js +60 -61
  234. package/lib/commands/record-audio.js +115 -120
  235. package/lib/commands/recordscreen.js +145 -149
  236. package/lib/commands/screenshots.js +116 -116
  237. package/lib/commands/simctl.js +25 -29
  238. package/lib/commands/source.js +42 -46
  239. package/lib/commands/timeouts.js +59 -63
  240. package/lib/commands/web.js +878 -858
  241. package/lib/commands/xctest-record-screen.js +103 -105
  242. package/lib/commands/xctest.js +134 -139
  243. package/lib/driver.js +288 -236
  244. package/lib/execute-method-map.ts +9 -0
  245. package/lib/real-device.js +2 -2
  246. package/npm-shrinkwrap.json +440 -76
  247. package/package.json +2 -1
  248. package/build/lib/commands/activeAppInfo.d.ts +0 -12
  249. package/build/lib/commands/activeAppInfo.d.ts.map +0 -1
  250. package/build/lib/commands/activeAppInfo.js +0 -15
  251. package/build/lib/commands/activeAppInfo.js.map +0 -1
  252. package/build/lib/commands/index.d.ts +0 -96
  253. package/build/lib/commands/index.d.ts.map +0 -1
  254. package/build/lib/commands/index.js +0 -100
  255. package/build/lib/commands/index.js.map +0 -1
  256. package/build/lib/real-device-clients/devicectl.d.ts +0 -204
  257. package/build/lib/real-device-clients/devicectl.d.ts.map +0 -1
  258. package/build/lib/real-device-clients/devicectl.js +0 -264
  259. package/build/lib/real-device-clients/devicectl.js.map +0 -1
  260. package/lib/commands/activeAppInfo.js +0 -14
  261. package/lib/commands/index.js +0 -95
  262. package/lib/real-device-clients/devicectl.js +0 -291
@@ -10,57 +10,61 @@ export function assertIDB(opts: XCUITestDriver["opts"]): any;
10
10
  * @returns {XCTestResult[]|string[]} results The final output of the XCTest run
11
11
  */
12
12
  export function parseXCTestStdout(stdout: string): XCTestResult[] | string[];
13
- declare namespace _default {
14
- /**
15
- * Run a native XCTest script.
16
- *
17
- * Launches a subprocess that runs the XC Test and blocks until it is completed. Parses the stdout of the process and returns its result as an array.
18
- *
19
- * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** to run such tests; see [the idb docs](https://fbidb.io/docs/test-execution/) for reference.
20
- *
21
- * @param {string} testRunnerBundleId - Test app bundle (e.g.: `io.appium.XCTesterAppUITests.xctrunner`)
22
- * @param {string} appUnderTestBundleId - App-under-test bundle
23
- * @param {string} xcTestBundleId - XCTest bundle ID
24
- * @param {string[]} args - Launch arguments to start the test with (see [reference documentation](https://developer.apple.com/documentation/xctest/xcuiapplication/1500477-launcharguments))
25
- * @param {'app'|'ui'|'logic'} testType - XC test type
26
- * @param {import('@appium/types').StringRecord} [env] - Environment variables passed to test
27
- * @param {number} timeout - Timeout (in ms) for session completion.
28
- * @throws {XCUITestError} Error thrown if subprocess returns non-zero exit code
29
- * @returns {Promise<import('./types').RunXCTestResult>} The array of test results
30
- * @this {XCUITestDriver}
31
- */
32
- function mobileRunXCTest(this: import("../driver").XCUITestDriver, testRunnerBundleId: string, appUnderTestBundleId: string, xcTestBundleId: string, args?: string[], testType?: "app" | "ui" | "logic", env?: import("@appium/types").StringRecord, timeout?: number): Promise<import("./types").RunXCTestResult>;
33
- /**
34
- * Installs an XCTest bundle to the device under test.
35
- *
36
- * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
37
- *
38
- * @param {string} xctestApp - Path of the XCTest app (URL or filename with extension `.app`)
39
- * @returns {Promise<void>}
40
- * @this {XCUITestDriver}
41
- */
42
- function mobileInstallXCTestBundle(this: import("../driver").XCUITestDriver, xctestApp: string): Promise<void>;
43
- /**
44
- * List XCTest bundles that are installed on the device.
45
- *
46
- * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
47
- *
48
- * @returns {Promise<string[]>} List of XCTest bundles (e.g.: `XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance`)
49
- * @this {XCUITestDriver}
50
- */
51
- function mobileListXCTestBundles(this: import("../driver").XCUITestDriver): Promise<string[]>;
52
- /**
53
- * List XCTests in a test bundle
54
- *
55
- * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
56
- * @param {string} bundle - Bundle ID of the XCTest
57
- *
58
- * @returns {Promise<string[]>} The list of xctests in the test bundle (e.g., `['XCTesterAppUITests.XCTesterAppUITests/testExample', 'XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance']`)
59
- * @this {XCUITestDriver}
60
- */
61
- function mobileListXCTestsInTestBundle(this: import("../driver").XCUITestDriver, bundle: string): Promise<string[]>;
62
- }
63
- export default _default;
13
+ /**
14
+ * @typedef {Error} XCUITestError
15
+ *
16
+ * @property {number} code Subprocess exit code
17
+ * @property {string} signal The signal (SIG*) that caused the process to fail
18
+ * @property {XCTestResult[]} results The output of the failed test (if there is output)
19
+ */
20
+ /**
21
+ * Run a native XCTest script.
22
+ *
23
+ * Launches a subprocess that runs the XC Test and blocks until it is completed. Parses the stdout of the process and returns its result as an array.
24
+ *
25
+ * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** to run such tests; see [the idb docs](https://fbidb.io/docs/test-execution/) for reference.
26
+ *
27
+ * @param {string} testRunnerBundleId - Test app bundle (e.g.: `io.appium.XCTesterAppUITests.xctrunner`)
28
+ * @param {string} appUnderTestBundleId - App-under-test bundle
29
+ * @param {string} xcTestBundleId - XCTest bundle ID
30
+ * @param {string[]} args - Launch arguments to start the test with (see [reference documentation](https://developer.apple.com/documentation/xctest/xcuiapplication/1500477-launcharguments))
31
+ * @param {'app'|'ui'|'logic'} testType - XC test type
32
+ * @param {import('@appium/types').StringRecord} [env] - Environment variables passed to test
33
+ * @param {number} timeout - Timeout (in ms) for session completion.
34
+ * @throws {XCUITestError} Error thrown if subprocess returns non-zero exit code
35
+ * @returns {Promise<import('./types').RunXCTestResult>} The array of test results
36
+ * @this {XCUITestDriver}
37
+ */
38
+ export function mobileRunXCTest(this: import("../driver").XCUITestDriver, testRunnerBundleId: string, appUnderTestBundleId: string, xcTestBundleId: string, args?: string[], testType?: "app" | "ui" | "logic", env?: import("@appium/types").StringRecord, timeout?: number): Promise<import("./types").RunXCTestResult>;
39
+ /**
40
+ * Installs an XCTest bundle to the device under test.
41
+ *
42
+ * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
43
+ *
44
+ * @param {string} xctestApp - Path of the XCTest app (URL or filename with extension `.app`)
45
+ * @returns {Promise<void>}
46
+ * @this {XCUITestDriver}
47
+ */
48
+ export function mobileInstallXCTestBundle(this: import("../driver").XCUITestDriver, xctestApp: string): Promise<void>;
49
+ /**
50
+ * List XCTest bundles that are installed on the device.
51
+ *
52
+ * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
53
+ *
54
+ * @returns {Promise<string[]>} List of XCTest bundles (e.g.: `XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance`)
55
+ * @this {XCUITestDriver}
56
+ */
57
+ export function mobileListXCTestBundles(this: import("../driver").XCUITestDriver): Promise<string[]>;
58
+ /**
59
+ * List XCTests in a test bundle
60
+ *
61
+ * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
62
+ * @param {string} bundle - Bundle ID of the XCTest
63
+ *
64
+ * @returns {Promise<string[]>} The list of xctests in the test bundle (e.g., `['XCTesterAppUITests.XCTesterAppUITests/testExample', 'XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance']`)
65
+ * @this {XCUITestDriver}
66
+ */
67
+ export function mobileListXCTestsInTestBundle(this: import("../driver").XCUITestDriver, bundle: string): Promise<string[]>;
64
68
  export type XCUITestError = Error;
65
69
  export type XCUITestDriver = import("../driver").XCUITestDriver;
66
70
  export type XCTestResult = import("./types").XCTestResult;
@@ -1 +1 @@
1
- {"version":3,"file":"xctest.d.ts","sourceRoot":"","sources":["../../../lib/commands/xctest.js"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,gCAFW,cAAc,CAAC,MAAM,CAAC,OAUhC;AAED;;;;GAIG;AACH,0CAHW,MAAM,GACJ,YAAY,EAAE,GAAC,MAAM,EAAE,CA+FnC;;IAWC;;;;;;;;;;;;;;;;;OAiBG;IACH,uFAXW,MAAM,wBACN,MAAM,kBACN,MAAM,SACN,MAAM,EAAE,aACR,KAAK,GAAC,IAAI,GAAC,OAAO,QAClB,OAAO,eAAe,EAAE,YAAY,YACpC,MAAM,GAEJ,OAAO,CAAC,OAAO,SAAS,EAAE,eAAe,CAAC,CA8EtD;IAED;;;;;;;;OAQG;IACH,wFAJW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAczB;IAED;;;;;;;OAOG;IACH,4EAHa,OAAO,CAAC,MAAM,EAAE,CAAC,CAK7B;IAED;;;;;;;;OAQG;IACH,yFALW,MAAM,GAEJ,OAAO,CAAC,MAAM,EAAE,CAAC,CAY7B;;;4BA3JU,KAAK;6BA+JL,OAAO,WAAW,EAAE,cAAc;2BAClC,OAAO,SAAS,EAAE,YAAY"}
1
+ {"version":3,"file":"xctest.d.ts","sourceRoot":"","sources":["../../../lib/commands/xctest.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,gCAFW,cAAc,CAAC,MAAM,CAAC,OAUhC;AAED;;;;GAIG;AACH,0CAHW,MAAM,GACJ,YAAY,EAAE,GAAC,MAAM,EAAE,CA+FnC;AAED;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,8FAXW,MAAM,wBACN,MAAM,kBACN,MAAM,SACN,MAAM,EAAE,aACR,KAAK,GAAC,IAAI,GAAC,OAAO,QAClB,OAAO,eAAe,EAAE,YAAY,YACpC,MAAM,GAEJ,OAAO,CAAC,OAAO,SAAS,EAAE,eAAe,CAAC,CA8EtD;AAED;;;;;;;;GAQG;AACH,+FAJW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAczB;AAED;;;;;;;GAOG;AACH,mFAHa,OAAO,CAAC,MAAM,EAAE,CAAC,CAK7B;AAED;;;;;;;;GAQG;AACH,gGALW,MAAM,GAEJ,OAAO,CAAC,MAAM,EAAE,CAAC,CAY7B;4BA1JY,KAAK;6BA6JL,OAAO,WAAW,EAAE,cAAc;2BAClC,OAAO,SAAS,EAAE,YAAY"}
@@ -5,13 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.assertIDB = assertIDB;
7
7
  exports.parseXCTestStdout = parseXCTestStdout;
8
+ exports.mobileRunXCTest = mobileRunXCTest;
9
+ exports.mobileInstallXCTestBundle = mobileInstallXCTestBundle;
10
+ exports.mobileListXCTestBundles = mobileListXCTestBundles;
11
+ exports.mobileListXCTestsInTestBundle = mobileListXCTestsInTestBundle;
8
12
  const bluebird_1 = __importDefault(require("bluebird"));
9
13
  const support_1 = require("appium/support");
10
14
  const lodash_1 = __importDefault(require("lodash"));
11
15
  const driver_1 = require("appium/driver");
12
- /**
13
- * @type {360000}
14
- */
15
16
  const XCTEST_TIMEOUT = 360000; // 60 minute timeout
16
17
  const xctestLog = support_1.logger.getLogger('XCTest');
17
18
  /**
@@ -131,126 +132,124 @@ function parseXCTestStdout(stdout) {
131
132
  * @property {string} signal The signal (SIG*) that caused the process to fail
132
133
  * @property {XCTestResult[]} results The output of the failed test (if there is output)
133
134
  */
134
- exports.default = {
135
- /**
136
- * Run a native XCTest script.
137
- *
138
- * Launches a subprocess that runs the XC Test and blocks until it is completed. Parses the stdout of the process and returns its result as an array.
139
- *
140
- * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** to run such tests; see [the idb docs](https://fbidb.io/docs/test-execution/) for reference.
141
- *
142
- * @param {string} testRunnerBundleId - Test app bundle (e.g.: `io.appium.XCTesterAppUITests.xctrunner`)
143
- * @param {string} appUnderTestBundleId - App-under-test bundle
144
- * @param {string} xcTestBundleId - XCTest bundle ID
145
- * @param {string[]} args - Launch arguments to start the test with (see [reference documentation](https://developer.apple.com/documentation/xctest/xcuiapplication/1500477-launcharguments))
146
- * @param {'app'|'ui'|'logic'} testType - XC test type
147
- * @param {import('@appium/types').StringRecord} [env] - Environment variables passed to test
148
- * @param {number} timeout - Timeout (in ms) for session completion.
149
- * @throws {XCUITestError} Error thrown if subprocess returns non-zero exit code
150
- * @returns {Promise<import('./types').RunXCTestResult>} The array of test results
151
- * @this {XCUITestDriver}
152
- */
153
- async mobileRunXCTest(testRunnerBundleId, appUnderTestBundleId, xcTestBundleId, args = [], testType = 'ui', env, timeout = XCTEST_TIMEOUT) {
154
- const subproc = await assertIDB(this.opts).runXCUITest(testRunnerBundleId, appUnderTestBundleId, xcTestBundleId, { env, args, testType });
155
- return await new bluebird_1.default((resolve, reject) => {
156
- let mostRecentLogObject = null;
157
- let xctestTimeout;
158
- let lastErrorMessage = null;
159
- if (timeout > 0) {
160
- xctestTimeout = setTimeout(() => reject(new driver_1.errors.TimeoutError(`Timed out after '${timeout}ms' waiting for XCTest to complete`)), timeout);
161
- }
162
- subproc.on('output', (stdout, stderr) => {
163
- if (stdout) {
164
- try {
165
- mostRecentLogObject = parseXCTestStdout(stdout);
166
- }
167
- catch (err) {
168
- // Fails if log parsing fails.
169
- // This is in case IDB changes the way that logs are formatted and
170
- // it breaks 'parseXCTestStdout'. If that happens we still want the process
171
- // to finish
172
- this.log.warn(`Failed to parse logs from test output: '${stdout}'`);
173
- this.log.debug(err.stack);
174
- }
135
+ /**
136
+ * Run a native XCTest script.
137
+ *
138
+ * Launches a subprocess that runs the XC Test and blocks until it is completed. Parses the stdout of the process and returns its result as an array.
139
+ *
140
+ * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** to run such tests; see [the idb docs](https://fbidb.io/docs/test-execution/) for reference.
141
+ *
142
+ * @param {string} testRunnerBundleId - Test app bundle (e.g.: `io.appium.XCTesterAppUITests.xctrunner`)
143
+ * @param {string} appUnderTestBundleId - App-under-test bundle
144
+ * @param {string} xcTestBundleId - XCTest bundle ID
145
+ * @param {string[]} args - Launch arguments to start the test with (see [reference documentation](https://developer.apple.com/documentation/xctest/xcuiapplication/1500477-launcharguments))
146
+ * @param {'app'|'ui'|'logic'} testType - XC test type
147
+ * @param {import('@appium/types').StringRecord} [env] - Environment variables passed to test
148
+ * @param {number} timeout - Timeout (in ms) for session completion.
149
+ * @throws {XCUITestError} Error thrown if subprocess returns non-zero exit code
150
+ * @returns {Promise<import('./types').RunXCTestResult>} The array of test results
151
+ * @this {XCUITestDriver}
152
+ */
153
+ async function mobileRunXCTest(testRunnerBundleId, appUnderTestBundleId, xcTestBundleId, args = [], testType = 'ui', env, timeout = XCTEST_TIMEOUT) {
154
+ const subproc = await assertIDB(this.opts).runXCUITest(testRunnerBundleId, appUnderTestBundleId, xcTestBundleId, { env, args, testType });
155
+ return await new bluebird_1.default((resolve, reject) => {
156
+ let mostRecentLogObject = null;
157
+ let xctestTimeout;
158
+ let lastErrorMessage = null;
159
+ if (timeout > 0) {
160
+ xctestTimeout = setTimeout(() => reject(new driver_1.errors.TimeoutError(`Timed out after '${timeout}ms' waiting for XCTest to complete`)), timeout);
161
+ }
162
+ subproc.on('output', (stdout, stderr) => {
163
+ if (stdout) {
164
+ try {
165
+ mostRecentLogObject = parseXCTestStdout(stdout);
175
166
  }
176
- if (stderr) {
177
- lastErrorMessage = stderr;
178
- xctestLog.error(stderr);
167
+ catch (err) {
168
+ // Fails if log parsing fails.
169
+ // This is in case IDB changes the way that logs are formatted and
170
+ // it breaks 'parseXCTestStdout'. If that happens we still want the process
171
+ // to finish
172
+ this.log.warn(`Failed to parse logs from test output: '${stdout}'`);
173
+ this.log.debug(err.stack);
179
174
  }
180
- if (stdout) {
181
- xctestLog.info(stdout);
175
+ }
176
+ if (stderr) {
177
+ lastErrorMessage = stderr;
178
+ xctestLog.error(stderr);
179
+ }
180
+ if (stdout) {
181
+ xctestLog.info(stdout);
182
+ }
183
+ });
184
+ subproc.on('exit', (code, signal) => {
185
+ clearTimeout(xctestTimeout);
186
+ if (code !== 0) {
187
+ const err = /** @type {any} */ (new Error(lastErrorMessage || mostRecentLogObject));
188
+ err.code = code;
189
+ if (signal != null) {
190
+ err.signal = signal;
182
191
  }
183
- });
184
- subproc.on('exit', (code, signal) => {
185
- clearTimeout(xctestTimeout);
186
- if (code !== 0) {
187
- const err = /** @type {any} */ (new Error(lastErrorMessage || mostRecentLogObject));
188
- err.code = code;
189
- if (signal != null) {
190
- err.signal = signal;
191
- }
192
- if (mostRecentLogObject) {
193
- err.result = mostRecentLogObject;
194
- }
195
- return reject(err);
192
+ if (mostRecentLogObject) {
193
+ err.result = mostRecentLogObject;
196
194
  }
197
- resolve({
198
- code,
199
- signal,
200
- results: mostRecentLogObject,
201
- passed: true,
202
- });
195
+ return reject(err);
196
+ }
197
+ resolve({
198
+ code,
199
+ signal,
200
+ results: mostRecentLogObject,
201
+ passed: true,
203
202
  });
204
203
  });
205
- },
206
- /**
207
- * Installs an XCTest bundle to the device under test.
208
- *
209
- * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
210
- *
211
- * @param {string} xctestApp - Path of the XCTest app (URL or filename with extension `.app`)
212
- * @returns {Promise<void>}
213
- * @this {XCUITestDriver}
214
- */
215
- async mobileInstallXCTestBundle(xctestApp) {
216
- if (!lodash_1.default.isString(xctestApp)) {
217
- throw new driver_1.errors.InvalidArgumentError(`'xctestApp' is a required parameter for 'installXCTestBundle' and ` +
218
- `must be a string. Found '${xctestApp}'`);
219
- }
220
- xctestLog.info(`Installing bundle '${xctestApp}'`);
221
- const idb = assertIDB(this.opts);
222
- const res = await this.helpers.configureApp(xctestApp, '.xctest');
223
- await idb.installXCTestBundle(res);
224
- },
225
- /**
226
- * List XCTest bundles that are installed on the device.
227
- *
228
- * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
229
- *
230
- * @returns {Promise<string[]>} List of XCTest bundles (e.g.: `XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance`)
231
- * @this {XCUITestDriver}
232
- */
233
- async mobileListXCTestBundles() {
234
- return await assertIDB(this.opts).listXCTestBundles();
235
- },
236
- /**
237
- * List XCTests in a test bundle
238
- *
239
- * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
240
- * @param {string} bundle - Bundle ID of the XCTest
241
- *
242
- * @returns {Promise<string[]>} The list of xctests in the test bundle (e.g., `['XCTesterAppUITests.XCTesterAppUITests/testExample', 'XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance']`)
243
- * @this {XCUITestDriver}
244
- */
245
- async mobileListXCTestsInTestBundle(bundle) {
246
- if (!lodash_1.default.isString(bundle)) {
247
- throw new driver_1.errors.InvalidArgumentError(`'bundle' is a required parameter for 'listXCTestsInTestBundle' and ` +
248
- `must be a string. Found '${bundle}'`);
249
- }
250
- const idb = assertIDB(this.opts);
251
- return await idb.listXCTestsInTestBundle(bundle);
252
- },
253
- };
204
+ });
205
+ }
206
+ /**
207
+ * Installs an XCTest bundle to the device under test.
208
+ *
209
+ * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
210
+ *
211
+ * @param {string} xctestApp - Path of the XCTest app (URL or filename with extension `.app`)
212
+ * @returns {Promise<void>}
213
+ * @this {XCUITestDriver}
214
+ */
215
+ async function mobileInstallXCTestBundle(xctestApp) {
216
+ if (!lodash_1.default.isString(xctestApp)) {
217
+ throw new driver_1.errors.InvalidArgumentError(`'xctestApp' is a required parameter for 'installXCTestBundle' and ` +
218
+ `must be a string. Found '${xctestApp}'`);
219
+ }
220
+ xctestLog.info(`Installing bundle '${xctestApp}'`);
221
+ const idb = assertIDB(this.opts);
222
+ const res = await this.helpers.configureApp(xctestApp, '.xctest');
223
+ await idb.installXCTestBundle(res);
224
+ }
225
+ /**
226
+ * List XCTest bundles that are installed on the device.
227
+ *
228
+ * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
229
+ *
230
+ * @returns {Promise<string[]>} List of XCTest bundles (e.g.: `XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance`)
231
+ * @this {XCUITestDriver}
232
+ */
233
+ async function mobileListXCTestBundles() {
234
+ return await assertIDB(this.opts).listXCTestBundles();
235
+ }
236
+ /**
237
+ * List XCTests in a test bundle
238
+ *
239
+ * **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
240
+ * @param {string} bundle - Bundle ID of the XCTest
241
+ *
242
+ * @returns {Promise<string[]>} The list of xctests in the test bundle (e.g., `['XCTesterAppUITests.XCTesterAppUITests/testExample', 'XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance']`)
243
+ * @this {XCUITestDriver}
244
+ */
245
+ async function mobileListXCTestsInTestBundle(bundle) {
246
+ if (!lodash_1.default.isString(bundle)) {
247
+ throw new driver_1.errors.InvalidArgumentError(`'bundle' is a required parameter for 'listXCTestsInTestBundle' and ` +
248
+ `must be a string. Found '${bundle}'`);
249
+ }
250
+ const idb = assertIDB(this.opts);
251
+ return await idb.listXCTestsInTestBundle(bundle);
252
+ }
254
253
  /**
255
254
  * @typedef {import('../driver').XCUITestDriver} XCUITestDriver
256
255
  * @typedef {import('./types').XCTestResult} XCTestResult
@@ -1 +1 @@
1
- {"version":3,"file":"xctest.js","sourceRoot":"","sources":["../../../lib/commands/xctest.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xctest.js","sourceRoot":"","sources":["../../../lib/commands/xctest.js"],"names":[],"mappings":"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"}