@appium/base-driver 10.5.1 → 10.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/capabilities.d.ts.map +1 -1
- package/build/lib/basedriver/capabilities.js +45 -45
- package/build/lib/basedriver/capabilities.js.map +1 -1
- package/build/lib/basedriver/commands/bidi.d.ts.map +1 -1
- package/build/lib/basedriver/commands/bidi.js +9 -13
- package/build/lib/basedriver/commands/bidi.js.map +1 -1
- package/build/lib/basedriver/commands/event.d.ts.map +1 -1
- package/build/lib/basedriver/commands/event.js +4 -7
- package/build/lib/basedriver/commands/event.js.map +1 -1
- package/build/lib/basedriver/commands/execute.js +3 -6
- package/build/lib/basedriver/commands/execute.js.map +1 -1
- package/build/lib/basedriver/commands/log.d.ts.map +1 -1
- package/build/lib/basedriver/commands/log.js +1 -5
- package/build/lib/basedriver/commands/log.js.map +1 -1
- package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
- package/build/lib/basedriver/commands/timeout.js +5 -9
- package/build/lib/basedriver/commands/timeout.js.map +1 -1
- package/build/lib/basedriver/core.js +12 -12
- package/build/lib/basedriver/core.js.map +1 -1
- package/build/lib/basedriver/device-settings.d.ts.map +1 -1
- package/build/lib/basedriver/device-settings.js +3 -7
- package/build/lib/basedriver/device-settings.js.map +1 -1
- package/build/lib/basedriver/driver.d.ts.map +1 -1
- package/build/lib/basedriver/driver.js +13 -16
- package/build/lib/basedriver/driver.js.map +1 -1
- package/build/lib/basedriver/extension-core.d.ts +4 -1
- package/build/lib/basedriver/extension-core.d.ts.map +1 -1
- package/build/lib/basedriver/extension-core.js +27 -9
- package/build/lib/basedriver/extension-core.js.map +1 -1
- package/build/lib/basedriver/helpers.d.ts.map +1 -1
- package/build/lib/basedriver/helpers.js +28 -30
- package/build/lib/basedriver/helpers.js.map +1 -1
- package/build/lib/basedriver/ipc.d.ts +36 -0
- package/build/lib/basedriver/ipc.d.ts.map +1 -0
- package/build/lib/basedriver/ipc.js +155 -0
- package/build/lib/basedriver/ipc.js.map +1 -0
- package/build/lib/basedriver/validation.js +25 -28
- package/build/lib/basedriver/validation.js.map +1 -1
- package/build/lib/express/express-logging.d.ts.map +1 -1
- package/build/lib/express/express-logging.js +2 -3
- package/build/lib/express/express-logging.js.map +1 -1
- package/build/lib/express/idempotency.js +3 -6
- package/build/lib/express/idempotency.js.map +1 -1
- package/build/lib/express/middleware.d.ts.map +1 -1
- package/build/lib/express/middleware.js +6 -10
- package/build/lib/express/middleware.js.map +1 -1
- package/build/lib/express/server.d.ts.map +1 -1
- package/build/lib/express/server.js +64 -54
- package/build/lib/express/server.js.map +1 -1
- package/build/lib/express/static.d.ts.map +1 -1
- package/build/lib/express/static.js +14 -7
- package/build/lib/express/static.js.map +1 -1
- package/build/lib/express/websocket.d.ts.map +1 -1
- package/build/lib/express/websocket.js +6 -9
- package/build/lib/express/websocket.js.map +1 -1
- package/build/lib/helpers/capabilities.d.ts.map +1 -1
- package/build/lib/helpers/capabilities.js +14 -17
- package/build/lib/helpers/capabilities.js.map +1 -1
- package/build/lib/helpers/extension-command-name.js +2 -5
- package/build/lib/helpers/extension-command-name.js.map +1 -1
- package/build/lib/helpers/levenshtein-match.d.ts.map +1 -1
- package/build/lib/helpers/levenshtein-match.js +2 -6
- package/build/lib/helpers/levenshtein-match.js.map +1 -1
- package/build/lib/index.d.ts +1 -0
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +3 -14
- package/build/lib/index.js.map +1 -1
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/protocol-converter.js +13 -17
- package/build/lib/jsonwp-proxy/protocol-converter.js.map +1 -1
- package/build/lib/jsonwp-proxy/proxy-request.d.ts +2 -2
- package/build/lib/jsonwp-proxy/proxy-request.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy-request.js +25 -21
- package/build/lib/jsonwp-proxy/proxy-request.js.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.js +29 -26
- package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
- package/build/lib/protocol/errors.d.ts.map +1 -1
- package/build/lib/protocol/errors.js +25 -29
- package/build/lib/protocol/errors.js.map +1 -1
- package/build/lib/protocol/helpers.d.ts.map +1 -1
- package/build/lib/protocol/helpers.js +9 -8
- package/build/lib/protocol/helpers.js.map +1 -1
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/protocol.js +43 -48
- package/build/lib/protocol/protocol.js.map +1 -1
- package/build/lib/protocol/routes.d.ts +1 -1
- package/build/lib/protocol/routes.d.ts.map +1 -1
- package/build/lib/protocol/routes.js +9 -12
- package/build/lib/protocol/routes.js.map +1 -1
- package/build/lib/protocol/validators.d.ts.map +1 -1
- package/build/lib/protocol/validators.js +1 -5
- package/build/lib/protocol/validators.js.map +1 -1
- package/build/lib/utils.d.ts +16 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +71 -0
- package/build/lib/utils.js.map +1 -0
- package/lib/basedriver/capabilities.ts +60 -55
- package/lib/basedriver/commands/bidi.ts +10 -10
- package/lib/basedriver/commands/event.ts +11 -10
- package/lib/basedriver/commands/execute.ts +3 -3
- package/lib/basedriver/commands/log.ts +3 -2
- package/lib/basedriver/commands/timeout.ts +5 -6
- package/lib/basedriver/core.ts +12 -12
- package/lib/basedriver/device-settings.ts +3 -4
- package/lib/basedriver/driver.ts +15 -13
- package/lib/basedriver/extension-core.ts +33 -7
- package/lib/basedriver/helpers.ts +28 -30
- package/lib/basedriver/ipc.ts +179 -0
- package/lib/basedriver/validation.ts +26 -26
- package/lib/express/express-logging.ts +3 -4
- package/lib/express/idempotency.ts +3 -3
- package/lib/express/middleware.ts +6 -8
- package/lib/express/server.ts +67 -61
- package/lib/express/static.ts +15 -7
- package/lib/express/websocket.ts +8 -10
- package/lib/helpers/capabilities.ts +18 -14
- package/lib/helpers/extension-command-name.ts +2 -2
- package/lib/helpers/levenshtein-match.ts +2 -5
- package/lib/index.js +1 -11
- package/lib/jsonwp-proxy/protocol-converter.ts +14 -15
- package/lib/jsonwp-proxy/proxy-request.ts +26 -26
- package/lib/jsonwp-proxy/proxy.ts +36 -37
- package/lib/protocol/errors.ts +29 -28
- package/lib/protocol/helpers.ts +9 -5
- package/lib/protocol/protocol.ts +44 -46
- package/lib/protocol/routes.ts +9 -9
- package/lib/protocol/validators.ts +1 -3
- package/lib/utils.ts +85 -0
- package/package.json +7 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,WAAW,CAAC;AAOnB,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,wBAAwB,mBAAmC,CAAC;AAEzE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,WAAW,IAAI;IAC9C,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAChC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,4CAA4C;IAC5C,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,WAAW,EACrB,OAAO,SAAS,YAAY,CAAC,CAAC,CAAC,EAC/B,SAAS,SAAS,YAAY,CAAC,CAAC,CAAC,EAEjC,OAAO,GAAE,OAAO,GAAG,SAAyB,EAC5C,SAAS,GAAE,SAAS,GAAG,SAA2B,GACjD,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAkBpC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,EAChD,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,WAAW,GAAE,CAAC,GAAG,SAAmB,EACpC,IAAI,GAAE,gBAAgB,GAAG,SAAc,GACtC,YAAY,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,WAAW,CAAC;AAOnB,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,wBAAwB,mBAAmC,CAAC;AAEzE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,WAAW,IAAI;IAC9C,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAChC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,4CAA4C;IAC5C,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,WAAW,EACrB,OAAO,SAAS,YAAY,CAAC,CAAC,CAAC,EAC/B,SAAS,SAAS,YAAY,CAAC,CAAC,CAAC,EAEjC,OAAO,GAAE,OAAO,GAAG,SAAyB,EAC5C,SAAS,GAAE,SAAS,GAAG,SAA2B,GACjD,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAkBpC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,EAChD,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,WAAW,GAAE,CAAC,GAAG,SAAmB,EACpC,IAAI,GAAE,gBAAgB,GAAG,SAAc,GACtC,YAAY,CAAC,CAAC,CAAC,CAqCjB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,2CAiBzB,CAAC;AAIF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAmDD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EACvD,EACE,WAAgB,EAChB,UAAe,EAChB,EAAE,eAAe,CAAC,CAAC,CAAC,GACpB,MAAM,EAAE,CAUV;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,WAAW,EAC7C,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EACxB,WAAW,GAAE,CAAC,GAAG,SAAmB,EACpC,kBAAkB,GAAE,OAAO,GAAG,SAAgB,GAC7C,UAAU,CAAC,CAAC,CAAC,CAgGf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,WAAW,EACrB,OAAO,SAAS,eAAe,CAAC,CAAC,CAAC,EAElC,OAAO,EAAE,OAAO,EAChB,WAAW,GAAE,CAAC,GAAG,SAAmB,EACpC,kBAAkB,GAAE,OAAO,GAAG,SAAgB,GAC7C,YAAY,CAAC,CAAC,CAAC,CAmBjB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAuD9G;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAchH"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.STANDARD_CAPS = exports.PREFIXED_APPIUM_OPTS_CAP = exports.APPIUM_VENDOR_PREFIX = void 0;
|
|
7
4
|
exports.mergeCaps = mergeCaps;
|
|
@@ -13,9 +10,9 @@ exports.parseCaps = parseCaps;
|
|
|
13
10
|
exports.processCapabilities = processCapabilities;
|
|
14
11
|
exports.promoteAppiumOptionsForObject = promoteAppiumOptionsForObject;
|
|
15
12
|
exports.promoteAppiumOptions = promoteAppiumOptions;
|
|
16
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
17
13
|
const validation_1 = require("./validation");
|
|
18
14
|
const support_1 = require("@appium/support");
|
|
15
|
+
const utils_1 = require("../utils");
|
|
19
16
|
const logger_1 = require("./logger");
|
|
20
17
|
const errors_1 = require("../protocol/errors");
|
|
21
18
|
exports.APPIUM_VENDOR_PREFIX = 'appium:';
|
|
@@ -31,7 +28,7 @@ function mergeCaps(primary = {}, secondary = {}) {
|
|
|
31
28
|
});
|
|
32
29
|
for (const [name, value] of Object.entries(secondary)) {
|
|
33
30
|
// Overwriting is not allowed. Primary and secondary must have different properties (w3c rule 4.4)
|
|
34
|
-
if (
|
|
31
|
+
if (primary[name] !== undefined) {
|
|
35
32
|
throw new errors_1.errors.InvalidArgumentError(`property '${name}' should not exist on both primary (${JSON.stringify(primary)}) and secondary (${JSON.stringify(secondary)}) object`);
|
|
36
33
|
}
|
|
37
34
|
result[name] = value;
|
|
@@ -43,24 +40,23 @@ function mergeCaps(primary = {}, secondary = {}) {
|
|
|
43
40
|
*/
|
|
44
41
|
function validateCaps(caps, constraints = {}, opts = {}) {
|
|
45
42
|
const { skipPresenceConstraint } = opts;
|
|
46
|
-
if (!
|
|
43
|
+
if (!support_1.util.isPlainObject(caps)) {
|
|
47
44
|
throw new errors_1.errors.InvalidArgumentError(`must be a JSON object`);
|
|
48
45
|
}
|
|
49
46
|
// Remove the 'presence' constraint if we're not checking for it
|
|
50
|
-
constraints = (
|
|
51
|
-
|
|
52
|
-
(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const validationErrors = validation_1.validator.validate(lodash_1.default.pickBy(caps, support_1.util.hasValue), constraints);
|
|
47
|
+
constraints = Object.fromEntries(Object.entries(constraints ?? {}).map(([key, constraint]) => {
|
|
48
|
+
if (skipPresenceConstraint) {
|
|
49
|
+
return [key, (0, utils_1.omit)(constraint, 'presence')];
|
|
50
|
+
}
|
|
51
|
+
if (constraint.presence === true) {
|
|
52
|
+
return [key, { ...(0, utils_1.omit)(constraint, 'presence'), presence: { allowEmpty: false } }];
|
|
53
|
+
}
|
|
54
|
+
return [key, constraint];
|
|
55
|
+
}));
|
|
56
|
+
const validationErrors = validation_1.validator.validate((0, utils_1.pickBy)(caps, (value) => support_1.util.hasValue(value)), constraints);
|
|
61
57
|
if (validationErrors) {
|
|
62
58
|
const message = [];
|
|
63
|
-
for (const [attribute, reasons] of
|
|
59
|
+
for (const [attribute, reasons] of Object.entries(validationErrors)) {
|
|
64
60
|
for (const reason of reasons) {
|
|
65
61
|
message.push(`'${attribute}' ${reason}`);
|
|
66
62
|
}
|
|
@@ -104,9 +100,11 @@ function isStandardCap(cap) {
|
|
|
104
100
|
function stripAppiumPrefixes(caps) {
|
|
105
101
|
// split into prefixed and non-prefixed.
|
|
106
102
|
// non-prefixed should be standard caps at this point
|
|
107
|
-
const
|
|
103
|
+
const capKeys = Object.keys(caps);
|
|
104
|
+
const prefixedCaps = capKeys.filter((cap) => String(cap).startsWith(exports.APPIUM_VENDOR_PREFIX));
|
|
105
|
+
const nonPrefixedCaps = capKeys.filter((cap) => !String(cap).startsWith(exports.APPIUM_VENDOR_PREFIX));
|
|
108
106
|
// initialize this with the k/v pairs of the non-prefixed caps
|
|
109
|
-
const strippedCaps = (
|
|
107
|
+
const strippedCaps = Object.fromEntries(nonPrefixedCaps.map((cap) => [cap, caps[cap]]));
|
|
110
108
|
const badPrefixedCaps = [];
|
|
111
109
|
// Strip out the 'appium:' prefix
|
|
112
110
|
for (const prefixedCap of prefixedCaps) {
|
|
@@ -114,7 +112,7 @@ function stripAppiumPrefixes(caps) {
|
|
|
114
112
|
// If it's standard capability that was prefixed, add it to an array of incorrectly prefixed capabilities
|
|
115
113
|
if (isStandardCap(strippedCapName)) {
|
|
116
114
|
badPrefixedCaps.push(strippedCapName);
|
|
117
|
-
if (
|
|
115
|
+
if (strippedCaps[strippedCapName] == null) {
|
|
118
116
|
strippedCaps[strippedCapName] = caps[prefixedCap];
|
|
119
117
|
}
|
|
120
118
|
else {
|
|
@@ -136,13 +134,10 @@ function stripAppiumPrefixes(caps) {
|
|
|
136
134
|
* Get an array of all the unprefixed caps that are being used in 'alwaysMatch' and all of the 'firstMatch' object
|
|
137
135
|
*/
|
|
138
136
|
function findNonPrefixedCaps({ alwaysMatch = {}, firstMatch = [] }) {
|
|
139
|
-
return
|
|
140
|
-
.reduce((unprefixedCaps, caps) => [
|
|
137
|
+
return support_1.util.uniq([alwaysMatch, ...firstMatch].reduce((unprefixedCaps, caps) => [
|
|
141
138
|
...unprefixedCaps,
|
|
142
139
|
...Object.keys(caps).filter((cap) => !cap.includes(':') && !isStandardCap(cap)),
|
|
143
|
-
], [])
|
|
144
|
-
.uniq()
|
|
145
|
-
.value();
|
|
140
|
+
], []));
|
|
146
141
|
}
|
|
147
142
|
/**
|
|
148
143
|
* Parse capabilities
|
|
@@ -150,7 +145,7 @@ function findNonPrefixedCaps({ alwaysMatch = {}, firstMatch = [] }) {
|
|
|
150
145
|
*/
|
|
151
146
|
function parseCaps(caps, constraints = {}, shouldValidateCaps = true) {
|
|
152
147
|
// If capabilities request is not an object, return error (#1.1)
|
|
153
|
-
if (!
|
|
148
|
+
if (!support_1.util.isPlainObject(caps)) {
|
|
154
149
|
throw new errors_1.errors.InvalidArgumentError('The capabilities argument was not valid for the following reason(s): "capabilities" must be a JSON object.');
|
|
155
150
|
}
|
|
156
151
|
// Let 'requiredCaps' be property named 'alwaysMatch' from capabilities request (#2)
|
|
@@ -159,7 +154,7 @@ function parseCaps(caps, constraints = {}, shouldValidateCaps = true) {
|
|
|
159
154
|
firstMatch: allFirstMatchCaps = [{}], // If 'firstMatch' is undefined set it to a singleton list with one empty object (#3.1)
|
|
160
155
|
} = caps;
|
|
161
156
|
// Reject 'firstMatch' argument if it's not an array (#3.2)
|
|
162
|
-
if (!
|
|
157
|
+
if (!Array.isArray(allFirstMatchCaps)) {
|
|
163
158
|
throw new errors_1.errors.InvalidArgumentError('The capabilities.firstMatch argument was not valid for the following reason(s): "capabilities.firstMatch" must be a JSON array or undefined');
|
|
164
159
|
}
|
|
165
160
|
// If an empty array as provided, we'll be forgiving and make it an array of one empty object
|
|
@@ -171,7 +166,7 @@ function parseCaps(caps, constraints = {}, shouldValidateCaps = true) {
|
|
|
171
166
|
}
|
|
172
167
|
// Check for non-prefixed, non-standard capabilities and log warnings if they are found
|
|
173
168
|
const nonPrefixedCaps = findNonPrefixedCaps(caps);
|
|
174
|
-
if (!
|
|
169
|
+
if (!support_1.util.isEmpty(nonPrefixedCaps)) {
|
|
175
170
|
throw new errors_1.errors.InvalidArgumentError(`All non-standard capabilities should have a vendor prefix. The following capabilities did not have one: ${nonPrefixedCaps}`);
|
|
176
171
|
}
|
|
177
172
|
// Strip out the 'appium:' prefix from all
|
|
@@ -185,10 +180,11 @@ function parseCaps(caps, constraints = {}, shouldValidateCaps = true) {
|
|
|
185
180
|
}
|
|
186
181
|
// Remove the 'presence' constraint for any keys that are already present in 'requiredCaps'
|
|
187
182
|
// since we know that this constraint has already passed
|
|
188
|
-
const filteredConstraints =
|
|
183
|
+
const filteredConstraints = Object.fromEntries(Object.entries(constraints ?? {}).filter(([key]) => !(key in strippedRequiredCaps)));
|
|
189
184
|
// Validate all of the first match capabilities and return an array with only the valid caps (see spec #5)
|
|
190
185
|
const validationErrors = [];
|
|
191
|
-
const validatedFirstMatchCaps =
|
|
186
|
+
const validatedFirstMatchCaps = strippedAllFirstMatchCaps
|
|
187
|
+
.map((firstMatchCaps) => {
|
|
192
188
|
try {
|
|
193
189
|
// Validate firstMatch caps
|
|
194
190
|
return shouldValidateCaps
|
|
@@ -198,7 +194,8 @@ function parseCaps(caps, constraints = {}, shouldValidateCaps = true) {
|
|
|
198
194
|
catch (e) {
|
|
199
195
|
validationErrors.push(e.message);
|
|
200
196
|
}
|
|
201
|
-
})
|
|
197
|
+
})
|
|
198
|
+
.filter(Boolean);
|
|
202
199
|
/**
|
|
203
200
|
* Try to merge requiredCaps with first match capabilities, break once it finds its first match
|
|
204
201
|
* (see spec #6)
|
|
@@ -232,7 +229,7 @@ function processCapabilities(w3cCaps, constraints = {}, shouldValidateCaps = tru
|
|
|
232
229
|
const { matchedCaps, validationErrors } = parseCaps(w3cCaps, constraints, shouldValidateCaps);
|
|
233
230
|
// If we found an error throw an exception
|
|
234
231
|
if (!support_1.util.hasValue(matchedCaps)) {
|
|
235
|
-
if (
|
|
232
|
+
if (Array.isArray(w3cCaps.firstMatch) && w3cCaps.firstMatch.length > 1) {
|
|
236
233
|
// If there was more than one 'firstMatch' cap, indicate that we couldn't find a matching capabilities set and show all the errors
|
|
237
234
|
throw new errors_1.errors.InvalidArgumentError(`Could not find matching capabilities from ${JSON.stringify(w3cCaps)}:\n ${validationErrors.join('\n')}`);
|
|
238
235
|
}
|
|
@@ -252,10 +249,10 @@ function promoteAppiumOptionsForObject(obj) {
|
|
|
252
249
|
if (!appiumOptions) {
|
|
253
250
|
return obj;
|
|
254
251
|
}
|
|
255
|
-
if (!
|
|
252
|
+
if (!support_1.util.isPlainObject(appiumOptions)) {
|
|
256
253
|
throw new errors_1.errors.SessionNotCreatedError(`The ${exports.PREFIXED_APPIUM_OPTS_CAP} capability must be an object`);
|
|
257
254
|
}
|
|
258
|
-
if (
|
|
255
|
+
if (support_1.util.isEmpty(appiumOptions)) {
|
|
259
256
|
return obj;
|
|
260
257
|
}
|
|
261
258
|
logger_1.log.debug(`Found ${exports.PREFIXED_APPIUM_OPTS_CAP} capability present; will promote items inside to caps`);
|
|
@@ -264,7 +261,7 @@ function promoteAppiumOptionsForObject(obj) {
|
|
|
264
261
|
*/
|
|
265
262
|
const shouldAddVendorPrefix = (capName) => !capName.startsWith(exports.APPIUM_VENDOR_PREFIX);
|
|
266
263
|
const verifyIfAcceptable = (capName) => {
|
|
267
|
-
if (
|
|
264
|
+
if (typeof capName !== 'string') {
|
|
268
265
|
throw new errors_1.errors.SessionNotCreatedError(`Capability names in ${exports.PREFIXED_APPIUM_OPTS_CAP} must be strings. '${capName}' is unexpected`);
|
|
269
266
|
}
|
|
270
267
|
if (isStandardCap(capName)) {
|
|
@@ -272,18 +269,21 @@ function promoteAppiumOptionsForObject(obj) {
|
|
|
272
269
|
}
|
|
273
270
|
return capName;
|
|
274
271
|
};
|
|
275
|
-
const preprocessedOptions =
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
272
|
+
const preprocessedOptions = {};
|
|
273
|
+
for (const [key, value] of Object.entries(appiumOptions)) {
|
|
274
|
+
const verifiedKey = verifyIfAcceptable(key);
|
|
275
|
+
const finalKey = shouldAddVendorPrefix(verifiedKey) ? `${exports.APPIUM_VENDOR_PREFIX}${verifiedKey}` : verifiedKey;
|
|
276
|
+
preprocessedOptions[finalKey] = value;
|
|
277
|
+
}
|
|
279
278
|
// warn if we are going to overwrite any keys on the base caps object
|
|
280
|
-
const overwrittenKeys =
|
|
279
|
+
const overwrittenKeys = Object.keys(obj).filter((key) => key in preprocessedOptions);
|
|
281
280
|
if (overwrittenKeys.length > 0) {
|
|
282
281
|
logger_1.log.warn(`Found capabilities inside ${exports.PREFIXED_APPIUM_OPTS_CAP} that will overwrite ` +
|
|
283
282
|
`capabilities at the top level: ${JSON.stringify(overwrittenKeys)}`);
|
|
284
283
|
}
|
|
285
|
-
|
|
286
|
-
|
|
284
|
+
const restObj = (0, utils_1.omit)(obj, exports.PREFIXED_APPIUM_OPTS_CAP);
|
|
285
|
+
return structuredClone({
|
|
286
|
+
...restObj,
|
|
287
287
|
...preprocessedOptions,
|
|
288
288
|
});
|
|
289
289
|
}
|
|
@@ -294,13 +294,13 @@ function promoteAppiumOptionsForObject(obj) {
|
|
|
294
294
|
function promoteAppiumOptions(originalCaps) {
|
|
295
295
|
const result = {};
|
|
296
296
|
const { alwaysMatch, firstMatch } = originalCaps;
|
|
297
|
-
if (
|
|
297
|
+
if (support_1.util.isPlainObject(alwaysMatch)) {
|
|
298
298
|
result.alwaysMatch = promoteAppiumOptionsForObject(alwaysMatch);
|
|
299
299
|
}
|
|
300
300
|
else if ('alwaysMatch' in originalCaps) {
|
|
301
301
|
result.alwaysMatch = alwaysMatch;
|
|
302
302
|
}
|
|
303
|
-
if (
|
|
303
|
+
if (Array.isArray(firstMatch)) {
|
|
304
304
|
result.firstMatch = firstMatch.map(promoteAppiumOptionsForObject);
|
|
305
305
|
}
|
|
306
306
|
else if ('firstMatch' in originalCaps) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../lib/basedriver/capabilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../lib/basedriver/capabilities.ts"],"names":[],"mappings":";;;AAqCA,8BA0BC;AAKD,oCAyCC;AA+BD,sCAEC;AAOD,kDA0CC;AAKD,kDAeC;AAMD,8BAoGC;AAKD,kDA0BC;AAMD,sEAuDC;AAMD,oDAcC;AAlaD,6CAAuC;AACvC,6CAAqC;AACrC,oCAAsC;AACtC,qCAA6B;AAC7B,+CAA0C;AAE7B,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,wBAAwB,GAAG,GAAG,4BAAoB,SAAS,CAAC;AAczE;;;;GAIG;AACH,SAAgB,SAAS,CAMvB,UAA+B,EAAa,EAC5C,YAAmC,EAAe;IAElD,MAAM,MAAM,GAAG,CAAC;QACd,GAAG,OAAO;KACX,CAAuC,CAAC;IAEzC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACtD,kGAAkG;QAClG,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,eAAM,CAAC,oBAAoB,CACnC,aAAa,IAAI,uCAAuC,IAAI,CAAC,SAAS,CACpE,OAAO,CACR,oBAAoB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CACzD,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,IAA2B,CAAC,GAAG,KAAK,CAAC;IAC9C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,IAAqB,EACrB,cAA6B,EAAO,EACpC,OAAqC,EAAE;IAEvC,MAAM,EAAC,sBAAsB,EAAC,GAAG,IAAI,CAAC;IAEtC,IAAI,CAAC,cAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;IACjE,CAAC;IAED,gEAAgE;IAChE,WAAW,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;QAC1D,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,EAAE,IAAA,YAAI,EAAC,UAAqC,EAAE,UAAU,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,IAAK,UAAmC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,EAAE,EAAC,GAAG,IAAA,YAAI,EAAC,UAAqC,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAC,UAAU,EAAE,KAAK,EAAC,EAAC,CAAC,CAAC;QAC5G,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3B,CAAC,CAAC,CACE,CAAC;IAEP,MAAM,gBAAgB,GAAG,sBAAS,CAAC,QAAQ,CACzC,IAAA,cAAM,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAC7C,WAAW,CACZ,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpE,KAAK,MAAM,MAAM,IAAK,OAAoB,EAAE,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc;IACd,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACU,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CACxC,IAAI,GAAG,CACL,CAAC;IACC,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,kBAAkB;IAClB,OAAO;IACP,eAAe;IACf,UAAU;IACV,2BAA2B;IAC3B,yBAAyB;IACzB,WAAW;IACX,cAAc;CACf,CAAwC,CAC1C,CACF,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,qBAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAExF;;;GAGG;AACH,SAAgB,aAAa,CAAC,GAAW;IACvC,OAAO,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAwB,IAAuB;IAChF,wCAAwC;IACxC,qDAAqD;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,4BAAoB,CAAC,CAAC,CAAC;IAC3F,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,4BAAoB,CAAC,CAAC,CAAC;IAE/F,8DAA8D;IAC9D,MAAM,YAAY,GAA4B,MAAM,CAAC,WAAW,CAC9D,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAwB,CAAC,CAAC,CAAC,CACjD,CAAC;IACrB,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,iCAAiC;IACjC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,WAAW,CAAC,SAAS,CAAC,4BAAoB,CAAC,MAAM,CAAiC,CAAC;QAE3G,yGAAyG;QACzG,IAAI,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtC,IAAI,YAAY,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC1C,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,WAAgC,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,YAAG,CAAC,IAAI,CACN,wBAAwB,WAAW,IAAI,IAAI,CAAC,WAAgC,CAAC,QAAQ;oBACnF,qBAAqB,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC,GAAG,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,WAAgC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,2JAA2J;IAC3J,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,YAAG,CAAC,IAAI,CACN,oBAAoB,IAAI,CAAC,SAAS,CAChC,eAAe,CAChB,gEAAgE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,YAA+B,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,EACE,WAAW,GAAG,EAAE,EAChB,UAAU,GAAG,EAAE,EACI;IAErB,OAAO,cAAI,CAAC,IAAI,CACd,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,MAAM,CACjC,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;QACxB,GAAG,cAAc;QACjB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;KAChF,EACD,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,SAAS,CACvB,IAAwB,EACxB,cAA6B,EAAO,EACpC,qBAA0C,IAAI;IAE9C,gEAAgE;IAChE,IAAI,CAAC,cAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,eAAM,CAAC,oBAAoB,CACnC,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,wFAAwF;IACxF,MAAM,EACJ,WAAW,EAAE,YAAY,GAAG,EAAuB,EAAE,wEAAwE;IAC7H,UAAU,EAAE,iBAAiB,GAAG,CAAC,EAAE,CAAwB,EAAE,uFAAuF;MACrJ,GAAG,IAAI,CAAC;IAET,2DAA2D;IAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,eAAM,CAAC,oBAAoB,CACnC,6IAA6I,CAC9I,CAAC;IACJ,CAAC;IAED,6FAA6F;IAC7F,mGAAmG;IACnG,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,YAAG,CAAC,IAAI,CACN,gGAAgG;YAC9F,sDAAsD,CACzD,CAAC;QACF,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,uFAAuF;IACvF,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,eAAM,CAAC,oBAAoB,CACnC,2GAA2G,eAAe,EAAE,CAC7H,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,IAAI,oBAAoB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,yBAAyB,GAAsB,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEhG,iKAAiK;IACjK,IAAI,kBAAkB,EAAE,CAAC;QACvB,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,EAAE,WAAW,EAAE;YACrE,sBAAsB,EAAE,IAAI;SAC7B,CAAC,CAAC;IACL,CAAC;IACD,2FAA2F;IAC3F,wDAAwD;IACxD,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAC5C,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAC/E,CAAC;IAEP,0GAA0G;IAC1G,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,uBAAuB,GAAG,yBAAyB;SACtD,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,2BAA2B;YAC3B,OAAO,kBAAkB;gBACvB,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,mBAAmB,CAAC;gBACnD,CAAC,CAAC,cAAc,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,gBAAgB,CAAC,IAAI,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAsB,CAAC;IAExC;;;OAGG;IACH,IAAI,WAAW,GAAiC,IAAI,CAAC;IACrD,KAAK,MAAM,cAAc,IAAI,uBAAuB,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,WAAW,GAAG,SAAS,CAAC,oBAAoB,EAAE,cAAc,CAAiC,CAAC;YAC9F,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAG,CAAC,IAAI,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YACjC,gBAAgB,CAAC,IAAI,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,OAAO;QACL,YAAY;QACZ,iBAAiB;QACjB,uBAAuB;QACvB,WAAW;QACX,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAIjC,OAAgB,EAChB,cAA6B,EAAO,EACpC,qBAA0C,IAAI;IAE9C,MAAM,EAAC,WAAW,EAAE,gBAAgB,EAAC,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAE5F,0CAA0C;IAC1C,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvE,kIAAkI;YAClI,MAAM,IAAI,eAAM,CAAC,oBAAoB,CACnC,6CAA6C,IAAI,CAAC,SAAS,CACzD,OAAO,CACR,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,WAAW,IAAI,EAAE,CAAoB,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,SAAgB,6BAA6B,CAAwB,GAAsB;IACzF,MAAM,aAAa,GAAG,GAAG,CAAC,gCAAwB,CAAC,CAAC;IACpD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,CAAC,cAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,eAAM,CAAC,sBAAsB,CACrC,OAAO,gCAAwB,+BAA+B,CAC/D,CAAC;IACJ,CAAC;IACD,IAAI,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAG,CAAC,KAAK,CACP,SAAS,gCAAwB,wDAAwD,CAC1F,CAAC;IAEF;;OAEG;IACH,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,4BAAoB,CAAC,CAAC;IAC7F,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,EAAE;QAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,eAAM,CAAC,sBAAsB,CACrC,uBAAuB,gCAAwB,sBAAsB,OAAO,iBAAiB,CAC9F,CAAC;QACJ,CAAC;QACD,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAM,CAAC,sBAAsB,CACrC,GAAG,gCAAwB,qDAAqD,OAAO,iBAAiB,CACzG,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,mBAAmB,GAA4B,EAAE,CAAC;IACxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAwC,CAAC,EAAE,CAAC;QACpF,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,4BAAoB,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5G,mBAAmB,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;IACxC,CAAC;IACD,qEAAqE;IACrE,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;IACrF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,YAAG,CAAC,IAAI,CACN,6BAA6B,gCAAwB,uBAAuB;YAC1E,kCAAkC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,YAAI,EAAC,GAAG,EAAE,gCAAwB,CAAsB,CAAC;IACzE,OAAO,eAAe,CAAC;QACrB,GAAG,OAAO;QACV,GAAG,mBAAmB;KACvB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAwB,YAAgC;IAC1F,MAAM,MAAM,GAAG,EAAwB,CAAC;IACxC,MAAM,EAAC,WAAW,EAAE,UAAU,EAAC,GAAG,YAAY,CAAC;IAC/C,IAAI,cAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,WAAW,GAAG,6BAA6B,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;QACzC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bidi.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/bidi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bidi.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/bidi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAgB,aAAa,EAAC,MAAM,eAAe,CAAC;AAI5E,OAAO,QAAQ,WAAW,CAAC;IAEzB,UAAU,UAAU,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,aAAa;KAAG;CACrE"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const support_1 = require("@appium/support");
|
|
6
4
|
const mixin_1 = require("./mixin");
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
5
|
const BidiCommands = {
|
|
9
6
|
async bidiSubscribe(events, contexts = ['']) {
|
|
10
7
|
for (const event of events) {
|
|
@@ -23,15 +20,14 @@ const BidiCommands = {
|
|
|
23
20
|
},
|
|
24
21
|
async bidiStatus() {
|
|
25
22
|
const result = await this.getStatus();
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
return result;
|
|
23
|
+
const base = support_1.util.isPlainObject(result) ? { ...result } : {};
|
|
24
|
+
return {
|
|
25
|
+
...base,
|
|
26
|
+
ready: 'ready' in base ? base.ready : true,
|
|
27
|
+
message: 'message' in base
|
|
28
|
+
? base.message
|
|
29
|
+
: `${this.constructor.name} is ready to accept commands`,
|
|
30
|
+
};
|
|
35
31
|
}
|
|
36
32
|
};
|
|
37
33
|
(0, mixin_1.mixin)(BidiCommands);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bidi.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/bidi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bidi.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/bidi.ts"],"names":[],"mappings":";;AAAA,6CAAqC;AAGrC,mCAA8B;AAO9B,MAAM,YAAY,GAAkB;IAClC,KAAK,CAAC,aAAa,CAEjB,MAAgB,EAChB,WAAqB,CAAC,EAAE,CAAC;QAEzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAEnB,MAAgB,EAChB,WAAqB,CAAC,EAAE,CAAC;QAEzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,GAA4B,cAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,GAAG,MAAM,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,OAAO;YACL,GAAG,IAAI;YACP,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,KAAiB,CAAC,CAAC,CAAC,IAAI;YACvD,OAAO,EACL,SAAS,IAAI,IAAI;gBACf,CAAC,CAAE,IAAI,CAAC,OAAkB;gBAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,8BAA8B;SAC7D,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,IAAA,aAAK,EAAC,YAAY,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAgB,cAAc,EAAC,MAAM,eAAe,CAAC;AAK7E,OAAO,QAAQ,WAAW,CAAC;IAEzB,UAAU,UAAU,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,cAAc;KAAG;CACtE"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const support_1 = require("@appium/support");
|
|
7
4
|
const mixin_1 = require("./mixin");
|
|
8
5
|
const EventCommands = {
|
|
9
6
|
/**
|
|
@@ -23,11 +20,11 @@ const EventCommands = {
|
|
|
23
20
|
* @returns the event history log object
|
|
24
21
|
*/
|
|
25
22
|
async getLogEvents(type) {
|
|
26
|
-
if (
|
|
23
|
+
if (support_1.util.isEmpty(type)) {
|
|
27
24
|
return this.eventHistory;
|
|
28
25
|
}
|
|
29
|
-
const typeList =
|
|
30
|
-
return
|
|
26
|
+
const typeList = Array.isArray(type) ? type : [type];
|
|
27
|
+
return Object.entries(this.eventHistory).reduce((acc, [eventType, eventTimes]) => {
|
|
31
28
|
if (typeList.includes(eventType)) {
|
|
32
29
|
acc[eventType] = eventTimes;
|
|
33
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/event.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/event.ts"],"names":[],"mappings":";;AACA,6CAAqC;AAErC,mCAA8B;AAO9B,MAAM,aAAa,GAAmB;IACpC;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAA6C,MAAc,EAAE,KAAa;QAC5F,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAA6C,IAAuB;QAGpF,IAAI,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAC7C,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE;YAC/B,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;YAC9B,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACuB,CAAC;IAC9B,CAAC;CACF,CAAC;AAEF,IAAA,aAAK,EAAC,aAAa,CAAC,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
3
|
+
const support_1 = require("@appium/support");
|
|
7
4
|
const protocol_1 = require("../../protocol");
|
|
8
5
|
const levenshtein_match_1 = require("../../helpers/levenshtein-match");
|
|
9
6
|
const mixin_1 = require("./mixin");
|
|
@@ -12,8 +9,8 @@ const ExecuteCommands = {
|
|
|
12
9
|
const Driver = this.constructor;
|
|
13
10
|
const commandMetadata = { ...Driver.executeMethodMap?.[script] };
|
|
14
11
|
if (!commandMetadata.command) {
|
|
15
|
-
const availableScripts =
|
|
16
|
-
if (
|
|
12
|
+
const availableScripts = Object.keys(Driver.executeMethodMap ?? {});
|
|
13
|
+
if (support_1.util.isEmpty(availableScripts)) {
|
|
17
14
|
throw new protocol_1.errors.UnsupportedOperationError(`Unsupported execute method '${script}'. ` +
|
|
18
15
|
`Make sure the installed ${Driver.name} is up-to-date. ` +
|
|
19
16
|
`The current driver version does not define any execute methods.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/execute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/execute.ts"],"names":[],"mappings":";;AAAA,6CAAqC;AACrC,6CAAmE;AASnE,uEAA0E;AAC1E,mCAA8B;AAQ9B,MAAM,eAAe,GAAqB;IACxC,KAAK,CAAC,aAAa,CAEjB,MAAc,EACd,SAAgE;QAEhE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAqC,CAAC;QAC1D,MAAM,eAAe,GAAG,EAAC,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;YACpE,IAAI,cAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,iBAAM,CAAC,yBAAyB,CACxC,+BAA+B,MAAM,KAAK;oBAC1C,2BAA2B,MAAM,CAAC,IAAI,kBAAkB;oBACxD,iEAAiE,CAClE,CAAC;YACJ,CAAC;YACD,MAAM,EAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAC,GAAG,IAAA,6CAAyB,EAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAChG,MAAM,IAAI,iBAAM,CAAC,yBAAyB,CACxC,CAAC,UAAU;gBACT,CAAC,CAAC,+BAA+B,MAAM,oBAAoB,UAAU,KAAK;gBAC1E,CAAC,CAAC,+BAA+B,MAAM,KAAK,CAAC;gBAC/C,2BAA2B,MAAM,CAAC,IAAI,kBAAkB;gBACxD,+DAA+D;gBAC/D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CACzB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,sCAA2B,EAAC,SAAkB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,eAAe,CAAC,OAA8B,CAAC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAkB,CAAC;QACnD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,IAAA,aAAK,EAAC,eAAe,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAU,YAAY,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAU,YAAY,EAAC,MAAM,eAAe,CAAC;AAIrE,OAAO,QAAQ,WAAW,CAAC;IAEzB,UAAU,UAAU,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,YAAY;KAAG;CACpE"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
7
3
|
const mixin_1 = require("./mixin");
|
|
8
4
|
const LogCommands = {
|
|
9
5
|
supportedLogTypes: {},
|
|
@@ -14,7 +10,7 @@ const LogCommands = {
|
|
|
14
10
|
async getLog(logType) {
|
|
15
11
|
this.log.debug(`Retrieving '${String(logType)}' logs`);
|
|
16
12
|
if (!(logType in this.supportedLogTypes)) {
|
|
17
|
-
const logsTypesWithDescriptions =
|
|
13
|
+
const logsTypesWithDescriptions = Object.fromEntries(Object.entries(this.supportedLogTypes).map(([key, value]) => [key, value.description]));
|
|
18
14
|
throw new Error(`Unsupported log type '${String(logType)}'. ` +
|
|
19
15
|
`Supported types: ${JSON.stringify(logsTypesWithDescriptions)}`);
|
|
20
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/log.ts"],"names":[],"mappings":";;AAEA,mCAA8B;AAO9B,MAAM,WAAW,GAAiB;IAChC,iBAAiB,EAAE,EAAE;IAErB,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAyC,OAAe;QAClE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEvD,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,MAAM,yBAAyB,GAAG,MAAM,CAAC,WAAW,CAClD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CACvF,CAAC;YACF,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,CAAC,OAAO,CAAC,KAAK;gBAC3C,oBAAoB,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;CACF,CAAC;AAEF,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/timeout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/timeout.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAGjE,OAAO,QAAQ,WAAW,CAAC;IAEzB,UAAU,UAAU,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,gBAAgB;KAAG;CACxE"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
const asyncbox_1 = require("asyncbox");
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
4
|
const support_1 = require("@appium/support");
|
|
9
5
|
const protocol_1 = require("../../protocol");
|
|
10
6
|
const mixin_1 = require("./mixin");
|
|
11
7
|
const MIN_TIMEOUT = 0;
|
|
12
8
|
const TimeoutCommands = {
|
|
13
9
|
async timeouts(type, ms, script, pageLoad, implicit) {
|
|
14
|
-
if (type &&
|
|
10
|
+
if (type && typeof type === 'string' && support_1.util.hasValue(ms)) {
|
|
15
11
|
// legacy stuff with some Appium-specific additions
|
|
16
12
|
this.log.debug(`Timeout arguments: ${JSON.stringify({ type, ms })}}`);
|
|
17
13
|
switch (type) {
|
|
@@ -28,7 +24,7 @@ const TimeoutCommands = {
|
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
26
|
this.log.debug(`W3C timeout argument: ${JSON.stringify({ script, pageLoad, implicit })}}`);
|
|
31
|
-
if ([script, pageLoad, implicit].every(
|
|
27
|
+
if ([script, pageLoad, implicit].every((value) => value == null)) {
|
|
32
28
|
throw new protocol_1.errors.InvalidArgumentError('W3C protocol expects any of script, pageLoad or implicit to be set');
|
|
33
29
|
}
|
|
34
30
|
if (support_1.util.hasValue(script)) {
|
|
@@ -71,7 +67,7 @@ const TimeoutCommands = {
|
|
|
71
67
|
if (this.managedDrivers?.length) {
|
|
72
68
|
this.log.debug('Setting implicit wait on managed drivers');
|
|
73
69
|
for (const driver of this.managedDrivers) {
|
|
74
|
-
if (
|
|
70
|
+
if (typeof driver.setImplicitWait === 'function') {
|
|
75
71
|
driver.setImplicitWait(ms);
|
|
76
72
|
}
|
|
77
73
|
}
|
|
@@ -83,7 +79,7 @@ const TimeoutCommands = {
|
|
|
83
79
|
if (this.managedDrivers?.length) {
|
|
84
80
|
this.log.debug('Setting new command timeout on managed drivers');
|
|
85
81
|
for (const driver of this.managedDrivers) {
|
|
86
|
-
if (
|
|
82
|
+
if (typeof driver.setNewCommandTimeout === 'function') {
|
|
87
83
|
driver.setNewCommandTimeout(ms);
|
|
88
84
|
}
|
|
89
85
|
}
|
|
@@ -104,7 +100,7 @@ const TimeoutCommands = {
|
|
|
104
100
|
},
|
|
105
101
|
parseTimeoutArgument(ms) {
|
|
106
102
|
const duration = parseInt(String(ms), 10);
|
|
107
|
-
if (
|
|
103
|
+
if (Number.isNaN(duration) || duration < MIN_TIMEOUT) {
|
|
108
104
|
throw new protocol_1.errors.UnknownError(`Invalid timeout value '${ms}'`);
|
|
109
105
|
}
|
|
110
106
|
return duration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/timeout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/timeout.ts"],"names":[],"mappings":"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"}
|