appium-xcuitest-driver 11.4.1 → 11.5.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 (161) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/lib/commands/app-install.d.ts +20 -0
  3. package/build/lib/commands/app-install.d.ts.map +1 -0
  4. package/build/lib/commands/app-install.js +388 -0
  5. package/build/lib/commands/app-install.js.map +1 -0
  6. package/build/lib/commands/app-management.d.ts.map +1 -1
  7. package/build/lib/commands/app-management.js +8 -5
  8. package/build/lib/commands/app-management.js.map +1 -1
  9. package/build/lib/commands/app-strings.d.ts +12 -1
  10. package/build/lib/commands/app-strings.d.ts.map +1 -1
  11. package/build/lib/commands/app-strings.js +108 -2
  12. package/build/lib/commands/app-strings.js.map +1 -1
  13. package/build/lib/commands/bidi/models.js +7 -7
  14. package/build/lib/commands/bidi/models.js.map +1 -1
  15. package/build/lib/commands/biometric.js +4 -4
  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 +4 -3
  19. package/build/lib/commands/certificate.js.map +1 -1
  20. package/build/lib/commands/condition.js +4 -4
  21. package/build/lib/commands/condition.js.map +1 -1
  22. package/build/lib/commands/constants.d.ts +8 -0
  23. package/build/lib/commands/constants.d.ts.map +1 -0
  24. package/build/lib/commands/constants.js +11 -0
  25. package/build/lib/commands/constants.js.map +1 -0
  26. package/build/lib/commands/content-size.js +3 -3
  27. package/build/lib/commands/content-size.js.map +1 -1
  28. package/build/lib/commands/context.js +15 -15
  29. package/build/lib/commands/context.js.map +1 -1
  30. package/build/lib/commands/gesture.js +2 -2
  31. package/build/lib/commands/gesture.js.map +1 -1
  32. package/build/lib/commands/guards.d.ts +14 -0
  33. package/build/lib/commands/guards.d.ts.map +1 -0
  34. package/build/lib/commands/guards.js +29 -0
  35. package/build/lib/commands/guards.js.map +1 -0
  36. package/build/lib/commands/increase-contrast.js +3 -3
  37. package/build/lib/commands/increase-contrast.js.map +1 -1
  38. package/build/lib/commands/keychains.js +2 -2
  39. package/build/lib/commands/keychains.js.map +1 -1
  40. package/build/lib/commands/localization.js +2 -2
  41. package/build/lib/commands/localization.js.map +1 -1
  42. package/build/lib/commands/log.d.ts.map +1 -1
  43. package/build/lib/commands/log.js +4 -3
  44. package/build/lib/commands/log.js.map +1 -1
  45. package/build/lib/commands/memory.js +2 -2
  46. package/build/lib/commands/memory.js.map +1 -1
  47. package/build/lib/commands/network-monitor.d.ts.map +1 -1
  48. package/build/lib/commands/network-monitor.js +2 -1
  49. package/build/lib/commands/network-monitor.js.map +1 -1
  50. package/build/lib/commands/notifications.js +2 -2
  51. package/build/lib/commands/notifications.js.map +1 -1
  52. package/build/lib/commands/pasteboard.js +3 -3
  53. package/build/lib/commands/pasteboard.js.map +1 -1
  54. package/build/lib/commands/permissions.js +3 -3
  55. package/build/lib/commands/permissions.js.map +1 -1
  56. package/build/lib/commands/session.d.ts +9 -0
  57. package/build/lib/commands/session.d.ts.map +1 -0
  58. package/build/lib/commands/session.js +27 -0
  59. package/build/lib/commands/session.js.map +1 -0
  60. package/build/lib/commands/simctl.js +2 -2
  61. package/build/lib/commands/simctl.js.map +1 -1
  62. package/build/lib/commands/wda/cleanup.d.ts +11 -0
  63. package/build/lib/commands/wda/cleanup.d.ts.map +1 -0
  64. package/build/lib/{utils → commands/wda}/cleanup.js +60 -39
  65. package/build/lib/commands/wda/cleanup.js.map +1 -0
  66. package/build/lib/commands/wda/constants.d.ts +13 -0
  67. package/build/lib/commands/wda/constants.d.ts.map +1 -0
  68. package/build/lib/commands/wda/constants.js +25 -0
  69. package/build/lib/commands/wda/constants.js.map +1 -0
  70. package/build/lib/commands/wda/index.d.ts +5 -0
  71. package/build/lib/commands/wda/index.d.ts.map +1 -0
  72. package/build/lib/commands/wda/index.js +28 -0
  73. package/build/lib/commands/wda/index.js.map +1 -0
  74. package/build/lib/commands/wda/startup.d.ts +10 -0
  75. package/build/lib/commands/wda/startup.d.ts.map +1 -0
  76. package/build/lib/commands/wda/startup.js +349 -0
  77. package/build/lib/commands/wda/startup.js.map +1 -0
  78. package/build/lib/commands/wda/stop.d.ts +6 -0
  79. package/build/lib/commands/wda/stop.d.ts.map +1 -0
  80. package/build/lib/commands/wda/stop.js +33 -0
  81. package/build/lib/commands/wda/stop.js.map +1 -0
  82. package/build/lib/commands/web.d.ts.map +1 -1
  83. package/build/lib/commands/web.js +2 -1
  84. package/build/lib/commands/web.js.map +1 -1
  85. package/build/lib/desired-caps.d.ts +0 -2
  86. package/build/lib/desired-caps.d.ts.map +1 -1
  87. package/build/lib/desired-caps.js +3 -5
  88. package/build/lib/desired-caps.js.map +1 -1
  89. package/build/lib/device/real-device-management.d.ts +1 -1
  90. package/build/lib/device/real-device-management.js +1 -1
  91. package/build/lib/device/simulator-management.d.ts.map +1 -1
  92. package/build/lib/device/simulator-management.js +2 -1
  93. package/build/lib/device/simulator-management.js.map +1 -1
  94. package/build/lib/driver.d.ts +7 -3
  95. package/build/lib/driver.d.ts.map +1 -1
  96. package/build/lib/driver.js +26 -309
  97. package/build/lib/driver.js.map +1 -1
  98. package/build/lib/utils/app.d.ts +9 -32
  99. package/build/lib/utils/app.d.ts.map +1 -1
  100. package/build/lib/utils/app.js +4 -469
  101. package/build/lib/utils/app.js.map +1 -1
  102. package/build/lib/utils/index.d.ts +2 -3
  103. package/build/lib/utils/index.d.ts.map +1 -1
  104. package/build/lib/utils/index.js +2 -3
  105. package/build/lib/utils/index.js.map +1 -1
  106. package/build/lib/utils/platform.d.ts +21 -0
  107. package/build/lib/utils/platform.d.ts.map +1 -0
  108. package/build/lib/utils/platform.js +85 -0
  109. package/build/lib/utils/platform.js.map +1 -0
  110. package/build/lib/utils/runtime.d.ts +7 -0
  111. package/build/lib/utils/runtime.d.ts.map +1 -1
  112. package/build/lib/utils/runtime.js +39 -0
  113. package/build/lib/utils/runtime.js.map +1 -1
  114. package/lib/commands/app-install.ts +457 -0
  115. package/lib/commands/app-management.ts +4 -7
  116. package/lib/commands/app-strings.ts +128 -2
  117. package/lib/commands/bidi/models.ts +1 -1
  118. package/lib/commands/biometric.ts +1 -1
  119. package/lib/commands/certificate.ts +2 -1
  120. package/lib/commands/condition.ts +1 -1
  121. package/lib/commands/constants.ts +9 -0
  122. package/lib/commands/content-size.ts +1 -1
  123. package/lib/commands/context.ts +1 -1
  124. package/lib/commands/gesture.ts +1 -1
  125. package/lib/commands/guards.ts +26 -0
  126. package/lib/commands/increase-contrast.ts +1 -1
  127. package/lib/commands/keychains.ts +1 -1
  128. package/lib/commands/localization.ts +1 -1
  129. package/lib/commands/log.ts +2 -1
  130. package/lib/commands/memory.ts +1 -1
  131. package/lib/commands/network-monitor.ts +2 -1
  132. package/lib/commands/notifications.ts +1 -1
  133. package/lib/commands/pasteboard.ts +1 -1
  134. package/lib/commands/permissions.ts +1 -1
  135. package/lib/commands/session.ts +25 -0
  136. package/lib/commands/simctl.ts +1 -1
  137. package/lib/{utils → commands/wda}/cleanup.ts +70 -39
  138. package/lib/commands/wda/constants.ts +25 -0
  139. package/lib/commands/wda/index.ts +9 -0
  140. package/lib/commands/wda/startup.ts +455 -0
  141. package/lib/commands/wda/stop.ts +31 -0
  142. package/lib/commands/web.ts +2 -1
  143. package/lib/desired-caps.ts +1 -4
  144. package/lib/device/real-device-management.ts +1 -1
  145. package/lib/device/simulator-management.ts +2 -1
  146. package/lib/driver.ts +21 -367
  147. package/lib/utils/app.ts +6 -563
  148. package/lib/utils/index.ts +2 -3
  149. package/lib/utils/platform.ts +50 -0
  150. package/lib/utils/runtime.ts +44 -0
  151. package/npm-shrinkwrap.json +19 -20
  152. package/package.json +3 -3
  153. package/scripts/sign-wda.mjs +415 -259
  154. package/build/lib/utils/cleanup.d.ts +0 -7
  155. package/build/lib/utils/cleanup.d.ts.map +0 -1
  156. package/build/lib/utils/cleanup.js.map +0 -1
  157. package/build/lib/utils/driver.d.ts +0 -44
  158. package/build/lib/utils/driver.d.ts.map +0 -1
  159. package/build/lib/utils/driver.js +0 -168
  160. package/build/lib/utils/driver.js.map +0 -1
  161. package/lib/utils/driver.ts +0 -143
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [11.5.0](https://github.com/appium/appium-xcuitest-driver/compare/v11.4.2...v11.5.0) (2026-05-19)
2
+
3
+ ### Features
4
+
5
+ * Bump WDA to ^13.0.0 ([#2842](https://github.com/appium/appium-xcuitest-driver/issues/2842)) ([49b90f2](https://github.com/appium/appium-xcuitest-driver/commit/49b90f2f4734050260c7a1bab9f455a8d564346f))
6
+
7
+ ## [11.4.2](https://github.com/appium/appium-xcuitest-driver/compare/v11.4.1...v11.4.2) (2026-05-15)
8
+
9
+ ### Miscellaneous Chores
10
+
11
+ * Refactor wda signer code ([#2839](https://github.com/appium/appium-xcuitest-driver/issues/2839)) ([3aafb36](https://github.com/appium/appium-xcuitest-driver/commit/3aafb3600a103a129d4b9dd4452e4c9c4e1223b1))
12
+
1
13
  ## [11.4.1](https://github.com/appium/appium-xcuitest-driver/compare/v11.4.0...v11.4.1) (2026-05-15)
2
14
 
3
15
  ### Bug Fixes
@@ -0,0 +1,20 @@
1
+ import type { DownloadAppOptions, PostProcessOptions, PostProcessResult } from '@appium/types';
2
+ import type { XCUITestDriver } from '../driver';
3
+ /**
4
+ * Verify whether the given application is compatible to the
5
+ * platform where it is going to be installed and tested.
6
+ *
7
+ * @throws If bundle architecture does not match the expected device architecture.
8
+ */
9
+ export declare function verifyApplicationPlatform(this: XCUITestDriver): Promise<void>;
10
+ /**
11
+ * The callback invoked by configureApp helper
12
+ * when it is necessary to download the remote application.
13
+ * We assume the remote file could be anythingm, but only
14
+ * .zip and .ipa formats are supported.
15
+ * A .zip archive can contain one or more
16
+ */
17
+ export declare function onDownloadApp(this: XCUITestDriver, opts: DownloadAppOptions): Promise<string>;
18
+ /** Post-processes configured apps and reuses a valid cache entry when possible. */
19
+ export declare function onPostConfigureApp(this: XCUITestDriver, opts: PostProcessOptions): Promise<PostProcessResult | false>;
20
+ //# sourceMappingURL=app-install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-install.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-install.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,kBAAkB,EAElB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAU9C;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgEnF;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,mFAAmF;AACnF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC,CA8DpC"}
@@ -0,0 +1,388 @@
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.verifyApplicationPlatform = verifyApplicationPlatform;
7
+ exports.onDownloadApp = onDownloadApp;
8
+ exports.onPostConfigureApp = onPostConfigureApp;
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const node_os_1 = __importDefault(require("node:os"));
12
+ const node_assert_1 = __importDefault(require("node:assert"));
13
+ const support_1 = require("appium/support");
14
+ const teen_process_1 = require("teen_process");
15
+ const platform_1 = require("../utils/platform");
16
+ const app_1 = require("../utils/app");
17
+ const constants_1 = require("./constants");
18
+ const ZIP_EXT = '.zip';
19
+ const SANITIZE_REPLACEMENT = '-';
20
+ const INTEL_ARCH = 'x86_64';
21
+ const MAX_ARCHIVE_SCAN_DEPTH = 1;
22
+ /**
23
+ * Verify whether the given application is compatible to the
24
+ * platform where it is going to be installed and tested.
25
+ *
26
+ * @throws If bundle architecture does not match the expected device architecture.
27
+ */
28
+ async function verifyApplicationPlatform() {
29
+ this.log.debug('Verifying application platform');
30
+ if (!this.opts.app) {
31
+ return;
32
+ }
33
+ const supportedPlatforms = await this.appInfosCache.extractAppPlatforms(this.opts.app);
34
+ const isTvOS = (0, platform_1.isTvOs)(this.opts.platformName);
35
+ const prefix = isTvOS ? 'AppleTV' : 'iPhone';
36
+ const suffix = this.isSimulator() ? 'Simulator' : 'OS';
37
+ const dstPlatform = `${prefix}${suffix}`;
38
+ if (!supportedPlatforms.includes(dstPlatform)) {
39
+ throw new Error(`${this.isSimulator() ? 'Simulator' : 'Real device'} architecture is not supported by the ${this.opts.bundleId} application. ` +
40
+ `Make sure the correct deployment target has been selected for its compilation in Xcode.`);
41
+ }
42
+ if (this.isRealDevice()) {
43
+ return;
44
+ }
45
+ const executablePath = node_path_1.default.resolve(this.opts.app, await this.appInfosCache.extractExecutableName(this.opts.app));
46
+ const [resFile, resUname] = await Promise.all([
47
+ (0, teen_process_1.exec)('lipo', ['-info', executablePath]),
48
+ (0, teen_process_1.exec)('uname', ['-m']),
49
+ ]);
50
+ const bundleExecutableInfo = lodash_1.default.trim(resFile.stdout);
51
+ this.log.debug(bundleExecutableInfo);
52
+ const processArch = lodash_1.default.trim(resUname.stdout);
53
+ this.log.debug(`Current process architecture: ${processArch}`);
54
+ const isAppleSiliconCpu = isAppleSilicon();
55
+ this.log.debug(`Is Apple Silicon CPU: ${isAppleSiliconCpu}`);
56
+ if (isAppleSiliconCpu && processArch === INTEL_ARCH) {
57
+ this.log.warn(`It looks like the Appium server process is running under Rosetta emulation. ` +
58
+ `This might lead to various performance/compatibility issues while running tests on Simulator. ` +
59
+ `Consider using binaries compiled natively for the ARM64 architecture to run Appium server ` +
60
+ `with this driver.`);
61
+ }
62
+ if (lodash_1.default.includes(bundleExecutableInfo, processArch)) {
63
+ return;
64
+ }
65
+ const hasRosetta = isAppleSiliconCpu && (await isRosettaInstalled());
66
+ const isIntelApp = lodash_1.default.includes(bundleExecutableInfo, INTEL_ARCH);
67
+ // We cannot run Simulator builds compiled for arm64 on Intel machines
68
+ // Rosetta allows only to run Intel ones on arm64
69
+ if ((isIntelApp && (!isAppleSiliconCpu || hasRosetta)) || (!isIntelApp && isAppleSiliconCpu)) {
70
+ return;
71
+ }
72
+ const advice = isIntelApp && isAppleSiliconCpu && !hasRosetta
73
+ ? `Please install Rosetta and try again.`
74
+ : `Please rebuild your application to support the ${processArch} platform.`;
75
+ throw new Error(`The ${this.opts.bundleId} application does not support the ${processArch} Simulator ` +
76
+ `architecture:\n${bundleExecutableInfo}\n\n${advice}`);
77
+ }
78
+ /**
79
+ * The callback invoked by configureApp helper
80
+ * when it is necessary to download the remote application.
81
+ * We assume the remote file could be anythingm, but only
82
+ * .zip and .ipa formats are supported.
83
+ * A .zip archive can contain one or more
84
+ */
85
+ async function onDownloadApp(opts) {
86
+ return this.isRealDevice()
87
+ ? await downloadIpa.bind(this)(opts.stream, opts.headers)
88
+ : await unzipApp.bind(this)(opts.stream);
89
+ }
90
+ /** Post-processes configured apps and reuses a valid cache entry when possible. */
91
+ async function onPostConfigureApp(opts) {
92
+ // Pick the previously cached entry if its integrity has been preserved
93
+ const appInfo = lodash_1.default.isPlainObject(opts.cachedAppInfo)
94
+ ? opts.cachedAppInfo
95
+ : undefined;
96
+ const cachedPath = appInfo ? appInfo.fullPath : undefined;
97
+ const shouldUseCachedApp = async () => {
98
+ if (!appInfo || !cachedPath || !(await support_1.fs.exists(cachedPath))) {
99
+ return false;
100
+ }
101
+ const isCachedPathAFile = (await support_1.fs.stat(cachedPath)).isFile();
102
+ if (isCachedPathAFile) {
103
+ return (await support_1.fs.hash(cachedPath)) === appInfo.integrity?.file;
104
+ }
105
+ // If the cached path is a folder then it is expected to be previously extracted from
106
+ // an archive located under appPath whose hash is stored as `cachedAppInfo.packageHash`
107
+ if (!isCachedPathAFile &&
108
+ opts.cachedAppInfo?.packageHash &&
109
+ opts.appPath &&
110
+ (await support_1.fs.exists(opts.appPath)) &&
111
+ (await support_1.fs.stat(opts.appPath)).isFile() &&
112
+ opts.cachedAppInfo.packageHash === (await support_1.fs.hash(opts.appPath))) {
113
+ const nestedItemsCountInCache = appInfo.integrity?.folder;
114
+ if (nestedItemsCountInCache !== undefined) {
115
+ return (await support_1.fs.glob('**/*', { cwd: cachedPath })).length >= nestedItemsCountInCache;
116
+ }
117
+ }
118
+ return false;
119
+ };
120
+ if (await shouldUseCachedApp()) {
121
+ if (!cachedPath) {
122
+ return false;
123
+ }
124
+ this.log.info(`Using '${cachedPath}' which was cached from '${opts.appPath || 'unknown'}'`);
125
+ return { appPath: cachedPath };
126
+ }
127
+ if (!opts.appPath) {
128
+ return false;
129
+ }
130
+ const isLocalIpa = await isIpaBundle(opts.appPath);
131
+ const isLocalApp = !isLocalIpa && (await isAppBundle(opts.appPath));
132
+ const isPackageReadyForInstall = isLocalApp || (this.isRealDevice() && isLocalIpa);
133
+ if (isPackageReadyForInstall) {
134
+ await this.appInfosCache.put(opts.appPath);
135
+ }
136
+ // Only local .app bundles (real device/Simulator)
137
+ // and .ipa packages for real devices should not be cached
138
+ if (!opts.isUrl && isPackageReadyForInstall) {
139
+ return false;
140
+ }
141
+ // Cache the app while unpacking the bundle if necessary
142
+ return {
143
+ appPath: isPackageReadyForInstall ? opts.appPath : await unzipApp.bind(this)(opts.appPath),
144
+ };
145
+ }
146
+ // Private functions
147
+ /**
148
+ * Check whether the given path on the file system points to the .app bundle root
149
+ *
150
+ * @param appPath Possible .app bundle root
151
+ * @returns Whether the given path points to an .app bundle
152
+ */
153
+ async function isAppBundle(appPath) {
154
+ return (lodash_1.default.endsWith(lodash_1.default.toLower(appPath), constants_1.APP_EXT) &&
155
+ (await support_1.fs.stat(appPath)).isDirectory() &&
156
+ (await support_1.fs.exists(node_path_1.default.join(appPath, 'Info.plist'))));
157
+ }
158
+ /**
159
+ * Check whether the given path on the file system points to the .ipa file
160
+ *
161
+ * @param appPath Possible .ipa file
162
+ * @returns Whether the given path points to an .ipa bundle
163
+ */
164
+ async function isIpaBundle(appPath) {
165
+ return lodash_1.default.endsWith(lodash_1.default.toLower(appPath), constants_1.IPA_EXT) && (await support_1.fs.stat(appPath)).isFile();
166
+ }
167
+ /**
168
+ * Used to parse the file name value from response headers
169
+ */
170
+ function parseFileName(headers) {
171
+ const contentDisposition = headers['content-disposition'];
172
+ if (!lodash_1.default.isString(contentDisposition)) {
173
+ return null;
174
+ }
175
+ if (/^attachment/i.test(contentDisposition)) {
176
+ const match = /filename="([^"]+)/i.exec(contentDisposition);
177
+ if (match) {
178
+ return support_1.fs.sanitizeName(match[1], { replacement: SANITIZE_REPLACEMENT });
179
+ }
180
+ }
181
+ return null;
182
+ }
183
+ /**
184
+ * Downloads and verifies remote applications for real devices
185
+ */
186
+ async function downloadIpa(stream, headers) {
187
+ const timer = new support_1.timing.Timer().start();
188
+ const logPerformance = (dstPath, fileSize, action) => {
189
+ const secondsElapsed = timer.getDuration().asSeconds;
190
+ this.log.info(`The remote file (${support_1.util.toReadableSizeString(fileSize)}) ` +
191
+ `has been ${action} to '${dstPath}' in ${secondsElapsed.toFixed(3)}s`);
192
+ if (secondsElapsed >= 1) {
193
+ const bytesPerSec = Math.floor(fileSize / secondsElapsed);
194
+ this.log.debug(`Approximate speed: ${support_1.util.toReadableSizeString(bytesPerSec)}/s`);
195
+ }
196
+ };
197
+ // Check if the file to be downloaded is a .zip rather than .ipa
198
+ const fileName = parseFileName(headers) ?? `appium-app-${new Date().getTime()}${constants_1.IPA_EXT}`;
199
+ if (fileName.toLowerCase().endsWith(ZIP_EXT)) {
200
+ const { rootDir, archiveSize } = await (0, app_1.unzipStream)(stream);
201
+ logPerformance(rootDir, archiveSize, 'downloaded and unzipped');
202
+ try {
203
+ const matchedPaths = await findApps(rootDir, [constants_1.IPA_EXT]);
204
+ if (!lodash_1.default.isEmpty(matchedPaths)) {
205
+ this.log.debug(`Found ${support_1.util.pluralize(`${constants_1.IPA_EXT} application`, matchedPaths.length, true)} in ` +
206
+ `'${node_path_1.default.basename(rootDir)}': ${matchedPaths}`);
207
+ }
208
+ for (const matchedPath of matchedPaths) {
209
+ try {
210
+ await this.appInfosCache.put(matchedPath);
211
+ }
212
+ catch (e) {
213
+ this.log.info(e.message);
214
+ continue;
215
+ }
216
+ this.log.debug(`Selecting the application at '${matchedPath}'`);
217
+ const isolatedPath = node_path_1.default.join(await support_1.tempDir.openDir(), node_path_1.default.basename(matchedPath));
218
+ await support_1.fs.mv(matchedPath, isolatedPath);
219
+ return isolatedPath;
220
+ }
221
+ throw new Error(`The remote archive does not contain any valid ${constants_1.IPA_EXT} applications`);
222
+ }
223
+ finally {
224
+ await support_1.fs.rimraf(rootDir);
225
+ }
226
+ }
227
+ const ipaPath = await support_1.tempDir.path({
228
+ prefix: fileName,
229
+ suffix: fileName.toLowerCase().endsWith(constants_1.IPA_EXT) ? '' : constants_1.IPA_EXT,
230
+ });
231
+ try {
232
+ const writer = support_1.fs.createWriteStream(ipaPath);
233
+ stream.pipe(writer);
234
+ await new Promise((resolve, reject) => {
235
+ stream.once('error', reject);
236
+ writer.once('finish', resolve);
237
+ writer.once('error', (e) => {
238
+ stream.unpipe(writer);
239
+ reject(e);
240
+ });
241
+ });
242
+ }
243
+ catch (err) {
244
+ throw new Error(`Cannot fetch the remote file: ${err.message}`, { cause: err });
245
+ }
246
+ const { size } = await support_1.fs.stat(ipaPath);
247
+ logPerformance(ipaPath, size, 'downloaded');
248
+ try {
249
+ await this.appInfosCache.put(ipaPath);
250
+ }
251
+ catch (e) {
252
+ await support_1.fs.rimraf(ipaPath);
253
+ throw e;
254
+ }
255
+ return ipaPath;
256
+ }
257
+ /**
258
+ * Looks for items with given extensions in the given folder
259
+ *
260
+ * @param appPath Full path to an app bundle
261
+ * @param appExtensions List of matching item extensions
262
+ * @returns List of relative paths to matched items
263
+ */
264
+ async function findApps(appPath, appExtensions) {
265
+ const globPattern = `**/*.+(${appExtensions.map((ext) => ext.replace(/^\./, '')).join('|')})`;
266
+ const sortedBundleItems = (await support_1.fs.glob(globPattern, {
267
+ cwd: appPath,
268
+ })).sort((a, b) => a.split(node_path_1.default.sep).length - b.split(node_path_1.default.sep).length);
269
+ return sortedBundleItems;
270
+ }
271
+ /**
272
+ * Moves the application bundle to a newly created temporary folder
273
+ *
274
+ * @param appPath Full path to the .app or .ipa bundle
275
+ * @returns The new path to the app bundle.
276
+ * The name of the app bundle remains the same
277
+ */
278
+ async function isolateApp(appPath) {
279
+ const appFileName = node_path_1.default.basename(appPath);
280
+ if ((await support_1.fs.stat(appPath)).isFile()) {
281
+ const isolatedPath = await support_1.tempDir.path({
282
+ prefix: appFileName,
283
+ suffix: '',
284
+ });
285
+ await support_1.fs.mv(appPath, isolatedPath, { mkdirp: true });
286
+ return isolatedPath;
287
+ }
288
+ const tmpRoot = await support_1.tempDir.openDir();
289
+ const isolatedRoot = node_path_1.default.join(tmpRoot, appFileName);
290
+ await support_1.fs.mv(appPath, isolatedRoot, { mkdirp: true });
291
+ return isolatedRoot;
292
+ }
293
+ /**
294
+ * Unzip the given archive and find a matching .app bundle in it
295
+ *
296
+ * @param appPathOrZipStream The path to the archive.
297
+ * @param depth [0] the current nesting depth. App bundles whose nesting level
298
+ * is greater than 1 are not supported.
299
+ * @returns Full path to the first matching .app bundle..
300
+ * @throws If no matching .app bundles were found in the provided archive.
301
+ */
302
+ async function unzipApp(appPathOrZipStream, depth = 0) {
303
+ const errMsg = `The archive did not have any matching ${constants_1.APP_EXT} or ${constants_1.IPA_EXT} ` +
304
+ `bundles. Please make sure the provided package is valid and contains at least one matching ` +
305
+ `application bundle which is not nested.`;
306
+ if (depth > MAX_ARCHIVE_SCAN_DEPTH) {
307
+ throw new Error(errMsg);
308
+ }
309
+ const timer = new support_1.timing.Timer().start();
310
+ let rootDir;
311
+ let archiveSize;
312
+ try {
313
+ if (lodash_1.default.isString(appPathOrZipStream)) {
314
+ ({ rootDir, archiveSize } = await (0, app_1.unzipFile)(appPathOrZipStream));
315
+ }
316
+ else {
317
+ if (depth > 0) {
318
+ node_assert_1.default.fail('Streaming unzip cannot be invoked for nested archive items');
319
+ }
320
+ ({ rootDir, archiveSize } = await (0, app_1.unzipStream)(appPathOrZipStream));
321
+ }
322
+ }
323
+ catch (e) {
324
+ this.log.debug(e.stack);
325
+ throw new Error(`Cannot prepare the application for testing. Original error: ${e.message}`, {
326
+ cause: e,
327
+ });
328
+ }
329
+ const secondsElapsed = timer.getDuration().asSeconds;
330
+ this.log.info(`The file (${support_1.util.toReadableSizeString(archiveSize)}) ` +
331
+ `has been ${lodash_1.default.isString(appPathOrZipStream) ? 'extracted' : 'downloaded and extracted'} ` +
332
+ `to '${rootDir}' in ${secondsElapsed.toFixed(3)}s`);
333
+ // it does not make much sense to approximate the speed for short downloads
334
+ if (secondsElapsed >= 1) {
335
+ const bytesPerSec = Math.floor(archiveSize / secondsElapsed);
336
+ this.log.debug(`Approximate decompression speed: ${support_1.util.toReadableSizeString(bytesPerSec)}/s`);
337
+ }
338
+ const isCompatibleWithCurrentPlatform = async (appPath) => {
339
+ let platforms;
340
+ try {
341
+ platforms = await this.appInfosCache.extractAppPlatforms(appPath);
342
+ }
343
+ catch (e) {
344
+ this.log.info(e.message);
345
+ return false;
346
+ }
347
+ if (this.isSimulator() && !platforms.some((p) => lodash_1.default.includes(p, 'Simulator'))) {
348
+ this.log.info(`'${appPath}' does not have Simulator devices in the list of supported platforms ` +
349
+ `(${platforms.join(',')}). Skipping it`);
350
+ return false;
351
+ }
352
+ if (this.isRealDevice() && !platforms.some((p) => lodash_1.default.includes(p, 'OS'))) {
353
+ this.log.info(`'${appPath}' does not have real devices in the list of supported platforms ` +
354
+ `(${platforms.join(',')}). Skipping it`);
355
+ return false;
356
+ }
357
+ return true;
358
+ };
359
+ const matchedPaths = await findApps(rootDir, constants_1.SUPPORTED_EXTENSIONS);
360
+ if (lodash_1.default.isEmpty(matchedPaths)) {
361
+ this.log.debug(`'${node_path_1.default.basename(rootDir)}' has no bundles`);
362
+ }
363
+ else {
364
+ this.log.debug(`Found ${support_1.util.pluralize('bundle', matchedPaths.length, true)} in ` +
365
+ `'${node_path_1.default.basename(rootDir)}': ${matchedPaths}`);
366
+ }
367
+ try {
368
+ for (const matchedPath of matchedPaths) {
369
+ const fullPath = node_path_1.default.join(rootDir, matchedPath);
370
+ if (((await isAppBundle(fullPath)) || (this.isRealDevice() && (await isIpaBundle(fullPath)))) &&
371
+ (await isCompatibleWithCurrentPlatform(fullPath))) {
372
+ this.log.debug(`Selecting the application at '${matchedPath}'`);
373
+ return await isolateApp(fullPath);
374
+ }
375
+ }
376
+ }
377
+ finally {
378
+ await support_1.fs.rimraf(rootDir);
379
+ }
380
+ throw new Error(errMsg);
381
+ }
382
+ async function isRosettaInstalled() {
383
+ return await support_1.fs.exists('/Library/Apple/usr/share/rosetta/rosetta');
384
+ }
385
+ function isAppleSilicon() {
386
+ return node_os_1.default.cpus()[0].model.includes('Apple');
387
+ }
388
+ //# sourceMappingURL=app-install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-install.js","sourceRoot":"","sources":["../../../lib/commands/app-install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-management.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-management.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-management.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-management.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,9 @@ const support_1 = require("appium/support");
24
24
  const driver_1 = require("appium/driver");
25
25
  const node_path_1 = __importDefault(require("node:path"));
26
26
  const utils_1 = require("../utils");
27
+ const constants_1 = require("./constants");
28
+ const app_install_1 = require("./app-install");
29
+ const guards_1 = require("./guards");
27
30
  const installation_proxy_client_1 = require("../device/installation-proxy-client");
28
31
  /**
29
32
  * Installs the given application to the device under test.
@@ -38,9 +41,9 @@ const installation_proxy_client_1 = require("../device/installation-proxy-client
38
41
  */
39
42
  async function mobileInstallApp(app, timeoutMs, checkVersion) {
40
43
  const srcAppPath = await this.helpers.configureApp(app, {
41
- onPostProcess: utils_1.onPostConfigureApp.bind(this),
42
- onDownload: utils_1.onDownloadApp.bind(this),
43
- supportedExtensions: utils_1.SUPPORTED_EXTENSIONS,
44
+ onPostProcess: app_install_1.onPostConfigureApp.bind(this),
45
+ onDownload: app_install_1.onDownloadApp.bind(this),
46
+ supportedExtensions: constants_1.SUPPORTED_EXTENSIONS,
44
47
  });
45
48
  this.log.info(`Installing '${srcAppPath}' to the ${this.isRealDevice() ? 'real device' : 'Simulator'} ` +
46
49
  `with UDID '${this.device.udid}'`);
@@ -146,7 +149,7 @@ async function mobileActivateApp(bundleId) {
146
149
  * @group Real Device Only
147
150
  */
148
151
  async function mobileKillApp(bundleId) {
149
- return await (0, utils_1.requireRealDevice)(this, 'Killing app').terminateApp(bundleId);
152
+ return await (0, guards_1.requireRealDevice)(this, 'Killing app').terminateApp(bundleId);
150
153
  }
151
154
  /**
152
155
  * Queries the state of an installed application from the device under test.
@@ -239,7 +242,7 @@ async function queryAppState(bundleId) {
239
242
  * @group Real Device Only
240
243
  */
241
244
  async function mobileListApps(applicationType = 'User', returnAttributes) {
242
- const device = (0, utils_1.requireRealDevice)(this, 'Listing apps');
245
+ const device = (0, guards_1.requireRealDevice)(this, 'Listing apps');
243
246
  const useRemoteXPC = (0, utils_1.isIos18OrNewer)(this.opts);
244
247
  const client = await installation_proxy_client_1.InstallationProxyClient.create(device.udid, useRemoteXPC);
245
248
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"app-management.js","sourceRoot":"","sources":["../../../lib/commands/app-management.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-management.js","sourceRoot":"","sources":["../../../lib/commands/app-management.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
- import type { XCUITestDriver } from '../driver';
2
1
  import type { StringRecord } from '@appium/types';
2
+ import type { XCUITestDriver } from '../driver';
3
+ export interface LocalizableStringsOptions {
4
+ app?: string;
5
+ language?: string;
6
+ localizableStringsDir?: string;
7
+ stringFile?: string;
8
+ strictMode?: boolean;
9
+ }
10
+ /**
11
+ * Extracts string resources from an app
12
+ */
13
+ export declare function parseLocalizableStrings(this: XCUITestDriver, opts?: LocalizableStringsOptions): Promise<StringRecord>;
3
14
  /**
4
15
  * Return the language-specific strings for an app
5
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"app-strings.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-strings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAAM,GAAG,IAAW,GAC/B,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAQ/B"}
1
+ {"version":3,"file":"app-strings.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-strings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAO9C,MAAM,WAAW,yBAAyB;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,cAAc,EACpB,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,YAAY,CAAC,CA+FvB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAAM,GAAG,IAAW,GAC/B,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAQ/B"}