@limrun/appium-xcuitest-driver 10.4.3-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 (444) hide show
  1. package/CHANGELOG.md +2600 -0
  2. package/LICENSE +201 -0
  3. package/README.md +55 -0
  4. package/build/index.d.ts +5 -0
  5. package/build/index.js +41 -0
  6. package/build/lib/app-infos-cache.d.ts +62 -0
  7. package/build/lib/app-infos-cache.d.ts.map +1 -0
  8. package/build/lib/app-infos-cache.js +180 -0
  9. package/build/lib/app-infos-cache.js.map +1 -0
  10. package/build/lib/app-utils.d.ts +89 -0
  11. package/build/lib/app-utils.d.ts.map +1 -0
  12. package/build/lib/app-utils.js +657 -0
  13. package/build/lib/app-utils.js.map +1 -0
  14. package/build/lib/commands/active-app-info.d.ts +9 -0
  15. package/build/lib/commands/active-app-info.d.ts.map +1 -0
  16. package/build/lib/commands/active-app-info.js +14 -0
  17. package/build/lib/commands/active-app-info.js.map +1 -0
  18. package/build/lib/commands/advanced-battery-types.d.ts +444 -0
  19. package/build/lib/commands/advanced-battery-types.d.ts.map +1 -0
  20. package/build/lib/commands/advanced-battery-types.js +8 -0
  21. package/build/lib/commands/advanced-battery-types.js.map +1 -0
  22. package/build/lib/commands/alert.d.ts +45 -0
  23. package/build/lib/commands/alert.d.ts.map +1 -0
  24. package/build/lib/commands/alert.js +87 -0
  25. package/build/lib/commands/alert.js.map +1 -0
  26. package/build/lib/commands/app-management.d.ts +153 -0
  27. package/build/lib/commands/app-management.d.ts.map +1 -0
  28. package/build/lib/commands/app-management.js +323 -0
  29. package/build/lib/commands/app-management.js.map +1 -0
  30. package/build/lib/commands/app-strings.d.ts +16 -0
  31. package/build/lib/commands/app-strings.d.ts.map +1 -0
  32. package/build/lib/commands/app-strings.js +30 -0
  33. package/build/lib/commands/app-strings.js.map +1 -0
  34. package/build/lib/commands/appearance.d.ts +22 -0
  35. package/build/lib/commands/appearance.d.ts.map +1 -0
  36. package/build/lib/commands/appearance.js +74 -0
  37. package/build/lib/commands/appearance.js.map +1 -0
  38. package/build/lib/commands/audit.d.ts +43 -0
  39. package/build/lib/commands/audit.d.ts.map +1 -0
  40. package/build/lib/commands/audit.js +31 -0
  41. package/build/lib/commands/audit.js.map +1 -0
  42. package/build/lib/commands/battery.d.ts +13 -0
  43. package/build/lib/commands/battery.d.ts.map +1 -0
  44. package/build/lib/commands/battery.js +49 -0
  45. package/build/lib/commands/battery.js.map +1 -0
  46. package/build/lib/commands/bidi/constants.d.ts +6 -0
  47. package/build/lib/commands/bidi/constants.d.ts.map +1 -0
  48. package/build/lib/commands/bidi/constants.js +10 -0
  49. package/build/lib/commands/bidi/constants.js.map +1 -0
  50. package/build/lib/commands/bidi/models.d.ts +9 -0
  51. package/build/lib/commands/bidi/models.d.ts.map +1 -0
  52. package/build/lib/commands/bidi/models.js +54 -0
  53. package/build/lib/commands/bidi/models.js.map +1 -0
  54. package/build/lib/commands/bidi/types.d.ts +26 -0
  55. package/build/lib/commands/bidi/types.d.ts.map +1 -0
  56. package/build/lib/commands/bidi/types.js +4 -0
  57. package/build/lib/commands/bidi/types.js.map +1 -0
  58. package/build/lib/commands/biometric.d.ts +32 -0
  59. package/build/lib/commands/biometric.d.ts.map +1 -0
  60. package/build/lib/commands/biometric.js +54 -0
  61. package/build/lib/commands/biometric.js.map +1 -0
  62. package/build/lib/commands/certificate.d.ts +50 -0
  63. package/build/lib/commands/certificate.d.ts.map +1 -0
  64. package/build/lib/commands/certificate.js +454 -0
  65. package/build/lib/commands/certificate.js.map +1 -0
  66. package/build/lib/commands/clipboard.d.ts +21 -0
  67. package/build/lib/commands/clipboard.d.ts.map +1 -0
  68. package/build/lib/commands/clipboard.js +36 -0
  69. package/build/lib/commands/clipboard.js.map +1 -0
  70. package/build/lib/commands/condition.d.ts +102 -0
  71. package/build/lib/commands/condition.d.ts.map +1 -0
  72. package/build/lib/commands/condition.js +146 -0
  73. package/build/lib/commands/condition.js.map +1 -0
  74. package/build/lib/commands/content-size.d.ts +30 -0
  75. package/build/lib/commands/content-size.d.ts.map +1 -0
  76. package/build/lib/commands/content-size.js +67 -0
  77. package/build/lib/commands/content-size.js.map +1 -0
  78. package/build/lib/commands/context.d.ts +191 -0
  79. package/build/lib/commands/context.d.ts.map +1 -0
  80. package/build/lib/commands/context.js +625 -0
  81. package/build/lib/commands/context.js.map +1 -0
  82. package/build/lib/commands/deviceInfo.d.ts +12 -0
  83. package/build/lib/commands/deviceInfo.d.ts.map +1 -0
  84. package/build/lib/commands/deviceInfo.js +25 -0
  85. package/build/lib/commands/deviceInfo.js.map +1 -0
  86. package/build/lib/commands/element.d.ts +108 -0
  87. package/build/lib/commands/element.d.ts.map +1 -0
  88. package/build/lib/commands/element.js +395 -0
  89. package/build/lib/commands/element.js.map +1 -0
  90. package/build/lib/commands/enum.d.ts +105 -0
  91. package/build/lib/commands/enum.d.ts.map +1 -0
  92. package/build/lib/commands/enum.js +113 -0
  93. package/build/lib/commands/enum.js.map +1 -0
  94. package/build/lib/commands/execute.d.ts +33 -0
  95. package/build/lib/commands/execute.d.ts.map +1 -0
  96. package/build/lib/commands/execute.js +142 -0
  97. package/build/lib/commands/execute.js.map +1 -0
  98. package/build/lib/commands/file-movement.d.ts +90 -0
  99. package/build/lib/commands/file-movement.d.ts.map +1 -0
  100. package/build/lib/commands/file-movement.js +477 -0
  101. package/build/lib/commands/file-movement.js.map +1 -0
  102. package/build/lib/commands/find.d.ts +21 -0
  103. package/build/lib/commands/find.d.ts.map +1 -0
  104. package/build/lib/commands/find.js +199 -0
  105. package/build/lib/commands/find.js.map +1 -0
  106. package/build/lib/commands/general.d.ts +137 -0
  107. package/build/lib/commands/general.d.ts.map +1 -0
  108. package/build/lib/commands/general.js +270 -0
  109. package/build/lib/commands/general.js.map +1 -0
  110. package/build/lib/commands/geolocation.d.ts +57 -0
  111. package/build/lib/commands/geolocation.d.ts.map +1 -0
  112. package/build/lib/commands/geolocation.js +58 -0
  113. package/build/lib/commands/geolocation.js.map +1 -0
  114. package/build/lib/commands/gesture.d.ts +283 -0
  115. package/build/lib/commands/gesture.d.ts.map +1 -0
  116. package/build/lib/commands/gesture.js +565 -0
  117. package/build/lib/commands/gesture.js.map +1 -0
  118. package/build/lib/commands/hid-event.d.ts +2773 -0
  119. package/build/lib/commands/hid-event.d.ts.map +1 -0
  120. package/build/lib/commands/hid-event.js +1633 -0
  121. package/build/lib/commands/hid-event.js.map +1 -0
  122. package/build/lib/commands/increase-contrast.d.ts +24 -0
  123. package/build/lib/commands/increase-contrast.d.ts.map +1 -0
  124. package/build/lib/commands/increase-contrast.js +49 -0
  125. package/build/lib/commands/increase-contrast.js.map +1 -0
  126. package/build/lib/commands/iohid.d.ts +1372 -0
  127. package/build/lib/commands/iohid.d.ts.map +1 -0
  128. package/build/lib/commands/iohid.js +63 -0
  129. package/build/lib/commands/iohid.js.map +1 -0
  130. package/build/lib/commands/keyboard.d.ts +32 -0
  131. package/build/lib/commands/keyboard.d.ts.map +1 -0
  132. package/build/lib/commands/keyboard.js +67 -0
  133. package/build/lib/commands/keyboard.js.map +1 -0
  134. package/build/lib/commands/keychains.d.ts +10 -0
  135. package/build/lib/commands/keychains.d.ts.map +1 -0
  136. package/build/lib/commands/keychains.js +22 -0
  137. package/build/lib/commands/keychains.js.map +1 -0
  138. package/build/lib/commands/localization.d.ts +17 -0
  139. package/build/lib/commands/localization.d.ts.map +1 -0
  140. package/build/lib/commands/localization.js +34 -0
  141. package/build/lib/commands/localization.js.map +1 -0
  142. package/build/lib/commands/location.d.ts +40 -0
  143. package/build/lib/commands/location.d.ts.map +1 -0
  144. package/build/lib/commands/location.js +121 -0
  145. package/build/lib/commands/location.js.map +1 -0
  146. package/build/lib/commands/lock.d.ts +23 -0
  147. package/build/lib/commands/lock.d.ts.map +1 -0
  148. package/build/lib/commands/lock.js +49 -0
  149. package/build/lib/commands/lock.js.map +1 -0
  150. package/build/lib/commands/log.d.ts +68 -0
  151. package/build/lib/commands/log.d.ts.map +1 -0
  152. package/build/lib/commands/log.js +287 -0
  153. package/build/lib/commands/log.js.map +1 -0
  154. package/build/lib/commands/memory.d.ts +11 -0
  155. package/build/lib/commands/memory.d.ts.map +1 -0
  156. package/build/lib/commands/memory.js +49 -0
  157. package/build/lib/commands/memory.js.map +1 -0
  158. package/build/lib/commands/navigation.d.ts +44 -0
  159. package/build/lib/commands/navigation.d.ts.map +1 -0
  160. package/build/lib/commands/navigation.js +121 -0
  161. package/build/lib/commands/navigation.js.map +1 -0
  162. package/build/lib/commands/notifications.d.ts +28 -0
  163. package/build/lib/commands/notifications.d.ts.map +1 -0
  164. package/build/lib/commands/notifications.js +64 -0
  165. package/build/lib/commands/notifications.js.map +1 -0
  166. package/build/lib/commands/pasteboard.d.ts +23 -0
  167. package/build/lib/commands/pasteboard.d.ts.map +1 -0
  168. package/build/lib/commands/pasteboard.js +43 -0
  169. package/build/lib/commands/pasteboard.js.map +1 -0
  170. package/build/lib/commands/pcap.d.ts +54 -0
  171. package/build/lib/commands/pcap.d.ts.map +1 -0
  172. package/build/lib/commands/pcap.js +149 -0
  173. package/build/lib/commands/pcap.js.map +1 -0
  174. package/build/lib/commands/performance.d.ts +85 -0
  175. package/build/lib/commands/performance.d.ts.map +1 -0
  176. package/build/lib/commands/performance.js +331 -0
  177. package/build/lib/commands/performance.js.map +1 -0
  178. package/build/lib/commands/permissions.d.ts +36 -0
  179. package/build/lib/commands/permissions.d.ts.map +1 -0
  180. package/build/lib/commands/permissions.js +80 -0
  181. package/build/lib/commands/permissions.js.map +1 -0
  182. package/build/lib/commands/proxy-helper.d.ts +15 -0
  183. package/build/lib/commands/proxy-helper.d.ts.map +1 -0
  184. package/build/lib/commands/proxy-helper.js +117 -0
  185. package/build/lib/commands/proxy-helper.js.map +1 -0
  186. package/build/lib/commands/record-audio.d.ts +69 -0
  187. package/build/lib/commands/record-audio.d.ts.map +1 -0
  188. package/build/lib/commands/record-audio.js +228 -0
  189. package/build/lib/commands/record-audio.js.map +1 -0
  190. package/build/lib/commands/recordscreen.d.ts +89 -0
  191. package/build/lib/commands/recordscreen.d.ts.map +1 -0
  192. package/build/lib/commands/recordscreen.js +326 -0
  193. package/build/lib/commands/recordscreen.js.map +1 -0
  194. package/build/lib/commands/screenshots.d.ts +16 -0
  195. package/build/lib/commands/screenshots.d.ts.map +1 -0
  196. package/build/lib/commands/screenshots.js +129 -0
  197. package/build/lib/commands/screenshots.js.map +1 -0
  198. package/build/lib/commands/simctl.d.ts +27 -0
  199. package/build/lib/commands/simctl.d.ts.map +1 -0
  200. package/build/lib/commands/simctl.js +65 -0
  201. package/build/lib/commands/simctl.js.map +1 -0
  202. package/build/lib/commands/source.d.ts +16 -0
  203. package/build/lib/commands/source.d.ts.map +1 -0
  204. package/build/lib/commands/source.js +128 -0
  205. package/build/lib/commands/source.js.map +1 -0
  206. package/build/lib/commands/timeouts.d.ts +53 -0
  207. package/build/lib/commands/timeouts.d.ts.map +1 -0
  208. package/build/lib/commands/timeouts.js +71 -0
  209. package/build/lib/commands/timeouts.js.map +1 -0
  210. package/build/lib/commands/types.d.ts +539 -0
  211. package/build/lib/commands/types.d.ts.map +1 -0
  212. package/build/lib/commands/types.js +3 -0
  213. package/build/lib/commands/types.js.map +1 -0
  214. package/build/lib/commands/web.d.ts +297 -0
  215. package/build/lib/commands/web.d.ts.map +1 -0
  216. package/build/lib/commands/web.js +1029 -0
  217. package/build/lib/commands/web.js.map +1 -0
  218. package/build/lib/commands/xctest-record-screen.d.ts +92 -0
  219. package/build/lib/commands/xctest-record-screen.d.ts.map +1 -0
  220. package/build/lib/commands/xctest-record-screen.js +193 -0
  221. package/build/lib/commands/xctest-record-screen.js.map +1 -0
  222. package/build/lib/commands/xctest.d.ts +71 -0
  223. package/build/lib/commands/xctest.d.ts.map +1 -0
  224. package/build/lib/commands/xctest.js +257 -0
  225. package/build/lib/commands/xctest.js.map +1 -0
  226. package/build/lib/css-converter.d.ts +10 -0
  227. package/build/lib/css-converter.d.ts.map +1 -0
  228. package/build/lib/css-converter.js +258 -0
  229. package/build/lib/css-converter.js.map +1 -0
  230. package/build/lib/desired-caps.d.ts +506 -0
  231. package/build/lib/desired-caps.d.ts.map +1 -0
  232. package/build/lib/desired-caps.js +400 -0
  233. package/build/lib/desired-caps.js.map +1 -0
  234. package/build/lib/device-connections-factory.d.ts +13 -0
  235. package/build/lib/device-connections-factory.d.ts.map +1 -0
  236. package/build/lib/device-connections-factory.js +244 -0
  237. package/build/lib/device-connections-factory.js.map +1 -0
  238. package/build/lib/device-log/helpers.d.ts +10 -0
  239. package/build/lib/device-log/helpers.d.ts.map +1 -0
  240. package/build/lib/device-log/helpers.js +37 -0
  241. package/build/lib/device-log/helpers.js.map +1 -0
  242. package/build/lib/device-log/ios-crash-log.d.ts +34 -0
  243. package/build/lib/device-log/ios-crash-log.d.ts.map +1 -0
  244. package/build/lib/device-log/ios-crash-log.js +141 -0
  245. package/build/lib/device-log/ios-crash-log.js.map +1 -0
  246. package/build/lib/device-log/ios-device-log.d.ts +19 -0
  247. package/build/lib/device-log/ios-device-log.d.ts.map +1 -0
  248. package/build/lib/device-log/ios-device-log.js +42 -0
  249. package/build/lib/device-log/ios-device-log.js.map +1 -0
  250. package/build/lib/device-log/ios-log.d.ts +24 -0
  251. package/build/lib/device-log/ios-log.d.ts.map +1 -0
  252. package/build/lib/device-log/ios-log.js +50 -0
  253. package/build/lib/device-log/ios-log.js.map +1 -0
  254. package/build/lib/device-log/ios-performance-log.d.ts +18 -0
  255. package/build/lib/device-log/ios-performance-log.d.ts.map +1 -0
  256. package/build/lib/device-log/ios-performance-log.js +43 -0
  257. package/build/lib/device-log/ios-performance-log.js.map +1 -0
  258. package/build/lib/device-log/ios-simulator-log.d.ts +38 -0
  259. package/build/lib/device-log/ios-simulator-log.d.ts.map +1 -0
  260. package/build/lib/device-log/ios-simulator-log.js +184 -0
  261. package/build/lib/device-log/ios-simulator-log.js.map +1 -0
  262. package/build/lib/device-log/line-consuming-log.d.ts +9 -0
  263. package/build/lib/device-log/line-consuming-log.d.ts.map +1 -0
  264. package/build/lib/device-log/line-consuming-log.js +16 -0
  265. package/build/lib/device-log/line-consuming-log.js.map +1 -0
  266. package/build/lib/device-log/safari-console-log.d.ts +67 -0
  267. package/build/lib/device-log/safari-console-log.d.ts.map +1 -0
  268. package/build/lib/device-log/safari-console-log.js +81 -0
  269. package/build/lib/device-log/safari-console-log.js.map +1 -0
  270. package/build/lib/device-log/safari-network-log.d.ts +75 -0
  271. package/build/lib/device-log/safari-network-log.d.ts.map +1 -0
  272. package/build/lib/device-log/safari-network-log.js +47 -0
  273. package/build/lib/device-log/safari-network-log.js.map +1 -0
  274. package/build/lib/doctor/checks.d.ts +3 -0
  275. package/build/lib/doctor/checks.d.ts.map +1 -0
  276. package/build/lib/doctor/checks.js +39 -0
  277. package/build/lib/doctor/checks.js.map +1 -0
  278. package/build/lib/doctor/optional-checks.d.ts +46 -0
  279. package/build/lib/doctor/optional-checks.d.ts.map +1 -0
  280. package/build/lib/doctor/optional-checks.js +129 -0
  281. package/build/lib/doctor/optional-checks.js.map +1 -0
  282. package/build/lib/doctor/required-checks.d.ts +42 -0
  283. package/build/lib/doctor/required-checks.d.ts.map +1 -0
  284. package/build/lib/doctor/required-checks.js +94 -0
  285. package/build/lib/doctor/required-checks.js.map +1 -0
  286. package/build/lib/doctor/utils.d.ts +8 -0
  287. package/build/lib/doctor/utils.d.ts.map +1 -0
  288. package/build/lib/doctor/utils.js +21 -0
  289. package/build/lib/doctor/utils.js.map +1 -0
  290. package/build/lib/driver.d.ts +2429 -0
  291. package/build/lib/driver.d.ts.map +1 -0
  292. package/build/lib/driver.js +1967 -0
  293. package/build/lib/driver.js.map +1 -0
  294. package/build/lib/execute-method-map.d.ts +552 -0
  295. package/build/lib/execute-method-map.d.ts.map +1 -0
  296. package/build/lib/execute-method-map.js +586 -0
  297. package/build/lib/execute-method-map.js.map +1 -0
  298. package/build/lib/ios-fs-helpers.d.ts +75 -0
  299. package/build/lib/ios-fs-helpers.d.ts.map +1 -0
  300. package/build/lib/ios-fs-helpers.js +370 -0
  301. package/build/lib/ios-fs-helpers.js.map +1 -0
  302. package/build/lib/ios-generic-simulators.d.ts +6 -0
  303. package/build/lib/ios-generic-simulators.d.ts.map +1 -0
  304. package/build/lib/ios-generic-simulators.js +14 -0
  305. package/build/lib/ios-generic-simulators.js.map +1 -0
  306. package/build/lib/logger.d.ts +3 -0
  307. package/build/lib/logger.d.ts.map +1 -0
  308. package/build/lib/logger.js +6 -0
  309. package/build/lib/logger.js.map +1 -0
  310. package/build/lib/method-map.d.ts +229 -0
  311. package/build/lib/method-map.d.ts.map +1 -0
  312. package/build/lib/method-map.js +200 -0
  313. package/build/lib/method-map.js.map +1 -0
  314. package/build/lib/real-device-clients/base-device-client.d.ts +22 -0
  315. package/build/lib/real-device-clients/base-device-client.d.ts.map +1 -0
  316. package/build/lib/real-device-clients/base-device-client.js +14 -0
  317. package/build/lib/real-device-clients/base-device-client.js.map +1 -0
  318. package/build/lib/real-device-clients/py-ios-device-client.d.ts +21 -0
  319. package/build/lib/real-device-clients/py-ios-device-client.d.ts.map +1 -0
  320. package/build/lib/real-device-clients/py-ios-device-client.js +125 -0
  321. package/build/lib/real-device-clients/py-ios-device-client.js.map +1 -0
  322. package/build/lib/real-device-management.d.ts +53 -0
  323. package/build/lib/real-device-management.d.ts.map +1 -0
  324. package/build/lib/real-device-management.js +128 -0
  325. package/build/lib/real-device-management.js.map +1 -0
  326. package/build/lib/real-device.d.ts +112 -0
  327. package/build/lib/real-device.d.ts.map +1 -0
  328. package/build/lib/real-device.js +352 -0
  329. package/build/lib/real-device.js.map +1 -0
  330. package/build/lib/simulator-management.d.ts +96 -0
  331. package/build/lib/simulator-management.d.ts.map +1 -0
  332. package/build/lib/simulator-management.js +278 -0
  333. package/build/lib/simulator-management.js.map +1 -0
  334. package/build/lib/stubs.d.ts +3 -0
  335. package/build/lib/stubs.d.ts.map +1 -0
  336. package/build/lib/stubs.js +3 -0
  337. package/build/lib/stubs.js.map +1 -0
  338. package/build/lib/types.d.ts +31 -0
  339. package/build/lib/types.d.ts.map +1 -0
  340. package/build/lib/types.js +3 -0
  341. package/build/lib/types.js.map +1 -0
  342. package/build/lib/utils.d.ts +191 -0
  343. package/build/lib/utils.d.ts.map +1 -0
  344. package/build/lib/utils.js +549 -0
  345. package/build/lib/utils.js.map +1 -0
  346. package/build/lib/xcrun.d.ts +3 -0
  347. package/build/lib/xcrun.d.ts.map +1 -0
  348. package/build/lib/xcrun.js +17 -0
  349. package/build/lib/xcrun.js.map +1 -0
  350. package/index.js +7 -0
  351. package/lib/app-infos-cache.js +187 -0
  352. package/lib/app-utils.js +710 -0
  353. package/lib/commands/active-app-info.js +12 -0
  354. package/lib/commands/advanced-battery-types.ts +454 -0
  355. package/lib/commands/alert.js +88 -0
  356. package/lib/commands/app-management.js +346 -0
  357. package/lib/commands/app-strings.js +30 -0
  358. package/lib/commands/appearance.js +71 -0
  359. package/lib/commands/audit.js +31 -0
  360. package/lib/commands/battery.js +45 -0
  361. package/lib/commands/bidi/constants.ts +6 -0
  362. package/lib/commands/bidi/models.ts +55 -0
  363. package/lib/commands/bidi/types.ts +31 -0
  364. package/lib/commands/biometric.js +53 -0
  365. package/lib/commands/certificate.js +497 -0
  366. package/lib/commands/clipboard.js +35 -0
  367. package/lib/commands/condition.js +155 -0
  368. package/lib/commands/content-size.js +68 -0
  369. package/lib/commands/context.js +705 -0
  370. package/lib/commands/deviceInfo.js +27 -0
  371. package/lib/commands/element.js +423 -0
  372. package/lib/commands/enum.ts +108 -0
  373. package/lib/commands/execute.js +153 -0
  374. package/lib/commands/file-movement.js +510 -0
  375. package/lib/commands/find.js +205 -0
  376. package/lib/commands/general.js +278 -0
  377. package/lib/commands/geolocation.js +56 -0
  378. package/lib/commands/gesture.js +596 -0
  379. package/lib/commands/hid-event.ts +1634 -0
  380. package/lib/commands/increase-contrast.js +50 -0
  381. package/lib/commands/iohid.js +64 -0
  382. package/lib/commands/keyboard.js +62 -0
  383. package/lib/commands/keychains.js +18 -0
  384. package/lib/commands/localization.js +30 -0
  385. package/lib/commands/location.js +131 -0
  386. package/lib/commands/lock.js +46 -0
  387. package/lib/commands/log.js +327 -0
  388. package/lib/commands/memory.js +51 -0
  389. package/lib/commands/navigation.js +125 -0
  390. package/lib/commands/notifications.js +66 -0
  391. package/lib/commands/pasteboard.js +42 -0
  392. package/lib/commands/pcap.js +168 -0
  393. package/lib/commands/performance.js +392 -0
  394. package/lib/commands/permissions.js +85 -0
  395. package/lib/commands/proxy-helper.js +122 -0
  396. package/lib/commands/record-audio.js +264 -0
  397. package/lib/commands/recordscreen.js +391 -0
  398. package/lib/commands/screenshots.js +137 -0
  399. package/lib/commands/simctl.js +71 -0
  400. package/lib/commands/source.js +131 -0
  401. package/lib/commands/timeouts.js +68 -0
  402. package/lib/commands/types.ts +648 -0
  403. package/lib/commands/web.js +1113 -0
  404. package/lib/commands/xctest-record-screen.js +204 -0
  405. package/lib/commands/xctest.js +285 -0
  406. package/lib/css-converter.js +311 -0
  407. package/lib/desired-caps.js +396 -0
  408. package/lib/device-connections-factory.js +269 -0
  409. package/lib/device-log/helpers.ts +40 -0
  410. package/lib/device-log/ios-crash-log.ts +166 -0
  411. package/lib/device-log/ios-device-log.ts +51 -0
  412. package/lib/device-log/ios-log.ts +70 -0
  413. package/lib/device-log/ios-performance-log.ts +50 -0
  414. package/lib/device-log/ios-simulator-log.ts +202 -0
  415. package/lib/device-log/line-consuming-log.ts +16 -0
  416. package/lib/device-log/safari-console-log.ts +117 -0
  417. package/lib/device-log/safari-network-log.ts +120 -0
  418. package/lib/doctor/checks.ts +3 -0
  419. package/lib/doctor/optional-checks.ts +173 -0
  420. package/lib/doctor/required-checks.ts +120 -0
  421. package/lib/doctor/utils.ts +18 -0
  422. package/lib/driver.js +2316 -0
  423. package/lib/execute-method-map.ts +585 -0
  424. package/lib/ios-fs-helpers.js +355 -0
  425. package/lib/ios-generic-simulators.js +11 -0
  426. package/lib/logger.js +5 -0
  427. package/lib/method-map.js +196 -0
  428. package/lib/real-device-clients/base-device-client.ts +34 -0
  429. package/lib/real-device-clients/py-ios-device-client.ts +149 -0
  430. package/lib/real-device-management.js +133 -0
  431. package/lib/real-device.js +347 -0
  432. package/lib/simulator-management.js +324 -0
  433. package/lib/stubs.ts +3 -0
  434. package/lib/types.ts +33 -0
  435. package/lib/utils.js +551 -0
  436. package/lib/xcrun.js +16 -0
  437. package/package.json +175 -0
  438. package/scripts/build-docs.js +56 -0
  439. package/scripts/build-wda.js +42 -0
  440. package/scripts/download-wda-sim.mjs +68 -0
  441. package/scripts/image-mounter.mjs +239 -0
  442. package/scripts/open-wda.mjs +15 -0
  443. package/scripts/tunnel-creation.mjs +359 -0
  444. package/scripts/utils.js +16 -0
