@appium/base-driver 9.12.2 → 9.13.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.
- package/build/lib/basedriver/core.d.ts +1 -1
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +26 -3
- package/build/lib/basedriver/core.js.map +1 -1
- package/build/lib/constants.d.ts +5 -6
- package/build/lib/constants.d.ts.map +1 -1
- package/build/lib/constants.js +5 -10
- package/build/lib/constants.js.map +1 -1
- package/lib/basedriver/core.ts +35 -4
- package/lib/constants.ts +5 -7
- package/package.json +7 -7
|
@@ -115,7 +115,7 @@ export declare class DriverCore<const C extends Constraints, Settings extends St
|
|
|
115
115
|
* not
|
|
116
116
|
*
|
|
117
117
|
* @param name - name of feature/command
|
|
118
|
-
* @deprecated
|
|
118
|
+
* @deprecated Use {@link assertFeatureEnabled} instead
|
|
119
119
|
*/
|
|
120
120
|
ensureFeatureEnabled(name: string): void;
|
|
121
121
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/core.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,MAAM,EACN,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,SAAS,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,8 @@ const helpers_1 = __importStar(require("./helpers"));
|
|
|
51
51
|
const bidi_commands_1 = require("../protocol/bidi-commands");
|
|
52
52
|
const NEW_COMMAND_TIMEOUT_MS = 60 * 1000;
|
|
53
53
|
const ON_UNEXPECTED_SHUTDOWN_EVENT = 'onUnexpectedShutdown';
|
|
54
|
+
const ALL_DRIVERS_MATCH = '*';
|
|
55
|
+
const FEATURE_NAME_SEPARATOR = ':';
|
|
54
56
|
class DriverCore {
|
|
55
57
|
constructor(opts = {}, shouldValidateCaps = true) {
|
|
56
58
|
this._log = support_1.logger.getLogger(helpers_1.default.generateDriverLogPrefix(this));
|
|
@@ -187,12 +189,33 @@ class DriverCore {
|
|
|
187
189
|
* @param name - name of feature/command
|
|
188
190
|
*/
|
|
189
191
|
isFeatureEnabled(name) {
|
|
192
|
+
// automationName comparison is case-insensitive,
|
|
193
|
+
// while feature name is case-sensitive
|
|
194
|
+
const currentAutomationName = lodash_1.default.toLower(this.opts.automationName);
|
|
195
|
+
const parseFullName = (fullName) => {
|
|
196
|
+
const separatorPos = fullName.indexOf(FEATURE_NAME_SEPARATOR);
|
|
197
|
+
if (separatorPos < 0) {
|
|
198
|
+
// TODO: This is for the backward compatibility with Appium 2.
|
|
199
|
+
// TODO: We should bring back to raise an Error below for Appium 3.
|
|
200
|
+
// throw new Error(
|
|
201
|
+
// `The full feature name must include both the driver name/wildcard and the feature ` +
|
|
202
|
+
// `name split by a colon, got '${fullName}' instead`
|
|
203
|
+
// );
|
|
204
|
+
return [ALL_DRIVERS_MATCH, fullName];
|
|
205
|
+
}
|
|
206
|
+
return [
|
|
207
|
+
lodash_1.default.toLower(fullName.substring(0, separatorPos)),
|
|
208
|
+
fullName.substring(separatorPos + 1)
|
|
209
|
+
];
|
|
210
|
+
};
|
|
211
|
+
const parseFullNames = (fullNames) => fullNames.map(parseFullName);
|
|
212
|
+
const matches = ([automationName, featureName]) => [currentAutomationName, ALL_DRIVERS_MATCH].includes(automationName) && featureName === name;
|
|
190
213
|
// if we have explicitly denied this feature, return false immediately
|
|
191
|
-
if (this.denyInsecure &&
|
|
214
|
+
if (!lodash_1.default.isEmpty(this.denyInsecure) && parseFullNames(this.denyInsecure).some(matches)) {
|
|
192
215
|
return false;
|
|
193
216
|
}
|
|
194
217
|
// if we specifically have allowed the feature, return true
|
|
195
|
-
if (this.allowInsecure &&
|
|
218
|
+
if (!lodash_1.default.isEmpty(this.allowInsecure) && parseFullNames(this.allowInsecure).some(matches)) {
|
|
196
219
|
return true;
|
|
197
220
|
}
|
|
198
221
|
// otherwise, if we've globally allowed insecure features and not denied
|
|
@@ -208,7 +231,7 @@ class DriverCore {
|
|
|
208
231
|
* not
|
|
209
232
|
*
|
|
210
233
|
* @param name - name of feature/command
|
|
211
|
-
* @deprecated
|
|
234
|
+
* @deprecated Use {@link assertFeatureEnabled} instead
|
|
212
235
|
*/
|
|
213
236
|
ensureFeatureEnabled(name) {
|
|
214
237
|
this.assertFeatureEnabled(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../lib/basedriver/core.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElC,6CAAuC;AAevC,4DAAmC;AACnC,oDAAuB;AACvB,6CAAyC;AACzC,sDAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../lib/basedriver/core.ts"],"names":[],"mappings":"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"}
|
package/build/lib/constants.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
declare const MAX_LOG_BODY_LENGTH = 1024;
|
|
2
|
-
declare const MJSONWP_ELEMENT_KEY = "ELEMENT";
|
|
3
|
-
declare const W3C_ELEMENT_KEY: "element-6066-11e4-a52e-4f735466cecf";
|
|
4
|
-
declare const PROTOCOLS: {
|
|
1
|
+
export declare const MAX_LOG_BODY_LENGTH = 1024;
|
|
2
|
+
export declare const MJSONWP_ELEMENT_KEY = "ELEMENT";
|
|
3
|
+
export declare const W3C_ELEMENT_KEY: "element-6066-11e4-a52e-4f735466cecf";
|
|
4
|
+
export declare const PROTOCOLS: {
|
|
5
5
|
readonly W3C: "W3C";
|
|
6
6
|
readonly MJSONWP: "MJSONWP";
|
|
7
7
|
};
|
|
8
|
-
declare const DEFAULT_BASE_PATH = "";
|
|
9
|
-
export { MAX_LOG_BODY_LENGTH, MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY, PROTOCOLS, DEFAULT_BASE_PATH };
|
|
8
|
+
export declare const DEFAULT_BASE_PATH = "";
|
|
10
9
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AASA,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,eAAe,uCAAkC,CAAC;AAC/D,eAAO,MAAM,SAAS;;;CAGyB,CAAC;AAGhD,eAAO,MAAM,iBAAiB,KAAK,CAAC"}
|
package/build/lib/constants.js
CHANGED
|
@@ -8,18 +8,13 @@ const support_1 = require("@appium/support");
|
|
|
8
8
|
// server feature. Example rule:
|
|
9
9
|
// {"pattern": "(.{1,150}).*", "flags": "s", "replacer": "$1"}
|
|
10
10
|
// ^ cuts all log records to maximum 150 chars
|
|
11
|
-
|
|
12
|
-
exports.
|
|
13
|
-
|
|
14
|
-
exports.
|
|
15
|
-
const W3C_ELEMENT_KEY = support_1.util.W3C_WEB_ELEMENT_IDENTIFIER;
|
|
16
|
-
exports.W3C_ELEMENT_KEY = W3C_ELEMENT_KEY;
|
|
17
|
-
const PROTOCOLS = {
|
|
11
|
+
exports.MAX_LOG_BODY_LENGTH = 1024;
|
|
12
|
+
exports.MJSONWP_ELEMENT_KEY = 'ELEMENT';
|
|
13
|
+
exports.W3C_ELEMENT_KEY = support_1.util.W3C_WEB_ELEMENT_IDENTIFIER;
|
|
14
|
+
exports.PROTOCOLS = {
|
|
18
15
|
W3C: 'W3C',
|
|
19
16
|
MJSONWP: 'MJSONWP',
|
|
20
17
|
};
|
|
21
|
-
exports.PROTOCOLS = PROTOCOLS;
|
|
22
18
|
// Before Appium 2.0, this default value was '/wd/hub' by historical reasons.
|
|
23
|
-
|
|
24
|
-
exports.DEFAULT_BASE_PATH = DEFAULT_BASE_PATH;
|
|
19
|
+
exports.DEFAULT_BASE_PATH = '';
|
|
25
20
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":";;;AAAA,6CAAqC;AAGrC,oDAAoD;AACpD,wCAAwC;AACxC,kEAAkE;AAClE,gCAAgC;AAChC,+DAA+D;AAC/D,8CAA8C;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":";;;AAAA,6CAAqC;AAGrC,oDAAoD;AACpD,wCAAwC;AACxC,kEAAkE;AAClE,gCAAgC;AAChC,+DAA+D;AAC/D,8CAA8C;AACjC,QAAA,mBAAmB,GAAG,IAAI,CAAC;AAC3B,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,eAAe,GAAG,cAAI,CAAC,0BAA0B,CAAC;AAClD,QAAA,SAAS,GAAG;IACvB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;CAC2B,CAAC;AAEhD,6EAA6E;AAChE,QAAA,iBAAiB,GAAG,EAAE,CAAC"}
|
package/lib/basedriver/core.ts
CHANGED
|
@@ -20,7 +20,11 @@ import AsyncLock from 'async-lock';
|
|
|
20
20
|
import _ from 'lodash';
|
|
21
21
|
import {EventEmitter} from 'node:events';
|
|
22
22
|
import os from 'node:os';
|
|
23
|
-
import {
|
|
23
|
+
import {
|
|
24
|
+
DEFAULT_BASE_PATH,
|
|
25
|
+
PROTOCOLS,
|
|
26
|
+
MAX_LOG_BODY_LENGTH,
|
|
27
|
+
} from '../constants';
|
|
24
28
|
import {errors} from '../protocol';
|
|
25
29
|
import DeviceSettings from './device-settings';
|
|
26
30
|
import helpers, {BASEDRIVER_VER} from './helpers';
|
|
@@ -30,6 +34,9 @@ const NEW_COMMAND_TIMEOUT_MS = 60 * 1000;
|
|
|
30
34
|
|
|
31
35
|
const ON_UNEXPECTED_SHUTDOWN_EVENT = 'onUnexpectedShutdown';
|
|
32
36
|
|
|
37
|
+
const ALL_DRIVERS_MATCH = '*';
|
|
38
|
+
const FEATURE_NAME_SEPARATOR = ':';
|
|
39
|
+
|
|
33
40
|
export class DriverCore<const C extends Constraints, Settings extends StringRecord = StringRecord>
|
|
34
41
|
implements Core<C, Settings>
|
|
35
42
|
{
|
|
@@ -258,13 +265,37 @@ export class DriverCore<const C extends Constraints, Settings extends StringReco
|
|
|
258
265
|
* @param name - name of feature/command
|
|
259
266
|
*/
|
|
260
267
|
isFeatureEnabled(name: string): boolean {
|
|
268
|
+
// automationName comparison is case-insensitive,
|
|
269
|
+
// while feature name is case-sensitive
|
|
270
|
+
const currentAutomationName = _.toLower(this.opts.automationName);
|
|
271
|
+
|
|
272
|
+
const parseFullName = (fullName: string) => {
|
|
273
|
+
const separatorPos = fullName.indexOf(FEATURE_NAME_SEPARATOR);
|
|
274
|
+
if (separatorPos < 0) {
|
|
275
|
+
// TODO: This is for the backward compatibility with Appium 2.
|
|
276
|
+
// TODO: We should bring back to raise an Error below for Appium 3.
|
|
277
|
+
// throw new Error(
|
|
278
|
+
// `The full feature name must include both the driver name/wildcard and the feature ` +
|
|
279
|
+
// `name split by a colon, got '${fullName}' instead`
|
|
280
|
+
// );
|
|
281
|
+
return [ALL_DRIVERS_MATCH, fullName];
|
|
282
|
+
}
|
|
283
|
+
return [
|
|
284
|
+
_.toLower(fullName.substring(0, separatorPos)),
|
|
285
|
+
fullName.substring(separatorPos + 1)
|
|
286
|
+
];
|
|
287
|
+
};
|
|
288
|
+
const parseFullNames = (fullNames: string[]) => fullNames.map(parseFullName);
|
|
289
|
+
const matches = ([automationName, featureName]: [string, string]) =>
|
|
290
|
+
[currentAutomationName, ALL_DRIVERS_MATCH].includes(automationName) && featureName === name;
|
|
291
|
+
|
|
261
292
|
// if we have explicitly denied this feature, return false immediately
|
|
262
|
-
if (this.denyInsecure &&
|
|
293
|
+
if (!_.isEmpty(this.denyInsecure) && parseFullNames(this.denyInsecure).some(matches)) {
|
|
263
294
|
return false;
|
|
264
295
|
}
|
|
265
296
|
|
|
266
297
|
// if we specifically have allowed the feature, return true
|
|
267
|
-
if (this.allowInsecure &&
|
|
298
|
+
if (!_.isEmpty(this.allowInsecure) && parseFullNames(this.allowInsecure).some(matches)) {
|
|
268
299
|
return true;
|
|
269
300
|
}
|
|
270
301
|
|
|
@@ -283,7 +314,7 @@ export class DriverCore<const C extends Constraints, Settings extends StringReco
|
|
|
283
314
|
* not
|
|
284
315
|
*
|
|
285
316
|
* @param name - name of feature/command
|
|
286
|
-
* @deprecated
|
|
317
|
+
* @deprecated Use {@link assertFeatureEnabled} instead
|
|
287
318
|
*/
|
|
288
319
|
ensureFeatureEnabled(name: string) {
|
|
289
320
|
this.assertFeatureEnabled(name);
|
package/lib/constants.ts
CHANGED
|
@@ -7,15 +7,13 @@ import {Protocol} from '@appium/types';
|
|
|
7
7
|
// server feature. Example rule:
|
|
8
8
|
// {"pattern": "(.{1,150}).*", "flags": "s", "replacer": "$1"}
|
|
9
9
|
// ^ cuts all log records to maximum 150 chars
|
|
10
|
-
const MAX_LOG_BODY_LENGTH = 1024;
|
|
11
|
-
const MJSONWP_ELEMENT_KEY = 'ELEMENT';
|
|
12
|
-
const W3C_ELEMENT_KEY = util.W3C_WEB_ELEMENT_IDENTIFIER;
|
|
13
|
-
const PROTOCOLS = {
|
|
10
|
+
export const MAX_LOG_BODY_LENGTH = 1024;
|
|
11
|
+
export const MJSONWP_ELEMENT_KEY = 'ELEMENT';
|
|
12
|
+
export const W3C_ELEMENT_KEY = util.W3C_WEB_ELEMENT_IDENTIFIER;
|
|
13
|
+
export const PROTOCOLS = {
|
|
14
14
|
W3C: 'W3C',
|
|
15
15
|
MJSONWP: 'MJSONWP',
|
|
16
16
|
} as const satisfies Record<Protocol, Protocol>;
|
|
17
17
|
|
|
18
18
|
// Before Appium 2.0, this default value was '/wd/hub' by historical reasons.
|
|
19
|
-
const DEFAULT_BASE_PATH = '';
|
|
20
|
-
|
|
21
|
-
export {MAX_LOG_BODY_LENGTH, MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY, PROTOCOLS, DEFAULT_BASE_PATH};
|
|
19
|
+
export const DEFAULT_BASE_PATH = '';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appium/base-driver",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.13.1",
|
|
4
4
|
"description": "Base driver class for Appium drivers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"automation",
|
|
@@ -44,18 +44,18 @@
|
|
|
44
44
|
"test:types": "tsd"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@appium/support": "^
|
|
48
|
-
"@appium/types": "^0.22.
|
|
47
|
+
"@appium/support": "^6.0.0",
|
|
48
|
+
"@appium/types": "^0.22.3",
|
|
49
49
|
"@colors/colors": "1.6.0",
|
|
50
50
|
"@types/async-lock": "1.4.2",
|
|
51
51
|
"@types/bluebird": "3.5.42",
|
|
52
52
|
"@types/express": "5.0.0",
|
|
53
53
|
"@types/lodash": "4.17.13",
|
|
54
|
-
"@types/method-override": "0.0
|
|
54
|
+
"@types/method-override": "3.0.0",
|
|
55
55
|
"@types/serve-favicon": "2.5.7",
|
|
56
56
|
"async-lock": "1.4.1",
|
|
57
57
|
"asyncbox": "3.0.0",
|
|
58
|
-
"axios": "1.7.
|
|
58
|
+
"axios": "1.7.9",
|
|
59
59
|
"bluebird": "3.7.2",
|
|
60
60
|
"body-parser": "1.20.3",
|
|
61
61
|
"express": "4.21.1",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"path-to-regexp": "8.2.0",
|
|
68
68
|
"serve-favicon": "2.5.0",
|
|
69
69
|
"source-map-support": "0.5.21",
|
|
70
|
-
"type-fest": "4.
|
|
70
|
+
"type-fest": "4.30.0",
|
|
71
71
|
"validate.js": "0.13.1"
|
|
72
72
|
},
|
|
73
73
|
"optionalDependencies": {
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"publishConfig": {
|
|
81
81
|
"access": "public"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "1d16ac6b4521b1ac06b8650c6bb5c311d8d49ae3",
|
|
84
84
|
"tsd": {
|
|
85
85
|
"directory": "test/types"
|
|
86
86
|
}
|