appium-xcuitest-driver 10.10.0 → 10.11.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.
- package/CHANGELOG.md +12 -0
- package/build/lib/app-infos-cache.d.ts +29 -31
- package/build/lib/app-infos-cache.d.ts.map +1 -1
- package/build/lib/app-infos-cache.js +29 -33
- package/build/lib/app-infos-cache.js.map +1 -1
- package/build/lib/app-utils.d.ts +30 -59
- package/build/lib/app-utils.d.ts.map +1 -1
- package/build/lib/app-utils.js +158 -211
- package/build/lib/app-utils.js.map +1 -1
- package/build/lib/commands/battery.d.ts.map +1 -1
- package/build/lib/commands/battery.js +4 -8
- package/build/lib/commands/battery.js.map +1 -1
- package/build/lib/commands/biometric.d.ts.map +1 -1
- package/build/lib/commands/biometric.js +1 -5
- package/build/lib/commands/biometric.js.map +1 -1
- package/build/lib/commands/condition.js +4 -4
- package/build/lib/commands/condition.js.map +1 -1
- package/build/lib/commands/content-size.js +1 -1
- package/build/lib/commands/content-size.js.map +1 -1
- package/build/lib/commands/find.js +2 -2
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/increase-contrast.js +1 -1
- package/build/lib/commands/increase-contrast.js.map +1 -1
- package/build/lib/commands/keychains.d.ts.map +1 -1
- package/build/lib/commands/keychains.js +1 -5
- package/build/lib/commands/keychains.js.map +1 -1
- package/build/lib/commands/localization.d.ts.map +1 -1
- package/build/lib/commands/localization.js +1 -5
- package/build/lib/commands/localization.js.map +1 -1
- package/build/lib/commands/pasteboard.d.ts.map +1 -1
- package/build/lib/commands/pasteboard.js +10 -8
- package/build/lib/commands/pasteboard.js.map +1 -1
- package/build/lib/commands/permissions.js +1 -1
- package/build/lib/commands/permissions.js.map +1 -1
- package/build/lib/css-converter.d.ts +3 -9
- package/build/lib/css-converter.d.ts.map +1 -1
- package/build/lib/css-converter.js +41 -52
- package/build/lib/css-converter.js.map +1 -1
- package/build/lib/device/real-device-management.js +14 -14
- package/build/lib/device/real-device-management.js.map +1 -1
- package/build/lib/device/simulator-management.d.ts.map +1 -1
- package/build/lib/device/simulator-management.js +8 -4
- package/build/lib/device/simulator-management.js.map +1 -1
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +3 -3
- package/build/lib/driver.js.map +1 -1
- package/build/lib/logger.d.ts +1 -2
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +2 -2
- package/build/lib/logger.js.map +1 -1
- package/build/lib/utils.d.ts +76 -134
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +80 -141
- package/build/lib/utils.js.map +1 -1
- package/lib/{app-infos-cache.js → app-infos-cache.ts} +44 -46
- package/lib/{app-utils.js → app-utils.ts} +215 -245
- package/lib/commands/battery.js +3 -4
- package/lib/commands/biometric.js +1 -2
- package/lib/commands/condition.js +1 -1
- package/lib/commands/content-size.js +1 -1
- package/lib/commands/find.js +1 -1
- package/lib/commands/increase-contrast.js +1 -1
- package/lib/commands/keychains.js +1 -2
- package/lib/commands/localization.js +1 -2
- package/lib/commands/pasteboard.js +9 -8
- package/lib/commands/permissions.js +1 -1
- package/lib/{css-converter.js → css-converter.ts} +75 -88
- package/lib/device/real-device-management.ts +1 -1
- package/lib/device/simulator-management.ts +9 -4
- package/lib/driver.ts +6 -4
- package/lib/logger.ts +3 -0
- package/lib/{utils.js → utils.ts} +102 -139
- package/npm-shrinkwrap.json +38 -32
- package/package.json +3 -3
- package/lib/logger.js +0 -5
package/build/lib/utils.js
CHANGED
|
@@ -36,27 +36,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
40
|
-
exports.removeAllSessionWebSocketHandlers = removeAllSessionWebSocketHandlers;
|
|
41
|
-
exports.assertSimulator = assertSimulator;
|
|
42
|
-
exports.isTvOs = isTvOs;
|
|
43
|
-
exports.normalizePlatformName = normalizePlatformName;
|
|
44
|
-
exports.shouldSetInitialSafariUrl = shouldSetInitialSafariUrl;
|
|
45
|
-
exports.isIos17OrNewer = isIos17OrNewer;
|
|
46
|
-
exports.isIos18OrNewer = isIos18OrNewer;
|
|
39
|
+
exports.getDriverInfo = exports.NATIVE_WIN = exports.DEFAULT_TIMEOUT_KEY = exports.UDID_AUTO = void 0;
|
|
47
40
|
exports.getAndCheckXcodeVersion = getAndCheckXcodeVersion;
|
|
48
41
|
exports.getAndCheckIosSdkVersion = getAndCheckIosSdkVersion;
|
|
49
|
-
exports.
|
|
42
|
+
exports.clearLogs = clearLogs;
|
|
43
|
+
exports.markSystemFilesForCleanup = markSystemFilesForCleanup;
|
|
50
44
|
exports.clearSystemFiles = clearSystemFiles;
|
|
45
|
+
exports.checkAppPresent = checkAppPresent;
|
|
51
46
|
exports.normalizeCommandTimeouts = normalizeCommandTimeouts;
|
|
52
|
-
exports.markSystemFilesForCleanup = markSystemFilesForCleanup;
|
|
53
47
|
exports.printUser = printUser;
|
|
54
48
|
exports.getPIDsListeningOnPort = getPIDsListeningOnPort;
|
|
55
49
|
exports.encodeBase64OrUpload = encodeBase64OrUpload;
|
|
50
|
+
exports.removeAllSessionWebSocketHandlers = removeAllSessionWebSocketHandlers;
|
|
56
51
|
exports.isLocalHost = isLocalHost;
|
|
57
52
|
exports.normalizePlatformVersion = normalizePlatformVersion;
|
|
58
|
-
exports.clearLogs = clearLogs;
|
|
59
53
|
exports.requireArgs = requireArgs;
|
|
54
|
+
exports.assertSimulator = assertSimulator;
|
|
55
|
+
exports.isTvOs = isTvOs;
|
|
56
|
+
exports.normalizePlatformName = normalizePlatformName;
|
|
57
|
+
exports.shouldSetInitialSafariUrl = shouldSetInitialSafariUrl;
|
|
58
|
+
exports.isIos17OrNewer = isIos17OrNewer;
|
|
59
|
+
exports.isIos18OrNewer = isIos18OrNewer;
|
|
60
60
|
const xcode = __importStar(require("appium-xcode"));
|
|
61
61
|
const driver_1 = require("appium/driver");
|
|
62
62
|
const support_1 = require("appium/support");
|
|
@@ -67,57 +67,35 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
67
67
|
const node_url_1 = __importDefault(require("node:url"));
|
|
68
68
|
const semver = __importStar(require("semver"));
|
|
69
69
|
const teen_process_1 = require("teen_process");
|
|
70
|
-
const logger_1 =
|
|
70
|
+
const logger_1 = require("./logger");
|
|
71
71
|
const desired_caps_1 = require("./desired-caps");
|
|
72
72
|
exports.UDID_AUTO = 'auto';
|
|
73
73
|
const MODULE_NAME = 'appium-xcuitest-driver';
|
|
74
|
-
|
|
75
|
-
exports.DEFAULT_TIMEOUT_KEY = DEFAULT_TIMEOUT_KEY;
|
|
74
|
+
exports.DEFAULT_TIMEOUT_KEY = 'default';
|
|
76
75
|
const XCTEST_LOG_FILES_PATTERNS = [
|
|
77
76
|
/^Session-WebDriverAgentRunner.*\.log$/i,
|
|
78
77
|
/^StandardOutputAndStandardError\.txt$/i,
|
|
79
78
|
];
|
|
80
79
|
const XCTEST_LOGS_CACHE_FOLDER_PREFIX = 'com.apple.dt.XCTest';
|
|
81
80
|
exports.NATIVE_WIN = 'NATIVE_APP';
|
|
82
|
-
/**
|
|
83
|
-
* @privateRemarks Is the minimum version really Xcode 7.3?
|
|
84
|
-
* @returns {Promise<XcodeVersion>}
|
|
85
|
-
*/
|
|
86
81
|
async function getAndCheckXcodeVersion() {
|
|
87
|
-
/** @type {XcodeVersion} */
|
|
88
|
-
let version;
|
|
89
82
|
try {
|
|
90
|
-
|
|
83
|
+
return await xcode.getVersion(true);
|
|
91
84
|
}
|
|
92
85
|
catch (err) {
|
|
93
|
-
logger_1.
|
|
94
|
-
throw new Error(`Could not determine Xcode version: ${err.message}`);
|
|
95
|
-
}
|
|
96
|
-
// we do not support Xcodes < 7.3,
|
|
97
|
-
if (version.versionFloat < 7.3) {
|
|
98
|
-
const msg = `Xcode ${version.versionString} is not supported. Please upgrade to version 7.3 or higher`;
|
|
99
|
-
logger_1.default.error(msg);
|
|
100
|
-
throw new Error(msg);
|
|
86
|
+
throw logger_1.log.errorWithException(`Could not determine Xcode version: ${err.message}`);
|
|
101
87
|
}
|
|
102
|
-
return version;
|
|
103
88
|
}
|
|
104
|
-
/**
|
|
105
|
-
* @returns {Promise<string|null>}
|
|
106
|
-
*/
|
|
107
89
|
async function getAndCheckIosSdkVersion() {
|
|
108
90
|
try {
|
|
109
91
|
return await xcode.getMaxIOSSDK();
|
|
110
92
|
}
|
|
111
93
|
catch (err) {
|
|
112
|
-
throw logger_1.
|
|
94
|
+
throw logger_1.log.errorWithException(`Could not determine iOS SDK version: ${err.message}`);
|
|
113
95
|
}
|
|
114
96
|
}
|
|
115
|
-
/**
|
|
116
|
-
* @param {string[]} locations
|
|
117
|
-
* @returns {Promise<void>}
|
|
118
|
-
*/
|
|
119
97
|
async function clearLogs(locations) {
|
|
120
|
-
logger_1.
|
|
98
|
+
logger_1.log.debug('Clearing log files');
|
|
121
99
|
const cleanupPromises = [];
|
|
122
100
|
for (const location of locations) {
|
|
123
101
|
if (!(await support_1.fs.exists(location))) {
|
|
@@ -131,18 +109,18 @@ async function clearLogs(locations) {
|
|
|
131
109
|
}
|
|
132
110
|
catch { }
|
|
133
111
|
try {
|
|
134
|
-
logger_1.
|
|
112
|
+
logger_1.log.debug(`Deleting '${location}'. ${size ? `Freeing ${size}.` : ''}`);
|
|
135
113
|
await support_1.fs.rimraf(location);
|
|
136
114
|
}
|
|
137
115
|
catch (err) {
|
|
138
|
-
logger_1.
|
|
116
|
+
logger_1.log.warn(`Unable to delete '${location}': ${err.message}`);
|
|
139
117
|
}
|
|
140
118
|
})());
|
|
141
119
|
}
|
|
142
120
|
if (!lodash_1.default.isEmpty(cleanupPromises)) {
|
|
143
121
|
await bluebird_1.default.all(cleanupPromises);
|
|
144
122
|
}
|
|
145
|
-
logger_1.
|
|
123
|
+
logger_1.log.debug('Finished clearing log files');
|
|
146
124
|
}
|
|
147
125
|
// This map contains derived data logs folders as keys
|
|
148
126
|
// and values are the count of times the particular
|
|
@@ -150,28 +128,30 @@ async function clearLogs(locations) {
|
|
|
150
128
|
const derivedDataCleanupMarkers = new Map();
|
|
151
129
|
async function markSystemFilesForCleanup(wda) {
|
|
152
130
|
if (!wda || !(await wda.retrieveDerivedDataPath())) {
|
|
153
|
-
logger_1.
|
|
131
|
+
logger_1.log.warn('No WebDriverAgent derived data available, so unable to mark system files for cleanup');
|
|
154
132
|
return;
|
|
155
133
|
}
|
|
156
134
|
const logsRoot = node_path_1.default.resolve(await wda.retrieveDerivedDataPath(), 'Logs');
|
|
157
135
|
let markersCount = 0;
|
|
158
|
-
|
|
159
|
-
|
|
136
|
+
const existingCount = derivedDataCleanupMarkers.get(logsRoot);
|
|
137
|
+
if (existingCount !== undefined) {
|
|
138
|
+
markersCount = existingCount;
|
|
160
139
|
}
|
|
161
140
|
derivedDataCleanupMarkers.set(logsRoot, ++markersCount);
|
|
162
141
|
}
|
|
163
142
|
async function clearSystemFiles(wda) {
|
|
164
143
|
// only want to clear the system files for the particular WDA xcode run
|
|
165
144
|
if (!wda || !(await wda.retrieveDerivedDataPath())) {
|
|
166
|
-
logger_1.
|
|
145
|
+
logger_1.log.warn('No WebDriverAgent derived data available, so unable to clear system files');
|
|
167
146
|
return;
|
|
168
147
|
}
|
|
169
148
|
const logsRoot = node_path_1.default.resolve(await wda.retrieveDerivedDataPath(), 'Logs');
|
|
170
|
-
|
|
171
|
-
|
|
149
|
+
const existingCount = derivedDataCleanupMarkers.get(logsRoot);
|
|
150
|
+
if (existingCount !== undefined) {
|
|
151
|
+
let markersCount = existingCount;
|
|
172
152
|
derivedDataCleanupMarkers.set(logsRoot, --markersCount);
|
|
173
153
|
if (markersCount > 0) {
|
|
174
|
-
logger_1.
|
|
154
|
+
logger_1.log.info(`Not cleaning '${logsRoot}' folder, because the other session does not expect it to be cleaned`);
|
|
175
155
|
return;
|
|
176
156
|
}
|
|
177
157
|
}
|
|
@@ -180,11 +160,10 @@ async function clearSystemFiles(wda) {
|
|
|
180
160
|
const globPattern = `${node_os_1.default.tmpdir()}/${XCTEST_LOGS_CACHE_FOLDER_PREFIX}*/`;
|
|
181
161
|
const dstFolders = await support_1.fs.glob(globPattern);
|
|
182
162
|
if (lodash_1.default.isEmpty(dstFolders)) {
|
|
183
|
-
logger_1.
|
|
163
|
+
logger_1.log.debug(`Did not find the temporary XCTest logs root at '${globPattern}'`);
|
|
184
164
|
}
|
|
185
165
|
else {
|
|
186
166
|
// perform the cleanup asynchronously
|
|
187
|
-
/** @type {Promise[]} */
|
|
188
167
|
const promises = [];
|
|
189
168
|
for (const dstFolder of dstFolders) {
|
|
190
169
|
const promise = (async () => {
|
|
@@ -200,39 +179,41 @@ async function clearSystemFiles(wda) {
|
|
|
200
179
|
});
|
|
201
180
|
}
|
|
202
181
|
catch (e) {
|
|
203
|
-
logger_1.
|
|
204
|
-
logger_1.
|
|
182
|
+
logger_1.log.debug(e.stack);
|
|
183
|
+
logger_1.log.info(e.message);
|
|
205
184
|
}
|
|
206
185
|
})();
|
|
207
186
|
promises.push(promise);
|
|
208
187
|
}
|
|
209
|
-
logger_1.
|
|
188
|
+
logger_1.log.debug(`Started XCTest logs cleanup in '${dstFolders}'`);
|
|
210
189
|
if (promises.length) {
|
|
211
190
|
await bluebird_1.default.all(promises);
|
|
212
191
|
}
|
|
213
192
|
}
|
|
214
193
|
if (await support_1.fs.exists(logsRoot)) {
|
|
215
|
-
logger_1.
|
|
194
|
+
logger_1.log.info(`Cleaning test logs in '${logsRoot}' folder`);
|
|
216
195
|
await clearLogs([logsRoot]);
|
|
217
196
|
return;
|
|
218
197
|
}
|
|
219
|
-
logger_1.
|
|
198
|
+
logger_1.log.info(`There is no ${logsRoot} folder, so not cleaning files`);
|
|
220
199
|
}
|
|
221
200
|
async function checkAppPresent(app) {
|
|
222
|
-
logger_1.
|
|
201
|
+
logger_1.log.debug(`Checking whether app '${app}' is actually present on file system`);
|
|
223
202
|
if (!(await support_1.fs.exists(app))) {
|
|
224
|
-
throw logger_1.
|
|
203
|
+
throw logger_1.log.errorWithException(`Could not find app at '${app}'`);
|
|
225
204
|
}
|
|
226
|
-
logger_1.
|
|
205
|
+
logger_1.log.debug('App is present');
|
|
227
206
|
}
|
|
228
207
|
/**
|
|
229
208
|
* Reads the content to the current module's package.json
|
|
230
209
|
*
|
|
231
|
-
* @returns
|
|
232
|
-
* @throws
|
|
210
|
+
* @returns The full path to module root
|
|
211
|
+
* @throws If the current module's package.json cannot be determined
|
|
233
212
|
*/
|
|
234
213
|
const getModuleManifest = lodash_1.default.memoize(async function getModuleManifest() {
|
|
235
|
-
|
|
214
|
+
// Start from the directory containing the compiled output (build/lib) or source (lib)
|
|
215
|
+
// and walk up to find package.json
|
|
216
|
+
let currentDir = node_path_1.default.resolve(__dirname, '..');
|
|
236
217
|
let isAtFsRoot = false;
|
|
237
218
|
while (!isAtFsRoot) {
|
|
238
219
|
const manifestPath = node_path_1.default.join(currentDir, 'package.json');
|
|
@@ -245,20 +226,16 @@ const getModuleManifest = lodash_1.default.memoize(async function getModuleManif
|
|
|
245
226
|
}
|
|
246
227
|
}
|
|
247
228
|
catch { }
|
|
248
|
-
|
|
249
|
-
isAtFsRoot = currentDir.length <=
|
|
229
|
+
const parentDir = node_path_1.default.dirname(currentDir);
|
|
230
|
+
isAtFsRoot = currentDir.length <= parentDir.length;
|
|
231
|
+
currentDir = parentDir;
|
|
250
232
|
}
|
|
251
233
|
throw new Error(`Cannot find the package manifest of the ${MODULE_NAME} Node.js module`);
|
|
252
234
|
});
|
|
253
235
|
/**
|
|
254
|
-
* @
|
|
255
|
-
* @property {string} version Driver version string
|
|
256
|
-
* @property {string} built Driver build timestamp
|
|
236
|
+
* @returns
|
|
257
237
|
*/
|
|
258
|
-
|
|
259
|
-
* @returns {DriverInfo}
|
|
260
|
-
*/
|
|
261
|
-
const getDriverInfo = lodash_1.default.memoize(async function getDriverInfo() {
|
|
238
|
+
exports.getDriverInfo = lodash_1.default.memoize(async function getDriverInfo() {
|
|
262
239
|
const [stat, manifest] = await bluebird_1.default.all([
|
|
263
240
|
support_1.fs.stat(node_path_1.default.resolve(__dirname, '..')),
|
|
264
241
|
getModuleManifest(),
|
|
@@ -268,7 +245,6 @@ const getDriverInfo = lodash_1.default.memoize(async function getDriverInfo() {
|
|
|
268
245
|
version: manifest.version,
|
|
269
246
|
};
|
|
270
247
|
});
|
|
271
|
-
exports.getDriverInfo = getDriverInfo;
|
|
272
248
|
function normalizeCommandTimeouts(value) {
|
|
273
249
|
// The value is normalized already
|
|
274
250
|
if (typeof value !== 'string') {
|
|
@@ -277,7 +253,7 @@ function normalizeCommandTimeouts(value) {
|
|
|
277
253
|
let result = {};
|
|
278
254
|
// Use as default timeout for all commands if a single integer value is provided
|
|
279
255
|
if (!isNaN(Number(value))) {
|
|
280
|
-
result[DEFAULT_TIMEOUT_KEY] = lodash_1.default.toInteger(value);
|
|
256
|
+
result[exports.DEFAULT_TIMEOUT_KEY] = lodash_1.default.toInteger(value);
|
|
281
257
|
return result;
|
|
282
258
|
}
|
|
283
259
|
// JSON object has been provided. Let's parse it
|
|
@@ -288,22 +264,22 @@ function normalizeCommandTimeouts(value) {
|
|
|
288
264
|
}
|
|
289
265
|
}
|
|
290
266
|
catch {
|
|
291
|
-
throw logger_1.
|
|
267
|
+
throw logger_1.log.errorWithException(`"commandTimeouts" capability should be a valid JSON object. "${value}" was given instead`);
|
|
292
268
|
}
|
|
293
|
-
for (
|
|
269
|
+
for (const [cmd, timeout] of lodash_1.default.toPairs(result)) {
|
|
294
270
|
if (!lodash_1.default.isInteger(timeout) || timeout <= 0) {
|
|
295
|
-
throw logger_1.
|
|
271
|
+
throw logger_1.log.errorWithException(`The timeout for "${cmd}" should be a valid natural number of milliseconds. "${timeout}" was given instead`);
|
|
296
272
|
}
|
|
297
273
|
}
|
|
298
274
|
return result;
|
|
299
275
|
}
|
|
300
276
|
async function printUser() {
|
|
301
277
|
try {
|
|
302
|
-
|
|
303
|
-
logger_1.
|
|
278
|
+
const { stdout } = await (0, teen_process_1.exec)('whoami');
|
|
279
|
+
logger_1.log.debug(`Current user: '${stdout.trim()}'`);
|
|
304
280
|
}
|
|
305
281
|
catch (err) {
|
|
306
|
-
logger_1.
|
|
282
|
+
logger_1.log.debug(`Unable to get username running server: ${err.message}`);
|
|
307
283
|
}
|
|
308
284
|
}
|
|
309
285
|
/**
|
|
@@ -311,13 +287,13 @@ async function printUser() {
|
|
|
311
287
|
* It is also possible to apply additional filtering based on the
|
|
312
288
|
* process command line.
|
|
313
289
|
*
|
|
314
|
-
* @param
|
|
315
|
-
* @param
|
|
290
|
+
* @param port - The port number.
|
|
291
|
+
* @param filteringFunc - Optional lambda function, which
|
|
316
292
|
* receives command line string of the particular process
|
|
317
293
|
* listening on given port, and is expected to return
|
|
318
294
|
* either true or false to include/exclude the corresponding PID
|
|
319
295
|
* from the resulting array.
|
|
320
|
-
* @returns
|
|
296
|
+
* @returns - the list of matched process ids.
|
|
321
297
|
*/
|
|
322
298
|
async function getPIDsListeningOnPort(port, filteringFunc = null) {
|
|
323
299
|
const result = [];
|
|
@@ -337,37 +313,25 @@ async function getPIDsListeningOnPort(port, filteringFunc = null) {
|
|
|
337
313
|
return await filteringFunc(stdout);
|
|
338
314
|
});
|
|
339
315
|
}
|
|
340
|
-
/**
|
|
341
|
-
* @typedef {Object} UploadOptions
|
|
342
|
-
*
|
|
343
|
-
* @property {string} [user] - The name of the user for the remote authentication. Only works if `remotePath` is provided.
|
|
344
|
-
* @property {string} [pass] - The password for the remote authentication. Only works if `remotePath` is provided.
|
|
345
|
-
* @property {import('axios').Method} [method] - The http multipart upload method name. The 'PUT' one is used by default.
|
|
346
|
-
* Only works if `remotePath` is provided.
|
|
347
|
-
* @property {import('@appium/types').HTTPHeaders} [headers] - Additional headers mapping for multipart http(s) uploads
|
|
348
|
-
* @property {string} [fileFieldName] [file] - The name of the form field, where the file content BLOB should be stored for
|
|
349
|
-
* http(s) uploads
|
|
350
|
-
* @property {Record<string, any> | [string, any][]} [formFields] - Additional form fields for multipart http(s) uploads
|
|
351
|
-
*/
|
|
352
316
|
/**
|
|
353
317
|
* Encodes the given local file to base64 and returns the resulting string
|
|
354
318
|
* or uploads it to a remote server using http/https or ftp protocols
|
|
355
319
|
* if `remotePath` is set
|
|
356
320
|
*
|
|
357
|
-
* @param
|
|
358
|
-
* @param
|
|
321
|
+
* @param localPath - The path to an existing local file
|
|
322
|
+
* @param remotePath - The path to the remote location, where
|
|
359
323
|
* this file should be uploaded
|
|
360
|
-
* @param
|
|
361
|
-
* @returns
|
|
324
|
+
* @param uploadOptions - Set of upload options
|
|
325
|
+
* @returns Either an empty string if the upload was successful or
|
|
362
326
|
* base64-encoded file representation if `remotePath` is falsy
|
|
363
327
|
*/
|
|
364
328
|
async function encodeBase64OrUpload(localPath, remotePath = null, uploadOptions = {}) {
|
|
365
329
|
if (!(await support_1.fs.exists(localPath))) {
|
|
366
|
-
throw logger_1.
|
|
330
|
+
throw logger_1.log.errorWithException(`The file at '${localPath}' does not exist or is not accessible`);
|
|
367
331
|
}
|
|
368
332
|
if (lodash_1.default.isEmpty(remotePath)) {
|
|
369
333
|
const { size } = await support_1.fs.stat(localPath);
|
|
370
|
-
logger_1.
|
|
334
|
+
logger_1.log.debug(`The size of the file is ${support_1.util.toReadableSizeString(size)}`);
|
|
371
335
|
return (await support_1.util.toInMemoryBase64(localPath)).toString();
|
|
372
336
|
}
|
|
373
337
|
const { user, pass, method, headers, fileFieldName, formFields } = uploadOptions;
|
|
@@ -380,7 +344,7 @@ async function encodeBase64OrUpload(localPath, remotePath = null, uploadOptions
|
|
|
380
344
|
if (user && pass) {
|
|
381
345
|
options.auth = { user, pass };
|
|
382
346
|
}
|
|
383
|
-
await support_1.net.uploadFile(localPath,
|
|
347
|
+
await support_1.net.uploadFile(localPath, remotePath, options);
|
|
384
348
|
return '';
|
|
385
349
|
}
|
|
386
350
|
/**
|
|
@@ -388,7 +352,7 @@ async function encodeBase64OrUpload(localPath, remotePath = null, uploadOptions
|
|
|
388
352
|
* in scope of the current session.
|
|
389
353
|
*
|
|
390
354
|
* @this {XCUITestDriver}
|
|
391
|
-
* @returns
|
|
355
|
+
* @returns
|
|
392
356
|
*/
|
|
393
357
|
async function removeAllSessionWebSocketHandlers() {
|
|
394
358
|
if (!this.sessionId || !lodash_1.default.isFunction(this.server?.getWebSocketHandlers)) {
|
|
@@ -401,25 +365,25 @@ async function removeAllSessionWebSocketHandlers() {
|
|
|
401
365
|
}
|
|
402
366
|
/**
|
|
403
367
|
* Returns true if the urlString is localhost
|
|
404
|
-
* @param
|
|
405
|
-
* @returns
|
|
368
|
+
* @param urlString
|
|
369
|
+
* @returns Return true if the urlString is localhost
|
|
406
370
|
*/
|
|
407
371
|
function isLocalHost(urlString) {
|
|
408
372
|
try {
|
|
409
|
-
const hostname =
|
|
373
|
+
const hostname = node_url_1.default.parse(urlString).hostname;
|
|
410
374
|
return ['localhost', '127.0.0.1', '::1', '::ffff:127.0.0.1'].includes(hostname);
|
|
411
375
|
}
|
|
412
376
|
catch {
|
|
413
|
-
logger_1.
|
|
377
|
+
logger_1.log.warn(`'${urlString}' cannot be parsed as a valid URL`);
|
|
414
378
|
}
|
|
415
379
|
return false;
|
|
416
380
|
}
|
|
417
381
|
/**
|
|
418
382
|
* Normalizes platformVersion to a valid iOS version string
|
|
419
383
|
*
|
|
420
|
-
* @param
|
|
421
|
-
* @return
|
|
422
|
-
* @throws
|
|
384
|
+
* @param originalVersion - Loose version number, that can be parsed by semver
|
|
385
|
+
* @return iOS version number in <major>.<minor> format
|
|
386
|
+
* @throws if the version number cannot be parsed
|
|
423
387
|
*/
|
|
424
388
|
function normalizePlatformVersion(originalVersion) {
|
|
425
389
|
const normalizedVersion = semver.coerce(originalVersion);
|
|
@@ -431,9 +395,9 @@ function normalizePlatformVersion(originalVersion) {
|
|
|
431
395
|
/**
|
|
432
396
|
* Assert the presence of particular keys in the given object
|
|
433
397
|
*
|
|
434
|
-
* @param
|
|
435
|
-
* @param
|
|
436
|
-
* @returns
|
|
398
|
+
* @param argNames one or more key names
|
|
399
|
+
* @param opts the object to check
|
|
400
|
+
* @returns the same given object
|
|
437
401
|
*/
|
|
438
402
|
function requireArgs(argNames, opts = {}) {
|
|
439
403
|
for (const argName of lodash_1.default.isArray(argNames) ? argNames : [argNames]) {
|
|
@@ -447,59 +411,34 @@ function requireArgs(argNames, opts = {}) {
|
|
|
447
411
|
* Asserts that the given driver is running on a Simulator and return
|
|
448
412
|
* the simlator instance.
|
|
449
413
|
*
|
|
450
|
-
* @param
|
|
451
|
-
* @param {import('./driver').XCUITestDriver} driver
|
|
452
|
-
* @returns {Simulator}
|
|
414
|
+
* @param action - Description of action
|
|
453
415
|
*/
|
|
454
|
-
function assertSimulator(action
|
|
455
|
-
if (!
|
|
416
|
+
function assertSimulator(action) {
|
|
417
|
+
if (!this.isSimulator()) {
|
|
456
418
|
throw new Error(`${lodash_1.default.upperFirst(action)} can only be performed on Simulator`);
|
|
457
419
|
}
|
|
458
|
-
return
|
|
420
|
+
return this.device;
|
|
459
421
|
}
|
|
460
422
|
/**
|
|
461
423
|
* Check if platform name is the TV OS one.
|
|
462
|
-
*
|
|
463
|
-
* @param {string|null|undefined} platformName
|
|
464
|
-
* @returns {boolean}
|
|
465
424
|
*/
|
|
466
425
|
function isTvOs(platformName) {
|
|
467
426
|
return lodash_1.default.toLower(platformName ?? '') === lodash_1.default.toLower(desired_caps_1.PLATFORM_NAME_TVOS);
|
|
468
427
|
}
|
|
469
428
|
/**
|
|
470
429
|
* Return normalized platform name.
|
|
471
|
-
*
|
|
472
|
-
* @param {string|null|undefined} platformName
|
|
473
|
-
* @returns {string}
|
|
474
430
|
*/
|
|
475
431
|
function normalizePlatformName(platformName) {
|
|
476
432
|
return isTvOs(platformName) ? desired_caps_1.PLATFORM_NAME_TVOS : desired_caps_1.PLATFORM_NAME_IOS;
|
|
477
433
|
}
|
|
478
|
-
/**
|
|
479
|
-
* @param {import('./driver').XCUITestDriverOpts} opts
|
|
480
|
-
* @returns {boolean}
|
|
481
|
-
*/
|
|
482
434
|
function shouldSetInitialSafariUrl(opts) {
|
|
483
435
|
return !(opts.safariInitialUrl === '' || (opts.noReset && lodash_1.default.isNil(opts.safariInitialUrl)))
|
|
484
436
|
&& !opts.initialDeeplinkUrl;
|
|
485
437
|
}
|
|
486
|
-
/**
|
|
487
|
-
* @param {import('./driver').XCUITestDriverOpts} opts
|
|
488
|
-
* @returns {boolean}
|
|
489
|
-
*/
|
|
490
438
|
function isIos17OrNewer(opts) {
|
|
491
439
|
return !!opts.platformVersion && support_1.util.compareVersions(opts.platformVersion, '>=', '17.0');
|
|
492
440
|
}
|
|
493
|
-
/**
|
|
494
|
-
* @param {import('./driver').XCUITestDriverOpts} opts
|
|
495
|
-
* @returns {boolean}
|
|
496
|
-
*/
|
|
497
441
|
function isIos18OrNewer(opts) {
|
|
498
442
|
return !!opts.platformVersion && support_1.util.compareVersions(opts.platformVersion, '>=', '18.0');
|
|
499
443
|
}
|
|
500
|
-
/**
|
|
501
|
-
* @typedef {import('appium-xcode').XcodeVersion} XcodeVersion
|
|
502
|
-
* @typedef {import('appium-ios-simulator').Simulator} Simulator
|
|
503
|
-
* @typedef {import('./driver').XCUITestDriver} XCUITestDriver
|
|
504
|
-
*/
|
|
505
444
|
//# sourceMappingURL=utils.js.map
|
package/build/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
|