@@ -0,0 +1,477 @@
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.parseContainerPath = parseContainerPath;
7
+ exports.pushFile = pushFile;
8
+ exports.mobilePushFile = mobilePushFile;
9
+ exports.pullFile = pullFile;
10
+ exports.mobilePullFile = mobilePullFile;
11
+ exports.mobileDeleteFolder = mobileDeleteFolder;
12
+ exports.mobileDeleteFile = mobileDeleteFile;
13
+ exports.pullFolder = pullFolder;
14
+ exports.mobilePullFolder = mobilePullFolder;
15
+ const lodash_1 = __importDefault(require("lodash"));
16
+ const support_1 = require("appium/support");
17
+ const path_1 = __importDefault(require("path"));
18
+ const appium_ios_device_1 = require("appium-ios-device");
19
+ const ios_fs_helpers_1 = require("../ios-fs-helpers");
20
+ const driver_1 = require("appium/driver");
21
+ const CONTAINER_PATH_MARKER = '@';
22
+ // https://regex101.com/r/PLdB0G/2
23
+ const CONTAINER_PATH_PATTERN = new RegExp(`^${CONTAINER_PATH_MARKER}([^/]+)/(.*)`);
24
+ const CONTAINER_TYPE_SEPARATOR = ':';
25
+ const CONTAINER_DOCUMENTS_PATH = 'Documents';
26
+ const OBJECT_NOT_FOUND_ERROR_MESSAGE = 'OBJECT_NOT_FOUND';
27
+ /**
28
+ * Parses the actual path and the bundle identifier from the given path string
29
+ *
30
+ * @this {XCUITestDriver}
31
+ * @param {string} remotePath - The given path string. The string should
32
+ * match `CONTAINER_PATH_PATTERN` regexp, otherwise an error is going
33
+ * to be thrown. A valid string example: `@bundle.identifier:container_type/relative_path_in_container`
34
+ * @param {import('./types').ContainerRootSupplier|string} [containerRootSupplier] - Container root path supplier function or string value
35
+ * @returns {Promise<import('./types').ContainerObject>}
36
+ */
37
+ async function parseContainerPath(remotePath, containerRootSupplier) {
38
+ const match = CONTAINER_PATH_PATTERN.exec(remotePath);
39
+ if (!match) {
40
+ throw new Error(`It is expected that package identifier ` +
41
+ `starts with '${CONTAINER_PATH_MARKER}' and is separated from the ` +
42
+ `relative path with a single slash. '${remotePath}' is given instead`);
43
+ }
44
+ let [, bundleId, relativePath] = match;
45
+ let containerType = null;
46
+ const typeSeparatorPos = bundleId.indexOf(CONTAINER_TYPE_SEPARATOR);
47
+ // We only consider container type exists if its length is greater than zero
48
+ // not counting the colon
49
+ if (typeSeparatorPos > 0 && typeSeparatorPos < bundleId.length - 1) {
50
+ containerType = bundleId.substring(typeSeparatorPos + 1);
51
+ this.log.debug(`Parsed container type: ${containerType}`);
52
+ bundleId = bundleId.substring(0, typeSeparatorPos);
53
+ }
54
+ if (lodash_1.default.isNil(containerRootSupplier)) {
55
+ const pathInContainer = relativePath;
56
+ return { bundleId, pathInContainer, containerType };
57
+ }
58
+ const containerRoot = lodash_1.default.isFunction(containerRootSupplier)
59
+ ? await containerRootSupplier(bundleId, containerType)
60
+ : containerRootSupplier;
61
+ const pathInContainer = path_1.default.posix.resolve(containerRoot, relativePath);
62
+ verifyIsSubPath(pathInContainer, containerRoot);
63
+ return { bundleId, pathInContainer, containerType };
64
+ }
65
+ /**
66
+ *
67
+ * @param {string} originalPath
68
+ * @param {string} root
69
+ * @returns {void}
70
+ */
71
+ function verifyIsSubPath(originalPath, root) {
72
+ const normalizedRoot = path_1.default.normalize(root);
73
+ const normalizedPath = path_1.default.normalize(path_1.default.dirname(originalPath));
74
+ // If originalPath is root, `/`, originalPath should equal to normalizedRoot
75
+ if (normalizedRoot !== originalPath && !normalizedPath.startsWith(normalizedRoot)) {
76
+ throw new Error(`'${normalizedPath}' is expected to be a subpath of '${normalizedRoot}'`);
77
+ }
78
+ }
79
+ /**
80
+ *
81
+ * @this {XCUITestDriver}
82
+ * @param {string} [bundleId]
83
+ * @param {string} [containerType]
84
+ * @returns {Promise<any>}
85
+ */
86
+ async function createAfcClient(bundleId, containerType) {
87
+ const udid = this.device.udid;
88
+ if (!bundleId) {
89
+ return await appium_ios_device_1.services.startAfcService(udid);
90
+ }
91
+ const service = await appium_ios_device_1.services.startHouseArrestService(udid);
92
+ const { skipDocumentsContainerCheck = false, } = await this.settings.getSettings();
93
+ if (skipDocumentsContainerCheck) {
94
+ return service.vendContainer(bundleId);
95
+ }
96
+ return isDocumentsContainer(containerType)
97
+ ? await service.vendDocuments(bundleId)
98
+ : await service.vendContainer(bundleId);
99
+ }
100
+ /**
101
+ *
102
+ * @param {string} [containerType]
103
+ * @returns {boolean}
104
+ */
105
+ function isDocumentsContainer(containerType) {
106
+ return lodash_1.default.toLower(containerType) === lodash_1.default.toLower(CONTAINER_DOCUMENTS_PATH);
107
+ }
108
+ /**
109
+ *
110
+ * @this {XCUITestDriver}
111
+ * @param {string} remotePath
112
+ * @returns {Promise<{service: any, relativePath: string}>}
113
+ */
114
+ async function createService(remotePath) {
115
+ if (CONTAINER_PATH_PATTERN.test(remotePath)) {
116
+ const { bundleId, pathInContainer, containerType } = await parseContainerPath.bind(this)(remotePath);
117
+ const service = await createAfcClient.bind(this)(bundleId, containerType);
118
+ const relativePath = isDocumentsContainer(containerType)
119
+ ? path_1.default.join(CONTAINER_DOCUMENTS_PATH, pathInContainer)
120
+ : pathInContainer;
121
+ return { service, relativePath };
122
+ }
123
+ else {
124
+ const service = await createAfcClient.bind(this)();
125
+ return { service, relativePath: remotePath };
126
+ }
127
+ }
128
+ /**
129
+ * Save the given base64 data chunk as a binary file on the Simulator under test.
130
+ *
131
+ * @this {XCUITestDriver}
132
+ * @param {string} remotePath - The remote path on the device. This variable can be prefixed with
133
+ * bundle id, so then the file will be uploaded to the corresponding
134
+ * application container instead of the default media folder, for example
135
+ * '@com.myapp.bla:data/RelativePathInContainer/111.png'. The '@' character at the
136
+ * beginning of the argument is mandatory in such case. The colon at the end of bundle identifier
137
+ * is optional and is used to distinguish the container type.
138
+ * Possible values there are 'app', 'data', 'groups', '<A specific App Group container>'.
139
+ * The default value is 'app'.
140
+ * The relative folder path is ignored if the file is going to be uploaded
141
+ * to the default media folder and only the file name is considered important.
142
+ * @param {string} base64Data - Base-64 encoded content of the file to be uploaded.
143
+ */
144
+ async function pushFileToSimulator(remotePath, base64Data) {
145
+ const buffer = Buffer.from(base64Data, 'base64');
146
+ const device = /** @type {import('../driver').Simulator} */ (this.device);
147
+ if (CONTAINER_PATH_PATTERN.test(remotePath)) {
148
+ const { bundleId, pathInContainer: dstPath } = await parseContainerPath.bind(this)(remotePath, async (appBundle, containerType) => await device.simctl.getAppContainer(appBundle, containerType));
149
+ this.log.info(`Parsed bundle identifier '${bundleId}' from '${remotePath}'. ` +
150
+ `Will put the data into '${dstPath}'`);
151
+ if (!(await support_1.fs.exists(path_1.default.dirname(dstPath)))) {
152
+ this.log.debug(`The destination folder '${path_1.default.dirname(dstPath)}' does not exist. Creating...`);
153
+ await (0, support_1.mkdirp)(path_1.default.dirname(dstPath));
154
+ }
155
+ await support_1.fs.writeFile(dstPath, buffer);
156
+ return;
157
+ }
158
+ const dstFolder = await support_1.tempDir.openDir();
159
+ const dstPath = path_1.default.resolve(dstFolder, path_1.default.basename(remotePath));
160
+ try {
161
+ await support_1.fs.writeFile(dstPath, buffer);
162
+ await device.simctl.addMedia(dstPath);
163
+ }
164
+ finally {
165
+ await support_1.fs.rimraf(dstFolder);
166
+ }
167
+ }
168
+ /**
169
+ * Save the given base64 data chunk as a binary file on the device under test.
170
+ *
171
+ * @this {XCUITestDriver}
172
+ * @param {string} remotePath - The remote path on the device. This variable can be prefixed with
173
+ * bundle id, so then the file will be uploaded to the corresponding
174
+ * application container instead of the default media folder. Use
175
+ * `@<app_bundle_id>:<optional_container_type>/<path_to_the_file_or_folder_inside_container>`
176
+ * format to pull a file or a folder from an application container of the given type.
177
+ * The only supported container type is 'documents'. If the container type is not set
178
+ * explicitly for a bundle id, then the default application container is going to be mounted
179
+ * (aka --container ifuse argument)
180
+ * e.g. If `@com.myapp.bla:documents/111.png` is provided,
181
+ * `On My iPhone/<app name>` in Files app will be mounted in the host machine.
182
+ * Base64 encoded `111.png` will be pushed into `On My iPhone/<app name>/111.png`
183
+ * as base64 decoded data.
184
+ * @param {string} base64Data - Base-64 encoded content of the file to be uploaded.
185
+ */
186
+ async function pushFileToRealDevice(remotePath, base64Data) {
187
+ const { service, relativePath } = await createService.bind(this)(remotePath);
188
+ try {
189
+ await (0, ios_fs_helpers_1.pushFile)(service, Buffer.from(base64Data, 'base64'), relativePath);
190
+ }
191
+ catch (e) {
192
+ this.log.debug(e.stack);
193
+ throw new Error(`Could not push the file to '${remotePath}'. Original error: ${e.message}`);
194
+ }
195
+ finally {
196
+ service.close();
197
+ }
198
+ }
199
+ /**
200
+ *
201
+ * @this {XCUITestDriver}
202
+ * @param {string} remotePath
203
+ * @returns {Promise<void>}
204
+ */
205
+ async function deleteFileOrFolder(remotePath) {
206
+ return this.isSimulator()
207
+ ? await deleteFromSimulator.bind(this)(remotePath)
208
+ : await deleteFromRealDevice.bind(this)(remotePath);
209
+ }
210
+ /**
211
+ * Get the content of given file or folder from iOS Simulator and return it as base-64 encoded string.
212
+ * Folder content is recursively packed into a zip archive.
213
+ *
214
+ * @this {XCUITestDriver}
215
+ * @param {string} remotePath - The path to a file or a folder, which exists in the corresponding application
216
+ * container on Simulator. Use
217
+ * `@<app_bundle_id>:<optional_container_type>/<path_to_the_file_or_folder_inside_container>`
218
+ * format to pull a file or a folder from an application container of the given type.
219
+ * Possible container types are `app`, `data`, `groups`, `<A specific App Group container>`.
220
+ * The default type is `app`.
221
+ * @param {boolean} isFile - Whether the destination item is a file or a folder
222
+ * @returns {Promise<string>} Base-64 encoded content of the file.
223
+ */
224
+ async function pullFromSimulator(remotePath, isFile) {
225
+ let pathOnServer;
226
+ const device = /** @type {import('../driver').Simulator} */ (this.device);
227
+ if (CONTAINER_PATH_PATTERN.test(remotePath)) {
228
+ const { bundleId, pathInContainer: dstPath } = await parseContainerPath.bind(this)(remotePath, async (appBundle, containerType) => await device.simctl.getAppContainer(appBundle, containerType));
229
+ this.log.info(`Parsed bundle identifier '${bundleId}' from '${remotePath}'. ` +
230
+ `Will get the data from '${dstPath}'`);
231
+ pathOnServer = dstPath;
232
+ }
233
+ else {
234
+ const simRoot = device.getDir();
235
+ pathOnServer = path_1.default.posix.join(simRoot, remotePath);
236
+ verifyIsSubPath(pathOnServer, simRoot);
237
+ this.log.info(`Got the full item path: ${pathOnServer}`);
238
+ }
239
+ if (!(await support_1.fs.exists(pathOnServer))) {
240
+ throw this.log.errorWithException(`The remote ${isFile ? 'file' : 'folder'} at '${pathOnServer}' does not exist`);
241
+ }
242
+ const buffer = isFile
243
+ ? await support_1.util.toInMemoryBase64(pathOnServer)
244
+ : await support_1.zip.toInMemoryZip(pathOnServer, { encodeToBase64: true });
245
+ return buffer.toString();
246
+ }
247
+ /**
248
+ * Get the content of given file or folder from the real device under test and return it as base-64 encoded string.
249
+ * Folder content is recursively packed into a zip archive.
250
+ *
251
+ * @this {XCUITestDriver}
252
+ * @param {string} remotePath - The path to an existing remote file on the device. This variable can be prefixed with
253
+ * bundle id, so then the file will be downloaded from the corresponding
254
+ * application container instead of the default media folder. Use
255
+ * `@<app_bundle_id>:<optional_container_type>/<path_to_the_file_or_folder_inside_container>`
256
+ * format to pull a file or a folder from an application container of the given type.
257
+ * The only supported container type is 'documents'. If the container type is not set
258
+ * explicitly for a bundle id, then the default application container is going to be mounted
259
+ * (aka --container ifuse argument)
260
+ * e.g. If `@com.myapp.bla:documents/111.png` is provided,
261
+ * `On My iPhone/<app name>` in Files app will be mounted in the host machine.
262
+ * `On My iPhone/<app name>/111.png` will be pulled into the mounted host machine
263
+ * and Appium returns the data as base64-encoded string to client.
264
+ * `@com.myapp.bla:documents/` means `On My iPhone/<app name>`.
265
+ * @param {boolean} isFile - Whether the destination item is a file or a folder
266
+ * @returns {Promise<string>} Base-64 encoded content of the remote file
267
+ */
268
+ async function pullFromRealDevice(remotePath, isFile) {
269
+ const { service, relativePath } = await createService.bind(this)(remotePath);
270
+ try {
271
+ const fileInfo = await service.getFileInfo(relativePath);
272
+ if (isFile && fileInfo.isDirectory()) {
273
+ throw new Error(`The requested path is not a file. Path: '${remotePath}'`);
274
+ }
275
+ if (!isFile && !fileInfo.isDirectory()) {
276
+ throw new Error(`The requested path is not a folder. Path: '${remotePath}'`);
277
+ }
278
+ return fileInfo.isFile()
279
+ ? (await (0, ios_fs_helpers_1.pullFile)(service, relativePath)).toString('base64')
280
+ : (await (0, ios_fs_helpers_1.pullFolder)(service, relativePath)).toString();
281
+ }
282
+ finally {
283
+ service.close();
284
+ }
285
+ }
286
+ /**
287
+ * Remove the file or folder from the device
288
+ *
289
+ * @this {XCUITestDriver}
290
+ * @param {string} remotePath - The path to a file or a folder, which exists in the corresponding application
291
+ * container on Simulator. Use
292
+ * `@<app_bundle_id>:<optional_container_type>/<path_to_the_file_or_folder_inside_container>`
293
+ * format to pull a file or a folder from an application container of the given type.
294
+ * Possible container types are 'app', 'data', 'groups', '<A specific App Group container>'.
295
+ * The default type is 'app'.
296
+ * @returns {Promise<void>}
297
+ */
298
+ async function deleteFromSimulator(remotePath) {
299
+ let pathOnServer;
300
+ const device = /** @type {import('../driver').Simulator} */ (this.device);
301
+ if (CONTAINER_PATH_PATTERN.test(remotePath)) {
302
+ const { bundleId, pathInContainer: dstPath } = await parseContainerPath.bind(this)(remotePath, async (appBundle, containerType) => await device.simctl.getAppContainer(appBundle, containerType));
303
+ this.log.info(`Parsed bundle identifier '${bundleId}' from '${remotePath}'. ` +
304
+ `'${dstPath}' will be deleted`);
305
+ pathOnServer = dstPath;
306
+ }
307
+ else {
308
+ const simRoot = device.getDir();
309
+ pathOnServer = path_1.default.posix.join(simRoot, remotePath);
310
+ verifyIsSubPath(pathOnServer, simRoot);
311
+ this.log.info(`Got the full path: ${pathOnServer}`);
312
+ }
313
+ if (!(await support_1.fs.exists(pathOnServer))) {
314
+ throw new driver_1.errors.InvalidArgumentError(`The remote path at '${pathOnServer}' does not exist`);
315
+ }
316
+ await support_1.fs.rimraf(pathOnServer);
317
+ }
318
+ /**
319
+ * Remove the file or folder from the device
320
+ *
321
+ * @this {XCUITestDriver}
322
+ * @param {string} remotePath - The path to an existing remote file on the device. This variable can be prefixed with
323
+ * bundle id, so then the file will be downloaded from the corresponding
324
+ * application container instead of the default media folder. Use
325
+ * `@<app_bundle_id>:<optional_container_type>/<path_to_the_file_or_folder_inside_container>`
326
+ * format to pull a file or a folder from an application container of the given type.
327
+ * The only supported container type is 'documents'. If the container type is not set
328
+ * explicitly for a bundle id, then the default application container is going to be mounted
329
+ * (aka --container ifuse argument)
330
+ * e.g. If `@com.myapp.bla:documents/111.png` is provided,
331
+ * `On My iPhone/<app name>` in Files app will be mounted in the host machine.
332
+ * `On My iPhone/<app name>/111.png` will be pulled into the mounted host machine
333
+ * and Appium returns the data as base64-encoded string to client.
334
+ * `@com.myapp.bla:documents/` means `On My iPhone/<app name>`.
335
+ * @returns {Promise<void>}
336
+ */
337
+ async function deleteFromRealDevice(remotePath) {
338
+ const { service, relativePath } = await createService.bind(this)(remotePath);
339
+ try {
340
+ await service.deleteDirectory(relativePath);
341
+ }
342
+ catch (e) {
343
+ if (e.message.includes(OBJECT_NOT_FOUND_ERROR_MESSAGE)) {
344
+ throw new Error(`Path '${remotePath}' does not exist on the device`);
345
+ }
346
+ throw e;
347
+ }
348
+ finally {
349
+ service.close();
350
+ }
351
+ }
352
+ /**
353
+ * Pushes the given data to a file on the remote device
354
+ *
355
+ * @param {string} remotePath The full path to the remote file or
356
+ * a file inside a package bundle. Check the documentation on
357
+ * `pushFileToRealDevice` and `pushFileToSimulator` for more information
358
+ * on acceptable values.
359
+ * @param {string} base64Data Base64 encoded data to be written to the
360
+ * remote file. The remote file will be silently overridden if it already exists.
361
+ * @throws {Error} If there was an error while pushing the data
362
+ * @this {XCUITestDriver}
363
+ */
364
+ async function pushFile(remotePath, base64Data) {
365
+ if (remotePath.endsWith('/')) {
366
+ throw new driver_1.errors.InvalidArgumentError(`It is expected that remote path points to a file and not to a folder. ` +
367
+ `'${remotePath}' is given instead`);
368
+ }
369
+ if (lodash_1.default.isArray(base64Data)) {
370
+ // some clients (ahem) java, send a byte array encoding utf8 characters
371
+ // instead of a string, which would be infinitely better!
372
+ base64Data = Buffer.from(base64Data).toString('utf8');
373
+ }
374
+ return this.isSimulator()
375
+ ? await pushFileToSimulator.bind(this)(remotePath, base64Data)
376
+ : await pushFileToRealDevice.bind(this)(remotePath, base64Data);
377
+ }
378
+ /**
379
+ * Pushes the given data to a file on the remote device.
380
+ *
381
+ * @param {string} remotePath - The full path to the remote file
382
+ * or a specially formatted path, which points to an item inside an app bundle.
383
+ * @param {string} payload - Base64-encoded content of the file to be pushed.
384
+ * @this {XCUITestDriver}
385
+ */
386
+ async function mobilePushFile(remotePath, payload) {
387
+ return await this.pushFile(remotePath, payload);
388
+ }
389
+ /**
390
+ * Pulls a remote file from the device.
391
+ *
392
+ * @param {string} remotePath The full path to the remote file
393
+ * or a specially formatted path, which points to an item inside app bundle.
394
+ * See the documentation for `pullFromRealDevice` and `pullFromSimulator`
395
+ * to get more information on acceptable values.
396
+ * @returns {Promise<string>} Base64 encoded content of the pulled file
397
+ * @throws {Error} If the pull operation failed
398
+ * @this {XCUITestDriver}
399
+ */
400
+ async function pullFile(remotePath) {
401
+ if (remotePath.endsWith('/')) {
402
+ throw new driver_1.errors.InvalidArgumentError(`It is expected that remote path points to a file and not to a folder. ` +
403
+ `'${remotePath}' is given instead`);
404
+ }
405
+ return this.isSimulator()
406
+ ? await pullFromSimulator.bind(this)(remotePath, true)
407
+ : await pullFromRealDevice.bind(this)(remotePath, true);
408
+ }
409
+ /**
410
+ * Pulls a remote file from the device.
411
+ *
412
+ * @param {string} remotePath - The full path to the remote file
413
+ * or a specially formatted path, which points to an item inside app bundle. See the documentation for `pullFromRealDevice` and `pullFromSimulator` to get more information on acceptable values.
414
+ * @returns {Promise<string>} The same as in `pullFile`
415
+ * @this {XCUITestDriver}
416
+ */
417
+ async function mobilePullFile(remotePath) {
418
+ return await this.pullFile(remotePath);
419
+ }
420
+ /**
421
+ * Delete a remote folder from the device.
422
+ *
423
+ * @param {string} remotePath - The full path to the remote folder or a specially formatted path, which points to an item inside app bundle. See the documentation for `pullFromRealDevice` and `pullFromSimulator` to get more information on acceptable values.
424
+ * @this {XCUITestDriver}
425
+ * @returns {Promise<void>}
426
+ */
427
+ async function mobileDeleteFolder(remotePath) {
428
+ if (!remotePath.endsWith('/')) {
429
+ remotePath = `${remotePath}/`;
430
+ }
431
+ await deleteFileOrFolder.bind(this)(remotePath);
432
+ }
433
+ /**
434
+ * Delete a remote file from the device.
435
+ *
436
+ * @param {string} remotePath - The full path to the remote file or a specially formatted path, which points to an item inside app bundle. See the documentation for `pullFromRealDevice` and `pullFromSimulator` to get more information on acceptable values.
437
+ * @this {XCUITestDriver}
438
+ * @returns {Promise<void>}
439
+ */
440
+ async function mobileDeleteFile(remotePath) {
441
+ if (remotePath.endsWith('/')) {
442
+ throw new driver_1.errors.InvalidArgumentError(`It is expected that remote path points to a file and not to a folder. ` +
443
+ `'${remotePath}' is given instead`);
444
+ }
445
+ await deleteFileOrFolder.bind(this)(remotePath);
446
+ }
447
+ /**
448
+ * Pulls the whole folder from the remote device
449
+ *
450
+ * @param {string} remotePath The full path to a folder on the
451
+ * remote device or a folder inside an application bundle
452
+ * @returns {Promise<string>} Zipped and base64-encoded content of the folder
453
+ * @throws {Error} If there was a failure while getting the folder content
454
+ * @this {XCUITestDriver}
455
+ */
456
+ async function pullFolder(remotePath) {
457
+ if (!remotePath.endsWith('/')) {
458
+ remotePath = `${remotePath}/`;
459
+ }
460
+ return this.isSimulator()
461
+ ? await pullFromSimulator.bind(this)(remotePath, false)
462
+ : await pullFromRealDevice.bind(this)(remotePath, false);
463
+ }
464
+ /**
465
+ * Pulls the whole folder from the device under test.
466
+ *
467
+ * @param {string} remotePath - The full path to the remote folder
468
+ * @returns {Promise<string>} The same as `pullFolder`
469
+ * @this {XCUITestDriver}
470
+ */
471
+ async function mobilePullFolder(remotePath) {
472
+ return await this.pullFolder(remotePath);
473
+ }
474
+ /**
475
+ * @typedef {import('../driver').XCUITestDriver} XCUITestDriver
476
+ */
477
+ //# sourceMappingURL=file-movement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-movement.js","sourceRoot":"","sources":["../../../lib/commands/file-movement.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @this {XCUITestDriver}
3
+ */
4
+ export function findElOrEls(this: import("../driver").XCUITestDriver, strategy: any, selector: any, mult: any, context: any): Promise<any>;
5
+ /**
6
+ * @this {XCUITestDriver}
7
+ * @privateRemarks I'm not sure what these objects are; they aren't `Element`.
8
+ * @returns {Promise<any|any[]|undefined>}
9
+ */
10
+ export function findNativeElementOrElements(this: import("../driver").XCUITestDriver, strategy: any, selector: any, mult: any, context: any): Promise<any | any[] | undefined>;
11
+ /**
12
+ * @this {XCUITestDriver}
13
+ */
14
+ export function doNativeFind(this: import("../driver").XCUITestDriver, strategy: any, selector: any, mult: any, context: any): Promise<import("@appium/types").Element<string>[] | undefined>;
15
+ /**
16
+ * @this {XCUITestDriver}
17
+ */
18
+ export function getFirstVisibleChild(this: import("../driver").XCUITestDriver, mult: any, context: any): Promise<import("@appium/types").Element<string>[] | undefined>;
19
+ export type XCUITestDriver = import("../driver").XCUITestDriver;
20
+ export type Element = import("@appium/types").Element;
21
+ //# sourceMappingURL=find.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.js"],"names":[],"mappings":"AAKA;;GAEG;AACH,2IAMC;AAED;;;;GAIG;AACH,8IAFa,OAAO,CAAC,GAAG,GAAC,GAAG,EAAE,GAAC,SAAS,CAAC,CAkDxC;AAED;;GAEG;AACH,8LA4CC;AAED;;GAEG;AACH,wKA0BC;6BAqDY,OAAO,WAAW,EAAE,cAAc;sBAClC,OAAO,eAAe,EAAE,OAAO"}