@appium/base-driver 9.12.2 → 9.13.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/core.d.ts +1 -1
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +22 -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 +33 -4
- package/lib/constants.ts +5 -7
- package/package.json +5 -5
|
@@ -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,29 @@ 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
|
+
// This should not happen as we preprocess corresponding server arguments in advance
|
|
199
|
+
throw new Error(`The full feature name must include both the driver name/wildcard and the feature ` +
|
|
200
|
+
`name split by a colon, got '${fullName}' instead`);
|
|
201
|
+
}
|
|
202
|
+
return [
|
|
203
|
+
lodash_1.default.toLower(fullName.substring(0, separatorPos)),
|
|
204
|
+
fullName.substring(separatorPos + 1)
|
|
205
|
+
];
|
|
206
|
+
};
|
|
207
|
+
const parseFullNames = (fullNames) => fullNames.map(parseFullName);
|
|
208
|
+
const matches = ([automationName, featureName]) => [currentAutomationName, ALL_DRIVERS_MATCH].includes(automationName) && featureName === name;
|
|
190
209
|
// if we have explicitly denied this feature, return false immediately
|
|
191
|
-
if (this.denyInsecure &&
|
|
210
|
+
if (!lodash_1.default.isEmpty(this.denyInsecure) && parseFullNames(this.denyInsecure).some(matches)) {
|
|
192
211
|
return false;
|
|
193
212
|
}
|
|
194
213
|
// if we specifically have allowed the feature, return true
|
|
195
|
-
if (this.allowInsecure &&
|
|
214
|
+
if (!lodash_1.default.isEmpty(this.allowInsecure) && parseFullNames(this.allowInsecure).some(matches)) {
|
|
196
215
|
return true;
|
|
197
216
|
}
|
|
198
217
|
// otherwise, if we've globally allowed insecure features and not denied
|
|
@@ -208,7 +227,7 @@ class DriverCore {
|
|
|
208
227
|
* not
|
|
209
228
|
*
|
|
210
229
|
* @param name - name of feature/command
|
|
211
|
-
* @deprecated
|
|
230
|
+
* @deprecated Use {@link assertFeatureEnabled} instead
|
|
212
231
|
*/
|
|
213
232
|
ensureFeatureEnabled(name) {
|
|
214
233
|
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,35 @@ 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
|
+
// This should not happen as we preprocess corresponding server arguments in advance
|
|
276
|
+
throw new Error(
|
|
277
|
+
`The full feature name must include both the driver name/wildcard and the feature ` +
|
|
278
|
+
`name split by a colon, got '${fullName}' instead`
|
|
279
|
+
);
|
|
280
|
+
}
|
|
281
|
+
return [
|
|
282
|
+
_.toLower(fullName.substring(0, separatorPos)),
|
|
283
|
+
fullName.substring(separatorPos + 1)
|
|
284
|
+
];
|
|
285
|
+
};
|
|
286
|
+
const parseFullNames = (fullNames: string[]) => fullNames.map(parseFullName);
|
|
287
|
+
const matches = ([automationName, featureName]: [string, string]) =>
|
|
288
|
+
[currentAutomationName, ALL_DRIVERS_MATCH].includes(automationName) && featureName === name;
|
|
289
|
+
|
|
261
290
|
// if we have explicitly denied this feature, return false immediately
|
|
262
|
-
if (this.denyInsecure &&
|
|
291
|
+
if (!_.isEmpty(this.denyInsecure) && parseFullNames(this.denyInsecure).some(matches)) {
|
|
263
292
|
return false;
|
|
264
293
|
}
|
|
265
294
|
|
|
266
295
|
// if we specifically have allowed the feature, return true
|
|
267
|
-
if (this.allowInsecure &&
|
|
296
|
+
if (!_.isEmpty(this.allowInsecure) && parseFullNames(this.allowInsecure).some(matches)) {
|
|
268
297
|
return true;
|
|
269
298
|
}
|
|
270
299
|
|
|
@@ -283,7 +312,7 @@ export class DriverCore<const C extends Constraints, Settings extends StringReco
|
|
|
283
312
|
* not
|
|
284
313
|
*
|
|
285
314
|
* @param name - name of feature/command
|
|
286
|
-
* @deprecated
|
|
315
|
+
* @deprecated Use {@link assertFeatureEnabled} instead
|
|
287
316
|
*/
|
|
288
317
|
ensureFeatureEnabled(name: string) {
|
|
289
318
|
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.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": "^5.1.
|
|
48
|
-
"@appium/types": "^0.22.
|
|
47
|
+
"@appium/support": "^5.1.8",
|
|
48
|
+
"@appium/types": "^0.22.2",
|
|
49
49
|
"@colors/colors": "1.6.0",
|
|
50
50
|
"@types/async-lock": "1.4.2",
|
|
51
51
|
"@types/bluebird": "3.5.42",
|
|
@@ -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.29.
|
|
70
|
+
"type-fest": "4.29.1",
|
|
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": "8daf5e123ac14c8325acf504fb33eb28e1a3dd78",
|
|
84
84
|
"tsd": {
|
|
85
85
|
"directory": "test/types"
|
|
86
86
|
}
|