@appium/base-driver 9.5.3 → 9.6.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/build/lib/basedriver/desired-caps.js +4 -2
- package/build/lib/basedriver/desired-caps.js.map +1 -1
- package/build/lib/basedriver/helpers.d.ts +30 -26
- package/build/lib/basedriver/helpers.d.ts.map +1 -1
- package/build/lib/basedriver/helpers.js +47 -23
- package/build/lib/basedriver/helpers.js.map +1 -1
- package/lib/basedriver/desired-caps.js +6 -2
- package/lib/basedriver/helpers.js +51 -35
- package/package.json +4 -4
|
@@ -64,8 +64,10 @@ exports.validator.validators.isArray = function isArray(value) {
|
|
|
64
64
|
return 'must be of type array';
|
|
65
65
|
};
|
|
66
66
|
exports.validator.validators.deprecated = function deprecated(value, options, key) {
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
// do not print caps that hasn't been provided.
|
|
68
|
+
if (typeof value !== 'undefined' && options) {
|
|
69
|
+
logger_1.default.warn(`The '${key}' capability has been deprecated and must not be used anymore. ` +
|
|
70
|
+
`Please check the driver documentation for possible alternatives.`);
|
|
69
71
|
}
|
|
70
72
|
return null;
|
|
71
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../../lib/basedriver/desired-caps.js"],"names":[],"mappings":";;;;;;AAAA,sDAA2B;AAC3B,8DAAqC;AACrC,wDAAyB;AAEZ,QAAA,SAAS;AACpB,sFAAsF,CAAC,CACrF,qBAAU,CACX,CAAC;AAEJ,iBAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,KAAK;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,KAAK;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACvD,gBAAG,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,SAAS,CAAC,KAAK;IACvD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,yBAAyB,CAAC;AACnC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,KAAK;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,OAAO,CAAC,KAAK;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,UAAU,GAAG,SAAS,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG;IACvE,IAAI,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../../lib/basedriver/desired-caps.js"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,14 @@
|
|
|
1
|
-
declare const _default: import('@appium/types').DriverHelpers;
|
|
2
|
-
export default _default;
|
|
3
|
-
export type RemoteAppProps = {
|
|
4
|
-
lastModified: Date | null;
|
|
5
|
-
immutable: boolean;
|
|
6
|
-
maxAge: number | null;
|
|
7
|
-
etag: string | null;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Properties of the remote application (e.g. GET HTTP response) to be downloaded.
|
|
11
|
-
*/
|
|
12
|
-
export type RemoteAppData = {
|
|
13
|
-
/**
|
|
14
|
-
* The HTTP status of the response
|
|
15
|
-
*/
|
|
16
|
-
status: number;
|
|
17
|
-
/**
|
|
18
|
-
* The HTTP response body represented as readable stream
|
|
19
|
-
*/
|
|
20
|
-
stream: import('stream').Readable;
|
|
21
|
-
/**
|
|
22
|
-
* HTTP response headers
|
|
23
|
-
*/
|
|
24
|
-
headers: import('axios').RawAxiosResponseHeaders | import('axios').AxiosResponseHeaders;
|
|
25
|
-
};
|
|
26
1
|
/**
|
|
27
2
|
*
|
|
28
3
|
* @param {string} app
|
|
29
4
|
* @param {string|string[]|import('@appium/types').ConfigureAppOptions} options
|
|
30
5
|
*/
|
|
31
6
|
export function configureApp(app: string, options?: string | string[] | import('@appium/types').ConfigureAppOptions): Promise<any>;
|
|
32
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} app
|
|
9
|
+
* @returns {boolean}
|
|
10
|
+
*/
|
|
11
|
+
export function isPackageOrBundle(app: string): boolean;
|
|
33
12
|
/**
|
|
34
13
|
* Finds all instances 'firstKey' and create a duplicate with the key 'secondKey',
|
|
35
14
|
* Do the same thing in reverse. If we find 'secondKey', create a duplicate with the key 'firstKey'.
|
|
@@ -57,4 +36,29 @@ export function parseCapsArray(cap: string | Array<string>): any[];
|
|
|
57
36
|
*/
|
|
58
37
|
export function generateDriverLogPrefix(obj: import("@appium/types").Core<any, import("@appium/types").StringRecord>, sessionId?: string | null): string;
|
|
59
38
|
export const BASEDRIVER_VER: string;
|
|
39
|
+
declare const _default: import('@appium/types').DriverHelpers;
|
|
40
|
+
export default _default;
|
|
41
|
+
export type RemoteAppProps = {
|
|
42
|
+
lastModified: Date | null;
|
|
43
|
+
immutable: boolean;
|
|
44
|
+
maxAge: number | null;
|
|
45
|
+
etag: string | null;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Properties of the remote application (e.g. GET HTTP response) to be downloaded.
|
|
49
|
+
*/
|
|
50
|
+
export type RemoteAppData = {
|
|
51
|
+
/**
|
|
52
|
+
* The HTTP status of the response
|
|
53
|
+
*/
|
|
54
|
+
status: number;
|
|
55
|
+
/**
|
|
56
|
+
* The HTTP response body represented as readable stream
|
|
57
|
+
*/
|
|
58
|
+
stream: import('stream').Readable;
|
|
59
|
+
/**
|
|
60
|
+
* HTTP response headers
|
|
61
|
+
*/
|
|
62
|
+
headers: import('axios').RawAxiosResponseHeaders | import('axios').AxiosResponseHeaders;
|
|
63
|
+
};
|
|
60
64
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/helpers.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/helpers.js"],"names":[],"mappings":"AAqHA;;;;GAIG;AACH,kCAHW,MAAM,YACN,MAAM,GAAC,MAAM,EAAE,GAAC,OAAO,eAAe,EAAE,mBAAmB,gBAkQrE;AAkKD;;;GAGG;AACH,uCAHW,MAAM,GACJ,OAAO,CAInB;AAED;;;;;;;;;GASG;AACH,oFAuBC;AAED;;;;;GAKG;AACH,oCAFW,MAAM,GAAC,aAAa,SAoB9B;AAED;;;;;;GAMG;AACH,kIAHW,MAAM,UACJ,MAAM,CAKlB;;wBAEU,OAAO,eAAe,EAAE,aAAa;;;kBAWlC,IAAI;eACJ,OAAO;YACP,MAAM;UACN,MAAM;;;;;;;;;YAKN,MAAM;;;;YACN,OAAO,QAAQ,EAAE,QAAQ;;;;aACzB,OAAO,OAAO,EAAE,uBAAuB,GAAG,OAAO,OAAO,EAAE,oBAAoB"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.generateDriverLogPrefix = exports.parseCapsArray = exports.duplicateKeys = exports.isPackageOrBundle = exports.configureApp = exports.BASEDRIVER_VER = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const url_1 = __importDefault(require("url"));
|
|
@@ -14,8 +14,7 @@ const async_lock_1 = __importDefault(require("async-lock"));
|
|
|
14
14
|
const axios_1 = __importDefault(require("axios"));
|
|
15
15
|
const bluebird_1 = __importDefault(require("bluebird"));
|
|
16
16
|
// for compat with running tests transpiled and in-place
|
|
17
|
-
|
|
18
|
-
exports.BASEDRIVER_VER = BASEDRIVER_VER;
|
|
17
|
+
exports.BASEDRIVER_VER = support_1.fs.readPackageJsonFrom(__dirname).version;
|
|
19
18
|
const IPA_EXT = '.ipa';
|
|
20
19
|
const ZIP_EXTS = new Set(['.zip', IPA_EXT]);
|
|
21
20
|
const ZIP_MIME_TYPES = ['application/zip', 'application/x-zip-compressed', 'multipart/x-zip'];
|
|
@@ -23,14 +22,14 @@ const CACHED_APPS_MAX_AGE = 1000 * 60 * 60 * 24; // ms
|
|
|
23
22
|
const MAX_CACHED_APPS = 1024;
|
|
24
23
|
const HTTP_STATUS_NOT_MODIFIED = 304;
|
|
25
24
|
const DEFAULT_REQ_HEADERS = Object.freeze({
|
|
26
|
-
'user-agent': `Appium (BaseDriver v${BASEDRIVER_VER})`,
|
|
25
|
+
'user-agent': `Appium (BaseDriver v${exports.BASEDRIVER_VER})`,
|
|
27
26
|
});
|
|
28
27
|
const AVG_DOWNLOAD_SPEED_MEASUREMENT_THRESHOLD_SEC = 2;
|
|
28
|
+
/** @type {LRUCache<string, import('@appium/types').CachedAppInfo>} */
|
|
29
29
|
const APPLICATIONS_CACHE = new lru_cache_1.LRUCache({
|
|
30
30
|
max: MAX_CACHED_APPS,
|
|
31
31
|
ttl: CACHED_APPS_MAX_AGE, // expire after 24 hours
|
|
32
32
|
updateAgeOnGet: true,
|
|
33
|
-
// @ts-ignore The fullPath property exists
|
|
34
33
|
dispose: ({ fullPath }, app) => {
|
|
35
34
|
logger_1.default.info(`The application '${app}' cached at '${fullPath}' has ` +
|
|
36
35
|
`expired after ${CACHED_APPS_MAX_AGE}ms`);
|
|
@@ -48,14 +47,12 @@ process.on('exit', () => {
|
|
|
48
47
|
if (APPLICATIONS_CACHE.size === 0) {
|
|
49
48
|
return;
|
|
50
49
|
}
|
|
51
|
-
const appPaths = [...APPLICATIONS_CACHE.values()]
|
|
52
|
-
// @ts-ignore The fullPath property exists
|
|
53
|
-
.map(({ fullPath }) => fullPath);
|
|
50
|
+
const appPaths = [...APPLICATIONS_CACHE.values()].map(({ fullPath }) => fullPath);
|
|
54
51
|
logger_1.default.debug(`Performing cleanup of ${appPaths.length} cached ` +
|
|
55
52
|
support_1.util.pluralize('application', appPaths.length));
|
|
56
53
|
for (const appPath of appPaths) {
|
|
57
54
|
try {
|
|
58
|
-
//
|
|
55
|
+
// @ts-ignore it's defined
|
|
59
56
|
support_1.fs.rimrafSync(appPath);
|
|
60
57
|
}
|
|
61
58
|
catch (e) {
|
|
@@ -63,6 +60,11 @@ process.on('exit', () => {
|
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
62
|
});
|
|
63
|
+
/**
|
|
64
|
+
* @param {string} app
|
|
65
|
+
* @param {string[]} supportedAppExtensions
|
|
66
|
+
* @returns {string}
|
|
67
|
+
*/
|
|
66
68
|
function verifyAppExtension(app, supportedAppExtensions) {
|
|
67
69
|
if (supportedAppExtensions.map(lodash_1.default.toLower).includes(lodash_1.default.toLower(path_1.default.extname(app)))) {
|
|
68
70
|
return app;
|
|
@@ -71,12 +73,25 @@ function verifyAppExtension(app, supportedAppExtensions) {
|
|
|
71
73
|
`${support_1.util.pluralize('extension', supportedAppExtensions.length, false)}: ` +
|
|
72
74
|
supportedAppExtensions);
|
|
73
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* @param {string} folderPath
|
|
78
|
+
* @returns {Promise<number>}
|
|
79
|
+
*/
|
|
74
80
|
async function calculateFolderIntegrity(folderPath) {
|
|
75
81
|
return (await support_1.fs.glob('**/*', { cwd: folderPath })).length;
|
|
76
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* @param {string} filePath
|
|
85
|
+
* @returns {Promise<string>}
|
|
86
|
+
*/
|
|
77
87
|
async function calculateFileIntegrity(filePath) {
|
|
78
88
|
return await support_1.fs.hash(filePath);
|
|
79
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* @param {string} currentPath
|
|
92
|
+
* @param {import('@appium/types').StringRecord} expectedIntegrity
|
|
93
|
+
* @returns {Promise<boolean>}
|
|
94
|
+
*/
|
|
80
95
|
async function isAppIntegrityOk(currentPath, expectedIntegrity = {}) {
|
|
81
96
|
if (!(await support_1.fs.exists(currentPath))) {
|
|
82
97
|
return false;
|
|
@@ -104,6 +119,7 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
|
|
|
104
119
|
}
|
|
105
120
|
let supportedAppExtensions;
|
|
106
121
|
const onPostProcess = !lodash_1.default.isString(options) && !lodash_1.default.isArray(options) ? options.onPostProcess : undefined;
|
|
122
|
+
const onDownload = !lodash_1.default.isString(options) && !lodash_1.default.isArray(options) ? options.onDownload : undefined;
|
|
107
123
|
if (lodash_1.default.isString(options)) {
|
|
108
124
|
supportedAppExtensions = [options];
|
|
109
125
|
}
|
|
@@ -130,8 +146,6 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
|
|
|
130
146
|
};
|
|
131
147
|
const { protocol, pathname } = url_1.default.parse(newApp);
|
|
132
148
|
const isUrl = protocol === null ? false : ['http:', 'https:'].includes(protocol);
|
|
133
|
-
/** @type {import('@appium/types').CachedAppInfo|undefined} */
|
|
134
|
-
// @ts-ignore We know the returned type
|
|
135
149
|
const cachedAppInfo = APPLICATIONS_CACHE.get(app);
|
|
136
150
|
if (cachedAppInfo) {
|
|
137
151
|
logger_1.default.debug(`Cached app data: ${JSON.stringify(cachedAppInfo, null, 2)}`);
|
|
@@ -149,19 +163,21 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
|
|
|
149
163
|
else if (cachedAppInfo?.lastModified) {
|
|
150
164
|
reqHeaders['if-modified-since'] = cachedAppInfo.lastModified.toUTCString();
|
|
151
165
|
}
|
|
166
|
+
logger_1.default.debug(`Request headers: ${JSON.stringify(reqHeaders)}`);
|
|
152
167
|
let { headers, stream, status } = await queryAppLink(newApp, reqHeaders);
|
|
168
|
+
logger_1.default.debug(`Response status: ${status}`);
|
|
153
169
|
try {
|
|
154
170
|
if (!lodash_1.default.isEmpty(headers)) {
|
|
155
|
-
logger_1.default.debug(`Etag: ${headers.etag}`);
|
|
156
171
|
if (headers.etag) {
|
|
172
|
+
logger_1.default.debug(`Etag: ${headers.etag}`);
|
|
157
173
|
remoteAppProps.etag = headers.etag;
|
|
158
174
|
}
|
|
159
|
-
logger_1.default.debug(`Last-Modified: ${headers['last-modified']}`);
|
|
160
175
|
if (headers['last-modified']) {
|
|
176
|
+
logger_1.default.debug(`Last-Modified: ${headers['last-modified']}`);
|
|
161
177
|
remoteAppProps.lastModified = new Date(headers['last-modified']);
|
|
162
178
|
}
|
|
163
|
-
logger_1.default.debug(`Cache-Control: ${headers['cache-control']}`);
|
|
164
179
|
if (headers['cache-control']) {
|
|
180
|
+
logger_1.default.debug(`Cache-Control: ${headers['cache-control']}`);
|
|
165
181
|
remoteAppProps.immutable = /\bimmutable\b/i.test(headers['cache-control']);
|
|
166
182
|
const maxAgeMatch = /\bmax-age=(\d+)\b/i.exec(headers['cache-control']);
|
|
167
183
|
if (maxAgeMatch) {
|
|
@@ -170,9 +186,9 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
|
|
|
170
186
|
}
|
|
171
187
|
}
|
|
172
188
|
if (cachedAppInfo && status === HTTP_STATUS_NOT_MODIFIED) {
|
|
173
|
-
if (await isAppIntegrityOk(cachedAppInfo.fullPath, cachedAppInfo.integrity)) {
|
|
189
|
+
if (await isAppIntegrityOk(/** @type {string} */ (cachedAppInfo.fullPath), cachedAppInfo.integrity)) {
|
|
174
190
|
logger_1.default.info(`Reusing previously downloaded application at '${cachedAppInfo.fullPath}'`);
|
|
175
|
-
return verifyAppExtension(cachedAppInfo.fullPath, supportedAppExtensions);
|
|
191
|
+
return verifyAppExtension(/** @type {string} */ (cachedAppInfo.fullPath), supportedAppExtensions);
|
|
176
192
|
}
|
|
177
193
|
logger_1.default.info(`The application at '${cachedAppInfo.fullPath}' does not exist anymore ` +
|
|
178
194
|
`or its integrity has been damaged. Deleting it from the internal cache`);
|
|
@@ -227,11 +243,15 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
|
|
|
227
243
|
}
|
|
228
244
|
fileName = `${resultingName}${resultingExt}`;
|
|
229
245
|
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
246
|
+
newApp = onDownload
|
|
247
|
+
? await onDownload({
|
|
248
|
+
headers: /** @type {import('@appium/types').HTTPHeaders} */ (lodash_1.default.clone(headers)),
|
|
249
|
+
stream,
|
|
250
|
+
})
|
|
251
|
+
: await fetchApp(stream, await support_1.tempDir.path({
|
|
252
|
+
prefix: fileName,
|
|
253
|
+
suffix: '',
|
|
254
|
+
}));
|
|
235
255
|
}
|
|
236
256
|
finally {
|
|
237
257
|
if (!stream.closed) {
|
|
@@ -262,12 +282,12 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
|
|
|
262
282
|
const archivePath = newApp;
|
|
263
283
|
if (packageHash === cachedAppInfo?.packageHash) {
|
|
264
284
|
const fullPath = cachedAppInfo?.fullPath;
|
|
265
|
-
if (await isAppIntegrityOk(fullPath, cachedAppInfo?.integrity)) {
|
|
285
|
+
if (await isAppIntegrityOk(/** @type {string} */ (fullPath), cachedAppInfo?.integrity)) {
|
|
266
286
|
if (archivePath !== app) {
|
|
267
287
|
await support_1.fs.rimraf(archivePath);
|
|
268
288
|
}
|
|
269
289
|
logger_1.default.info(`Will reuse previously cached application at '${fullPath}'`);
|
|
270
|
-
return verifyAppExtension(fullPath, supportedAppExtensions);
|
|
290
|
+
return verifyAppExtension(/** @type {string} */ (fullPath), supportedAppExtensions);
|
|
271
291
|
}
|
|
272
292
|
logger_1.default.info(`The application at '${fullPath}' does not exist anymore ` +
|
|
273
293
|
`or its integrity has been damaged. Deleting it from the cache`);
|
|
@@ -467,6 +487,10 @@ async function unzipApp(zipPath, dstRoot, supportedAppExtensions) {
|
|
|
467
487
|
await support_1.fs.rimraf(tmpRoot);
|
|
468
488
|
}
|
|
469
489
|
}
|
|
490
|
+
/**
|
|
491
|
+
* @param {string} app
|
|
492
|
+
* @returns {boolean}
|
|
493
|
+
*/
|
|
470
494
|
function isPackageOrBundle(app) {
|
|
471
495
|
return /^([a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+)+$/.test(app);
|
|
472
496
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../lib/basedriver/helpers.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../lib/basedriver/helpers.js"],"names":[],"mappings":"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"}
|
|
@@ -74,8 +74,12 @@ validator.validators.isArray = function isArray(value) {
|
|
|
74
74
|
return 'must be of type array';
|
|
75
75
|
};
|
|
76
76
|
validator.validators.deprecated = function deprecated(value, options, key) {
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
// do not print caps that hasn't been provided.
|
|
78
|
+
if (typeof value !== 'undefined' && options) {
|
|
79
|
+
log.warn(
|
|
80
|
+
`The '${key}' capability has been deprecated and must not be used anymore. ` +
|
|
81
|
+
`Please check the driver documentation for possible alternatives.`
|
|
82
|
+
);
|
|
79
83
|
}
|
|
80
84
|
return null;
|
|
81
85
|
};
|
|
@@ -9,7 +9,7 @@ import axios from 'axios';
|
|
|
9
9
|
import B from 'bluebird';
|
|
10
10
|
|
|
11
11
|
// for compat with running tests transpiled and in-place
|
|
12
|
-
const {version: BASEDRIVER_VER} = fs.readPackageJsonFrom(__dirname);
|
|
12
|
+
export const {version: BASEDRIVER_VER} = fs.readPackageJsonFrom(__dirname);
|
|
13
13
|
const IPA_EXT = '.ipa';
|
|
14
14
|
const ZIP_EXTS = new Set(['.zip', IPA_EXT]);
|
|
15
15
|
const ZIP_MIME_TYPES = ['application/zip', 'application/x-zip-compressed', 'multipart/x-zip'];
|
|
@@ -20,11 +20,11 @@ const DEFAULT_REQ_HEADERS = Object.freeze({
|
|
|
20
20
|
'user-agent': `Appium (BaseDriver v${BASEDRIVER_VER})`,
|
|
21
21
|
});
|
|
22
22
|
const AVG_DOWNLOAD_SPEED_MEASUREMENT_THRESHOLD_SEC = 2;
|
|
23
|
+
/** @type {LRUCache<string, import('@appium/types').CachedAppInfo>} */
|
|
23
24
|
const APPLICATIONS_CACHE = new LRUCache({
|
|
24
25
|
max: MAX_CACHED_APPS,
|
|
25
26
|
ttl: CACHED_APPS_MAX_AGE, // expire after 24 hours
|
|
26
27
|
updateAgeOnGet: true,
|
|
27
|
-
// @ts-ignore The fullPath property exists
|
|
28
28
|
dispose: ({fullPath}, app) => {
|
|
29
29
|
logger.info(
|
|
30
30
|
`The application '${app}' cached at '${fullPath}' has ` +
|
|
@@ -46,16 +46,14 @@ process.on('exit', () => {
|
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
const appPaths = [...APPLICATIONS_CACHE.values()]
|
|
50
|
-
// @ts-ignore The fullPath property exists
|
|
51
|
-
.map(({fullPath}) => fullPath);
|
|
49
|
+
const appPaths = [...APPLICATIONS_CACHE.values()].map(({fullPath}) => fullPath);
|
|
52
50
|
logger.debug(
|
|
53
51
|
`Performing cleanup of ${appPaths.length} cached ` +
|
|
54
52
|
util.pluralize('application', appPaths.length)
|
|
55
53
|
);
|
|
56
54
|
for (const appPath of appPaths) {
|
|
57
55
|
try {
|
|
58
|
-
//
|
|
56
|
+
// @ts-ignore it's defined
|
|
59
57
|
fs.rimrafSync(appPath);
|
|
60
58
|
} catch (e) {
|
|
61
59
|
logger.warn(e.message);
|
|
@@ -63,6 +61,11 @@ process.on('exit', () => {
|
|
|
63
61
|
}
|
|
64
62
|
});
|
|
65
63
|
|
|
64
|
+
/**
|
|
65
|
+
* @param {string} app
|
|
66
|
+
* @param {string[]} supportedAppExtensions
|
|
67
|
+
* @returns {string}
|
|
68
|
+
*/
|
|
66
69
|
function verifyAppExtension(app, supportedAppExtensions) {
|
|
67
70
|
if (supportedAppExtensions.map(_.toLower).includes(_.toLower(path.extname(app)))) {
|
|
68
71
|
return app;
|
|
@@ -74,14 +77,27 @@ function verifyAppExtension(app, supportedAppExtensions) {
|
|
|
74
77
|
);
|
|
75
78
|
}
|
|
76
79
|
|
|
80
|
+
/**
|
|
81
|
+
* @param {string} folderPath
|
|
82
|
+
* @returns {Promise<number>}
|
|
83
|
+
*/
|
|
77
84
|
async function calculateFolderIntegrity(folderPath) {
|
|
78
85
|
return (await fs.glob('**/*', {cwd: folderPath})).length;
|
|
79
86
|
}
|
|
80
87
|
|
|
88
|
+
/**
|
|
89
|
+
* @param {string} filePath
|
|
90
|
+
* @returns {Promise<string>}
|
|
91
|
+
*/
|
|
81
92
|
async function calculateFileIntegrity(filePath) {
|
|
82
93
|
return await fs.hash(filePath);
|
|
83
94
|
}
|
|
84
95
|
|
|
96
|
+
/**
|
|
97
|
+
* @param {string} currentPath
|
|
98
|
+
* @param {import('@appium/types').StringRecord} expectedIntegrity
|
|
99
|
+
* @returns {Promise<boolean>}
|
|
100
|
+
*/
|
|
85
101
|
async function isAppIntegrityOk(currentPath, expectedIntegrity = {}) {
|
|
86
102
|
if (!(await fs.exists(currentPath))) {
|
|
87
103
|
return false;
|
|
@@ -104,7 +120,7 @@ async function isAppIntegrityOk(currentPath, expectedIntegrity = {}) {
|
|
|
104
120
|
* @param {string} app
|
|
105
121
|
* @param {string|string[]|import('@appium/types').ConfigureAppOptions} options
|
|
106
122
|
*/
|
|
107
|
-
async function configureApp(
|
|
123
|
+
export async function configureApp(
|
|
108
124
|
app,
|
|
109
125
|
options = /** @type {import('@appium/types').ConfigureAppOptions} */ ({})
|
|
110
126
|
) {
|
|
@@ -114,8 +130,8 @@ async function configureApp(
|
|
|
114
130
|
}
|
|
115
131
|
|
|
116
132
|
let supportedAppExtensions;
|
|
117
|
-
const onPostProcess =
|
|
118
|
-
|
|
133
|
+
const onPostProcess = !_.isString(options) && !_.isArray(options) ? options.onPostProcess : undefined;
|
|
134
|
+
const onDownload = !_.isString(options) && !_.isArray(options) ? options.onDownload : undefined;
|
|
119
135
|
|
|
120
136
|
if (_.isString(options)) {
|
|
121
137
|
supportedAppExtensions = [options];
|
|
@@ -143,8 +159,6 @@ async function configureApp(
|
|
|
143
159
|
const {protocol, pathname} = url.parse(newApp);
|
|
144
160
|
const isUrl = protocol === null ? false : ['http:', 'https:'].includes(protocol);
|
|
145
161
|
|
|
146
|
-
/** @type {import('@appium/types').CachedAppInfo|undefined} */
|
|
147
|
-
// @ts-ignore We know the returned type
|
|
148
162
|
const cachedAppInfo = APPLICATIONS_CACHE.get(app);
|
|
149
163
|
if (cachedAppInfo) {
|
|
150
164
|
logger.debug(`Cached app data: ${JSON.stringify(cachedAppInfo, null, 2)}`);
|
|
@@ -162,20 +176,22 @@ async function configureApp(
|
|
|
162
176
|
} else if (cachedAppInfo?.lastModified) {
|
|
163
177
|
reqHeaders['if-modified-since'] = cachedAppInfo.lastModified.toUTCString();
|
|
164
178
|
}
|
|
179
|
+
logger.debug(`Request headers: ${JSON.stringify(reqHeaders)}`);
|
|
165
180
|
|
|
166
181
|
let {headers, stream, status} = await queryAppLink(newApp, reqHeaders);
|
|
182
|
+
logger.debug(`Response status: ${status}`);
|
|
167
183
|
try {
|
|
168
184
|
if (!_.isEmpty(headers)) {
|
|
169
|
-
logger.debug(`Etag: ${headers.etag}`);
|
|
170
185
|
if (headers.etag) {
|
|
186
|
+
logger.debug(`Etag: ${headers.etag}`);
|
|
171
187
|
remoteAppProps.etag = headers.etag;
|
|
172
188
|
}
|
|
173
|
-
logger.debug(`Last-Modified: ${headers['last-modified']}`);
|
|
174
189
|
if (headers['last-modified']) {
|
|
190
|
+
logger.debug(`Last-Modified: ${headers['last-modified']}`);
|
|
175
191
|
remoteAppProps.lastModified = new Date(headers['last-modified']);
|
|
176
192
|
}
|
|
177
|
-
logger.debug(`Cache-Control: ${headers['cache-control']}`);
|
|
178
193
|
if (headers['cache-control']) {
|
|
194
|
+
logger.debug(`Cache-Control: ${headers['cache-control']}`);
|
|
179
195
|
remoteAppProps.immutable = /\bimmutable\b/i.test(headers['cache-control']);
|
|
180
196
|
const maxAgeMatch = /\bmax-age=(\d+)\b/i.exec(headers['cache-control']);
|
|
181
197
|
if (maxAgeMatch) {
|
|
@@ -184,9 +200,9 @@ async function configureApp(
|
|
|
184
200
|
}
|
|
185
201
|
}
|
|
186
202
|
if (cachedAppInfo && status === HTTP_STATUS_NOT_MODIFIED) {
|
|
187
|
-
if (await isAppIntegrityOk(cachedAppInfo.fullPath, cachedAppInfo.integrity)) {
|
|
203
|
+
if (await isAppIntegrityOk(/** @type {string} */ (cachedAppInfo.fullPath), cachedAppInfo.integrity)) {
|
|
188
204
|
logger.info(`Reusing previously downloaded application at '${cachedAppInfo.fullPath}'`);
|
|
189
|
-
return verifyAppExtension(cachedAppInfo.fullPath, supportedAppExtensions);
|
|
205
|
+
return verifyAppExtension(/** @type {string} */ (cachedAppInfo.fullPath), supportedAppExtensions);
|
|
190
206
|
}
|
|
191
207
|
logger.info(
|
|
192
208
|
`The application at '${cachedAppInfo.fullPath}' does not exist anymore ` +
|
|
@@ -251,11 +267,15 @@ async function configureApp(
|
|
|
251
267
|
}
|
|
252
268
|
fileName = `${resultingName}${resultingExt}`;
|
|
253
269
|
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
270
|
+
newApp = onDownload
|
|
271
|
+
? await onDownload({
|
|
272
|
+
headers: /** @type {import('@appium/types').HTTPHeaders} */ (_.clone(headers)),
|
|
273
|
+
stream,
|
|
274
|
+
})
|
|
275
|
+
: await fetchApp(stream, await tempDir.path({
|
|
276
|
+
prefix: fileName,
|
|
277
|
+
suffix: '',
|
|
278
|
+
}));
|
|
259
279
|
} finally {
|
|
260
280
|
if (!stream.closed) {
|
|
261
281
|
stream.destroy();
|
|
@@ -285,12 +305,12 @@ async function configureApp(
|
|
|
285
305
|
const archivePath = newApp;
|
|
286
306
|
if (packageHash === cachedAppInfo?.packageHash) {
|
|
287
307
|
const fullPath = cachedAppInfo?.fullPath;
|
|
288
|
-
if (await isAppIntegrityOk(fullPath, cachedAppInfo?.integrity)) {
|
|
308
|
+
if (await isAppIntegrityOk(/** @type {string} */ (fullPath), cachedAppInfo?.integrity)) {
|
|
289
309
|
if (archivePath !== app) {
|
|
290
310
|
await fs.rimraf(archivePath);
|
|
291
311
|
}
|
|
292
312
|
logger.info(`Will reuse previously cached application at '${fullPath}'`);
|
|
293
|
-
return verifyAppExtension(fullPath, supportedAppExtensions);
|
|
313
|
+
return verifyAppExtension(/** @type {string} */ (fullPath), supportedAppExtensions);
|
|
294
314
|
}
|
|
295
315
|
logger.info(
|
|
296
316
|
`The application at '${fullPath}' does not exist anymore ` +
|
|
@@ -518,7 +538,11 @@ async function unzipApp(zipPath, dstRoot, supportedAppExtensions) {
|
|
|
518
538
|
}
|
|
519
539
|
}
|
|
520
540
|
|
|
521
|
-
|
|
541
|
+
/**
|
|
542
|
+
* @param {string} app
|
|
543
|
+
* @returns {boolean}
|
|
544
|
+
*/
|
|
545
|
+
export function isPackageOrBundle(app) {
|
|
522
546
|
return /^([a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+)+$/.test(app);
|
|
523
547
|
}
|
|
524
548
|
|
|
@@ -532,7 +556,7 @@ function isPackageOrBundle(app) {
|
|
|
532
556
|
* @param {String} firstKey The first key to duplicate
|
|
533
557
|
* @param {String} secondKey The second key to duplicate
|
|
534
558
|
*/
|
|
535
|
-
function duplicateKeys(input, firstKey, secondKey) {
|
|
559
|
+
export function duplicateKeys(input, firstKey, secondKey) {
|
|
536
560
|
// If array provided, recursively call on all elements
|
|
537
561
|
if (_.isArray(input)) {
|
|
538
562
|
return input.map((item) => duplicateKeys(item, firstKey, secondKey));
|
|
@@ -563,7 +587,7 @@ function duplicateKeys(input, firstKey, secondKey) {
|
|
|
563
587
|
*
|
|
564
588
|
* @param {string|Array<String>} cap A desired capability
|
|
565
589
|
*/
|
|
566
|
-
function parseCapsArray(cap) {
|
|
590
|
+
export function parseCapsArray(cap) {
|
|
567
591
|
if (_.isArray(cap)) {
|
|
568
592
|
return cap;
|
|
569
593
|
}
|
|
@@ -590,7 +614,7 @@ function parseCapsArray(cap) {
|
|
|
590
614
|
* @param {string?} sessionId session identifier (if exists)
|
|
591
615
|
* @returns {string}
|
|
592
616
|
*/
|
|
593
|
-
function generateDriverLogPrefix(obj, sessionId = null) {
|
|
617
|
+
export function generateDriverLogPrefix(obj, sessionId = null) {
|
|
594
618
|
const instanceName = `${obj.constructor.name}@${node.getObjectId(obj).substring(0, 4)}`;
|
|
595
619
|
return sessionId ? `${instanceName} (${sessionId.substring(0, 8)})` : instanceName;
|
|
596
620
|
}
|
|
@@ -603,14 +627,6 @@ export default {
|
|
|
603
627
|
parseCapsArray,
|
|
604
628
|
generateDriverLogPrefix,
|
|
605
629
|
};
|
|
606
|
-
export {
|
|
607
|
-
configureApp,
|
|
608
|
-
isPackageOrBundle,
|
|
609
|
-
duplicateKeys,
|
|
610
|
-
parseCapsArray,
|
|
611
|
-
generateDriverLogPrefix,
|
|
612
|
-
BASEDRIVER_VER,
|
|
613
|
-
};
|
|
614
630
|
|
|
615
631
|
/**
|
|
616
632
|
* @typedef RemoteAppProps
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appium/base-driver",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.6.0",
|
|
4
4
|
"description": "Base driver class for Appium drivers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"automation",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"test:types": "tsd"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@appium/support": "^4.2.
|
|
48
|
-
"@appium/types": "^0.
|
|
47
|
+
"@appium/support": "^4.2.5",
|
|
48
|
+
"@appium/types": "^0.17.0",
|
|
49
49
|
"@colors/colors": "1.6.0",
|
|
50
50
|
"@types/async-lock": "1.4.2",
|
|
51
51
|
"@types/bluebird": "3.5.42",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"publishConfig": {
|
|
81
81
|
"access": "public"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "6344d14665178433b182749a15f0e07f9dc14258",
|
|
84
84
|
"tsd": {
|
|
85
85
|
"directory": "test/types"
|
|
86
86
|
}
|