@appium/base-driver 10.0.0-beta.0 → 10.0.0-beta.2
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/README.md +0 -8
- package/build/lib/basedriver/capabilities.d.ts.map +1 -1
- package/build/lib/basedriver/capabilities.js +2 -4
- package/build/lib/basedriver/capabilities.js.map +1 -1
- package/build/lib/basedriver/commands/execute.js.map +1 -1
- package/build/lib/basedriver/commands/timeout.js +12 -31
- package/build/lib/basedriver/commands/timeout.js.map +1 -1
- package/build/lib/basedriver/core.d.ts +0 -8
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +8 -18
- package/build/lib/basedriver/core.js.map +1 -1
- package/build/lib/basedriver/driver.js +2 -2
- package/build/lib/basedriver/driver.js.map +1 -1
- package/build/lib/basedriver/helpers.d.ts +9 -1
- package/build/lib/basedriver/helpers.d.ts.map +1 -1
- package/build/lib/basedriver/helpers.js +56 -142
- package/build/lib/basedriver/helpers.js.map +1 -1
- package/build/lib/basedriver/validation.d.ts +7 -0
- package/build/lib/basedriver/validation.d.ts.map +1 -0
- package/build/lib/basedriver/validation.js +130 -0
- package/build/lib/basedriver/validation.js.map +1 -0
- package/build/lib/express/middleware.d.ts +0 -6
- package/build/lib/express/middleware.d.ts.map +1 -1
- package/build/lib/express/middleware.js +28 -60
- 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 +0 -1
- package/build/lib/express/server.js.map +1 -1
- package/build/lib/helpers/capabilities.d.ts +13 -6
- package/build/lib/helpers/capabilities.d.ts.map +1 -1
- package/build/lib/helpers/capabilities.js +7 -0
- package/build/lib/helpers/capabilities.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 -1
- package/build/lib/index.js.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.d.ts +0 -8
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.js +7 -38
- package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
- package/build/lib/protocol/errors.d.ts +171 -277
- package/build/lib/protocol/errors.d.ts.map +1 -1
- package/build/lib/protocol/errors.js +201 -421
- package/build/lib/protocol/errors.js.map +1 -1
- package/build/lib/protocol/helpers.d.ts +6 -6
- package/build/lib/protocol/helpers.d.ts.map +1 -1
- package/build/lib/protocol/helpers.js +11 -7
- package/build/lib/protocol/helpers.js.map +1 -1
- package/build/lib/protocol/index.d.ts +2 -1
- package/build/lib/protocol/index.d.ts.map +1 -1
- package/build/lib/protocol/index.js +2 -1
- package/build/lib/protocol/index.js.map +1 -1
- package/build/lib/protocol/protocol.d.ts +16 -19
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/protocol.js +98 -119
- package/build/lib/protocol/protocol.js.map +1 -1
- package/build/lib/protocol/routes.d.ts +12 -714
- package/build/lib/protocol/routes.d.ts.map +1 -1
- package/build/lib/protocol/routes.js +24 -488
- package/build/lib/protocol/routes.js.map +1 -1
- package/build/lib/protocol/validators.d.ts +4 -7
- package/build/lib/protocol/validators.d.ts.map +1 -1
- package/build/lib/protocol/validators.js +4 -21
- package/build/lib/protocol/validators.js.map +1 -1
- package/lib/basedriver/capabilities.ts +2 -4
- package/lib/basedriver/commands/execute.ts +1 -1
- package/lib/basedriver/commands/timeout.ts +16 -43
- package/lib/basedriver/core.ts +10 -19
- package/lib/basedriver/driver.ts +3 -3
- package/lib/basedriver/helpers.js +61 -167
- package/lib/basedriver/validation.ts +145 -0
- package/lib/express/middleware.js +32 -70
- package/lib/express/server.js +0 -2
- package/lib/helpers/capabilities.js +9 -4
- package/lib/index.js +2 -0
- package/lib/jsonwp-proxy/proxy.js +8 -45
- package/lib/protocol/{errors.js → errors.ts} +322 -436
- package/lib/protocol/helpers.js +12 -8
- package/lib/protocol/index.js +8 -1
- package/lib/protocol/{protocol.js → protocol.ts} +147 -146
- package/lib/protocol/routes.js +26 -498
- package/lib/protocol/validators.ts +19 -0
- package/package.json +10 -11
- package/build/lib/basedriver/desired-caps.d.ts +0 -5
- package/build/lib/basedriver/desired-caps.d.ts.map +0 -1
- package/build/lib/basedriver/desired-caps.js +0 -92
- package/build/lib/basedriver/desired-caps.js.map +0 -1
- package/lib/basedriver/README.md +0 -36
- package/lib/basedriver/desired-caps.js +0 -103
- package/lib/express/README.md +0 -59
- package/lib/jsonwp-proxy/README.md +0 -52
- package/lib/jsonwp-status/README.md +0 -20
- package/lib/protocol/README.md +0 -100
- package/lib/protocol/validators.js +0 -38
|
@@ -4,13 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.deprecatedCommandsLogged = exports.LIST_DRIVER_EXTENSIONS_COMMAND = exports.LIST_DRIVER_COMMANDS_COMMAND = exports.GET_STATUS_COMMAND = exports.DELETE_SESSION_COMMAND = exports.CREATE_SESSION_COMMAND = void 0;
|
|
7
|
+
exports.determineProtocol = determineProtocol;
|
|
8
|
+
exports.isSessionCommand = isSessionCommand;
|
|
7
9
|
exports.checkParams = checkParams;
|
|
8
10
|
exports.makeArgs = makeArgs;
|
|
11
|
+
exports.validateExecuteMethodParams = validateExecuteMethodParams;
|
|
9
12
|
exports.routeConfiguringFunction = routeConfiguringFunction;
|
|
10
|
-
exports.isSessionCommand = isSessionCommand;
|
|
11
13
|
exports.driverShouldDoJwpProxy = driverShouldDoJwpProxy;
|
|
12
|
-
exports.determineProtocol = determineProtocol;
|
|
13
|
-
exports.validateExecuteMethodParams = validateExecuteMethodParams;
|
|
14
14
|
const lodash_1 = __importDefault(require("lodash"));
|
|
15
15
|
const support_1 = require("@appium/support");
|
|
16
16
|
const validators_1 = require("./validators");
|
|
@@ -27,21 +27,19 @@ exports.DELETE_SESSION_COMMAND = 'deleteSession';
|
|
|
27
27
|
exports.GET_STATUS_COMMAND = 'getStatus';
|
|
28
28
|
exports.LIST_DRIVER_COMMANDS_COMMAND = 'listCommands';
|
|
29
29
|
exports.LIST_DRIVER_EXTENSIONS_COMMAND = 'listExtensions';
|
|
30
|
-
|
|
31
|
-
const deprecatedCommandsLogged = new Set();
|
|
32
|
-
exports.deprecatedCommandsLogged = deprecatedCommandsLogged;
|
|
30
|
+
exports.deprecatedCommandsLogged = new Set();
|
|
33
31
|
function determineProtocol(createSessionArgs) {
|
|
34
32
|
return lodash_1.default.some(createSessionArgs, capabilities_1.isW3cCaps) ? constants_1.PROTOCOLS.W3C : constants_1.PROTOCOLS.MJSONWP;
|
|
35
33
|
}
|
|
36
34
|
function extractProtocol(driver, sessionId = null) {
|
|
37
|
-
const dstDriver = lodash_1.default.isFunction(driver.driverForSession)
|
|
35
|
+
const dstDriver = lodash_1.default.isFunction(driver.driverForSession) && sessionId
|
|
38
36
|
? driver.driverForSession(sessionId)
|
|
39
37
|
: driver;
|
|
40
38
|
if (dstDriver === driver) {
|
|
41
39
|
// Shortcircuit if the driver instance is not an umbrella driver
|
|
42
40
|
// or it is Fake driver instance, where `driver.driverForSession`
|
|
43
41
|
// always returns self instance
|
|
44
|
-
return driver.protocol;
|
|
42
|
+
return driver.protocol ?? constants_1.PROTOCOLS.W3C;
|
|
45
43
|
}
|
|
46
44
|
// Extract the protocol for the current session if the given driver is the umbrella one
|
|
47
45
|
return dstDriver?.protocol ?? constants_1.PROTOCOLS.W3C;
|
|
@@ -49,12 +47,6 @@ function extractProtocol(driver, sessionId = null) {
|
|
|
49
47
|
function isSessionCommand(command) {
|
|
50
48
|
return !lodash_1.default.includes(routes_1.NO_SESSION_ID_COMMANDS, command);
|
|
51
49
|
}
|
|
52
|
-
/**
|
|
53
|
-
*
|
|
54
|
-
* @param {import('@appium/types').ExternalDriver} driver
|
|
55
|
-
* @param {string?} [sessionId]
|
|
56
|
-
* @returns {import('@appium/types').AppiumLogger}
|
|
57
|
-
*/
|
|
58
50
|
function getLogger(driver, sessionId = null) {
|
|
59
51
|
const dstDriver = sessionId && lodash_1.default.isFunction(driver.driverForSession)
|
|
60
52
|
? driver.driverForSession(sessionId) ?? driver
|
|
@@ -72,78 +64,86 @@ function wrapParams(paramSets, jsonObj) {
|
|
|
72
64
|
* The wrap option in the spec enforce wrapping before validation, so that all params are wrapped at
|
|
73
65
|
* the time they are validated and later passed to the commands.
|
|
74
66
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
res[paramSets.wrap] = jsonObj;
|
|
79
|
-
}
|
|
80
|
-
return res;
|
|
67
|
+
return (lodash_1.default.isArray(jsonObj) || !lodash_1.default.isObject(jsonObj)) && paramSets.wrap
|
|
68
|
+
? { [paramSets.wrap]: jsonObj }
|
|
69
|
+
: jsonObj;
|
|
81
70
|
}
|
|
82
71
|
function unwrapParams(paramSets, jsonObj) {
|
|
83
72
|
/* There are commands like setNetworkConnection which send parameters wrapped inside a key such as
|
|
84
73
|
* "parameters". This function unwraps them (eg. {"parameters": {"type": 1}} becomes {"type": 1}).
|
|
85
74
|
*/
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
75
|
+
return lodash_1.default.isObject(jsonObj) && paramSets.unwrap && jsonObj[paramSets.unwrap]
|
|
76
|
+
? jsonObj[paramSets.unwrap]
|
|
77
|
+
: jsonObj;
|
|
78
|
+
}
|
|
79
|
+
function hasMultipleRequiredParamSets(required) {
|
|
80
|
+
//@ts-expect-error Needed to convince lodash typechecks
|
|
81
|
+
return Boolean(required && lodash_1.default.isArray(lodash_1.default.first(required)));
|
|
82
|
+
}
|
|
83
|
+
function pickKnownParams(args, unknownNames) {
|
|
84
|
+
if (lodash_1.default.isEmpty(unknownNames)) {
|
|
85
|
+
return args;
|
|
92
86
|
}
|
|
93
|
-
|
|
87
|
+
logger_1.default.info(`The following arguments are not known and will be ignored: ${unknownNames}`);
|
|
88
|
+
return lodash_1.default.pickBy(args, (v, k) => !unknownNames.includes(k));
|
|
94
89
|
}
|
|
95
|
-
function checkParams(
|
|
90
|
+
function checkParams(paramSpec, args, protocol) {
|
|
96
91
|
let requiredParams = [];
|
|
97
92
|
let optionalParams = [];
|
|
98
|
-
|
|
99
|
-
if (
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
requiredParams = paramSets.required;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
// optional parameters are just an array
|
|
111
|
-
if (paramSets.optional) {
|
|
112
|
-
optionalParams = paramSets.optional;
|
|
113
|
-
}
|
|
114
|
-
// If a function was provided as the 'validate' key, it will here be called with
|
|
115
|
-
// jsonObj as the param. If it returns something falsy, verification will be
|
|
116
|
-
// considered to have passed. If it returns something else, that will be the
|
|
117
|
-
// argument to an error which is thrown to the user
|
|
118
|
-
if (paramSets.validate) {
|
|
119
|
-
let message = paramSets.validate(jsonObj, protocol);
|
|
120
|
-
if (message) {
|
|
121
|
-
throw new errors_1.errors.BadParametersError(message, jsonObj);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
93
|
+
const actualParamNames = lodash_1.default.keys(args);
|
|
94
|
+
if (paramSpec.required) {
|
|
95
|
+
// we might have an array of parameters,
|
|
96
|
+
// or an array of arrays of parameters, so standardize
|
|
97
|
+
requiredParams = lodash_1.default.cloneDeep((hasMultipleRequiredParamSets(paramSpec.required)
|
|
98
|
+
? paramSpec.required
|
|
99
|
+
: [paramSpec.required]));
|
|
124
100
|
}
|
|
125
|
-
//
|
|
126
|
-
if (
|
|
127
|
-
|
|
101
|
+
// optional parameters are just an array
|
|
102
|
+
if (paramSpec.optional) {
|
|
103
|
+
optionalParams = lodash_1.default.cloneDeep(paramSpec.optional);
|
|
104
|
+
}
|
|
105
|
+
// If a function was provided as the 'validate' key, it will here be called with
|
|
106
|
+
// args as the param. If it returns something falsy, verification will be
|
|
107
|
+
// considered to have passed. If it returns something else, that will be the
|
|
108
|
+
// argument to an error which is thrown to the user
|
|
109
|
+
if (paramSpec.validate) {
|
|
110
|
+
const message = paramSpec.validate(args, protocol ?? constants_1.PROTOCOLS.W3C);
|
|
111
|
+
if (message) {
|
|
112
|
+
throw new errors_1.errors.InvalidArgumentError(lodash_1.default.isString(message) ? message : undefined);
|
|
113
|
+
}
|
|
128
114
|
}
|
|
129
115
|
// some clients pass in the session id in the params
|
|
130
|
-
if (
|
|
116
|
+
if (!lodash_1.default.includes(optionalParams, 'sessionId')) {
|
|
131
117
|
optionalParams.push('sessionId');
|
|
132
118
|
}
|
|
133
119
|
// some clients pass in an element id in the params
|
|
134
|
-
if (
|
|
120
|
+
if (!lodash_1.default.includes(optionalParams, 'id')) {
|
|
135
121
|
optionalParams.push('id');
|
|
136
122
|
}
|
|
123
|
+
if (lodash_1.default.isEmpty(requiredParams)) {
|
|
124
|
+
// if we don't have any required parameters, then just filter out unknown ones
|
|
125
|
+
return pickKnownParams(args, lodash_1.default.difference(actualParamNames, optionalParams));
|
|
126
|
+
}
|
|
137
127
|
// go through the required parameters and check against our arguments
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
128
|
+
let matchedReqParamSet = [];
|
|
129
|
+
for (const requiredParamsSet of requiredParams) {
|
|
130
|
+
if (!lodash_1.default.isArray(requiredParamsSet)) {
|
|
131
|
+
throw new Error(`The required parameter set item ${JSON.stringify(requiredParamsSet)} ` +
|
|
132
|
+
`in ${JSON.stringify(paramSpec)} is not an array. ` +
|
|
133
|
+
`This is a bug in the method map definition.`);
|
|
134
|
+
}
|
|
135
|
+
if (lodash_1.default.isEmpty(lodash_1.default.difference(requiredParamsSet, actualParamNames))) {
|
|
136
|
+
return pickKnownParams(args, lodash_1.default.difference(actualParamNames, requiredParamsSet, optionalParams));
|
|
137
|
+
}
|
|
138
|
+
if (!lodash_1.default.isEmpty(requiredParamsSet) && lodash_1.default.isEmpty(matchedReqParamSet)) {
|
|
139
|
+
matchedReqParamSet = requiredParamsSet;
|
|
144
140
|
}
|
|
145
141
|
}
|
|
146
|
-
throw new errors_1.
|
|
142
|
+
throw new errors_1.BadParametersError({
|
|
143
|
+
...paramSpec,
|
|
144
|
+
required: matchedReqParamSet,
|
|
145
|
+
optional: optionalParams,
|
|
146
|
+
}, actualParamNames);
|
|
147
147
|
}
|
|
148
148
|
/*
|
|
149
149
|
* This method takes 3 pieces of data: request parameters ('requestParams'),
|
|
@@ -152,24 +152,24 @@ function checkParams(paramSets, jsonObj, protocol) {
|
|
|
152
152
|
* on handling parameters. This method returns an array of arguments which will
|
|
153
153
|
* be applied to a command.
|
|
154
154
|
*/
|
|
155
|
-
function makeArgs(requestParams, jsonObj, payloadParams
|
|
155
|
+
function makeArgs(requestParams, jsonObj, payloadParams) {
|
|
156
156
|
// We want to pass the "url" parameters to the commands in reverse order
|
|
157
157
|
// since the command will sometimes want to ignore, say, the sessionId.
|
|
158
158
|
// This has the effect of putting sessionId last, which means in JS we can
|
|
159
159
|
// omit it from the function signature if we're not going to use it.
|
|
160
|
-
|
|
160
|
+
const urlParams = lodash_1.default.keys(requestParams).reverse();
|
|
161
161
|
// In the simple case, the required parameters are a basic array in
|
|
162
162
|
// payloadParams.required, so start there. It's possible that there are
|
|
163
163
|
// multiple optional sets of required params, though, so handle that case
|
|
164
164
|
// too.
|
|
165
165
|
let requiredParams = payloadParams.required;
|
|
166
|
-
if (
|
|
166
|
+
if (hasMultipleRequiredParamSets(payloadParams.required)) {
|
|
167
167
|
// If there are optional sets of required params, then we will have an
|
|
168
168
|
// array of arrays in payloadParams.required, so loop through each set and
|
|
169
169
|
// pick the one that matches which JSON params were actually sent. We've
|
|
170
170
|
// already been through validation so we're guaranteed to find a match.
|
|
171
|
-
|
|
172
|
-
for (
|
|
171
|
+
const keys = lodash_1.default.keys(jsonObj);
|
|
172
|
+
for (const params of payloadParams.required) {
|
|
173
173
|
if (lodash_1.default.without(params, ...keys).length === 0) {
|
|
174
174
|
requiredParams = params;
|
|
175
175
|
break;
|
|
@@ -185,7 +185,7 @@ function makeArgs(requestParams, jsonObj, payloadParams, protocol) {
|
|
|
185
185
|
// which will be applied to the handling command. For example if it returns
|
|
186
186
|
// [1, 2, 3], we will call `command(1, 2, 3, ...)` (url params are separate
|
|
187
187
|
// from JSON params and get concatenated below).
|
|
188
|
-
args = payloadParams.makeArgs(jsonObj
|
|
188
|
+
args = payloadParams.makeArgs(jsonObj);
|
|
189
189
|
}
|
|
190
190
|
else {
|
|
191
191
|
// Otherwise, collect all the required and optional params and flatten them
|
|
@@ -208,37 +208,24 @@ function validateExecuteMethodParams(params, paramSpec) {
|
|
|
208
208
|
throw new errors_1.errors.InvalidArgumentError(`Did not get correct format of arguments for execute method. Expected zero or one ` +
|
|
209
209
|
`arguments to execute script and instead received: ${JSON.stringify(params)}`);
|
|
210
210
|
}
|
|
211
|
-
|
|
211
|
+
const args = params[0] ?? {};
|
|
212
212
|
if (!lodash_1.default.isPlainObject(args)) {
|
|
213
213
|
throw new errors_1.errors.InvalidArgumentError(`Did not receive an appropriate execute method parameters object. It needs to be ` +
|
|
214
214
|
`deserializable as a plain JS object`);
|
|
215
215
|
}
|
|
216
|
-
|
|
217
|
-
paramSpec
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
if (!lodash_1.default.isEmpty(unknownNames)) {
|
|
224
|
-
logger_1.default.info(`The following script arguments are not known and will be ignored: ${unknownNames}`);
|
|
225
|
-
args = lodash_1.default.pickBy(args, (v, k) => !unknownNames.includes(k));
|
|
226
|
-
}
|
|
227
|
-
checkParams(paramSpec, args, null);
|
|
228
|
-
}
|
|
229
|
-
const argsToApply = makeArgs({}, args, paramSpec, null);
|
|
230
|
-
return argsToApply;
|
|
216
|
+
const specToUse = {
|
|
217
|
+
...(paramSpec ?? {}),
|
|
218
|
+
required: paramSpec?.required ?? [],
|
|
219
|
+
optional: paramSpec?.optional ?? [],
|
|
220
|
+
};
|
|
221
|
+
const filteredArgs = checkParams(specToUse, args);
|
|
222
|
+
return makeArgs({}, filteredArgs, specToUse);
|
|
231
223
|
}
|
|
232
|
-
/**
|
|
233
|
-
*
|
|
234
|
-
* @param {import('@appium/types').Core} driver
|
|
235
|
-
* @returns {import('../express/server').RouteConfiguringFunction}
|
|
236
|
-
*/
|
|
237
224
|
function routeConfiguringFunction(driver) {
|
|
238
225
|
if (!driver.sessionExists) {
|
|
239
226
|
throw new Error('Drivers must implement `sessionExists` property');
|
|
240
227
|
}
|
|
241
|
-
if (!(
|
|
228
|
+
if (!(driver.executeCommand || driver.execute)) {
|
|
242
229
|
throw new Error('Drivers must implement `executeCommand` or `execute` method');
|
|
243
230
|
}
|
|
244
231
|
// return a function which will add all the routes to the driver. Here extraMethods might be
|
|
@@ -250,14 +237,15 @@ function routeConfiguringFunction(driver) {
|
|
|
250
237
|
const allMethods = { ...routes_1.METHOD_MAP, ...extraMethodMap };
|
|
251
238
|
for (const [path, methods] of lodash_1.default.toPairs(allMethods)) {
|
|
252
239
|
for (const [method, spec] of lodash_1.default.toPairs(methods)) {
|
|
240
|
+
const isSessCommand = spec.command ? isSessionCommand(spec.command) : false;
|
|
253
241
|
// set up the express route handler
|
|
254
|
-
buildHandler(app, method, `${basePath}${path}`, spec, driver,
|
|
242
|
+
buildHandler(app, method, `${basePath}${path}`, spec, driver, isSessCommand);
|
|
255
243
|
}
|
|
256
244
|
}
|
|
257
245
|
};
|
|
258
246
|
}
|
|
259
247
|
function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
260
|
-
|
|
248
|
+
const asyncHandler = async (req, res) => {
|
|
261
249
|
let jsonObj = req.body;
|
|
262
250
|
let httpResBody = {};
|
|
263
251
|
let httpStatus = 200;
|
|
@@ -265,8 +253,8 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
265
253
|
let currentProtocol = extractProtocol(driver, req.params.sessionId);
|
|
266
254
|
try {
|
|
267
255
|
// if the route accessed is deprecated, log a warning
|
|
268
|
-
if (spec.deprecated && !deprecatedCommandsLogged.has(spec.command)) {
|
|
269
|
-
deprecatedCommandsLogged.add(spec.command);
|
|
256
|
+
if (spec.deprecated && spec.command && !exports.deprecatedCommandsLogged.has(spec.command)) {
|
|
257
|
+
exports.deprecatedCommandsLogged.add(spec.command);
|
|
270
258
|
getLogger(driver, req.params.sessionId).warn(`Command '${spec.command}' has been deprecated and will be removed in a future ` +
|
|
271
259
|
`version of Appium or your driver/plugin. Please use a different method or contact the ` +
|
|
272
260
|
`driver/plugin author to add explicit support for the command before it is removed`);
|
|
@@ -285,8 +273,8 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
285
273
|
// commands and generally would not want that command to be proxied instead of handled by the
|
|
286
274
|
// plugin)
|
|
287
275
|
let didPluginOverrideProxy = false;
|
|
288
|
-
if (isSessCmd && !spec.neverProxy && driverShouldDoJwpProxy(driver, req, spec.command)) {
|
|
289
|
-
if (!driver.pluginsToHandleCmd ||
|
|
276
|
+
if (isSessCmd && !spec.neverProxy && spec.command && driverShouldDoJwpProxy(driver, req, spec.command)) {
|
|
277
|
+
if (!('pluginsToHandleCmd' in driver) || !lodash_1.default.isFunction(driver.pluginsToHandleCmd) ||
|
|
290
278
|
driver.pluginsToHandleCmd(spec.command, req.params.sessionId).length === 0) {
|
|
291
279
|
await doJwpProxy(driver, req, res);
|
|
292
280
|
return;
|
|
@@ -315,10 +303,12 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
315
303
|
currentProtocol = determineProtocol(makeArgs(req.params, jsonObj, spec.payloadParams || {}));
|
|
316
304
|
}
|
|
317
305
|
// ensure that the json payload conforms to the spec
|
|
318
|
-
|
|
306
|
+
if (spec.payloadParams) {
|
|
307
|
+
checkParams(spec.payloadParams, jsonObj, currentProtocol);
|
|
308
|
+
}
|
|
319
309
|
// turn the command and json payload into an argument list for
|
|
320
310
|
// the driver methods
|
|
321
|
-
|
|
311
|
+
const args = makeArgs(req.params, jsonObj, spec.payloadParams || {});
|
|
322
312
|
let driverRes;
|
|
323
313
|
// validate command args according to MJSONWP
|
|
324
314
|
if (validators_1.validators[spec.command]) {
|
|
@@ -415,26 +405,15 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
415
405
|
}
|
|
416
406
|
// decode the response, which is either a string or json
|
|
417
407
|
if (lodash_1.default.isString(httpResBody)) {
|
|
418
|
-
res.status(httpStatus)
|
|
408
|
+
res.status(httpStatus)
|
|
409
|
+
.setHeader('content-type', 'application/json; charset=utf-8')
|
|
410
|
+
.send(httpResBody);
|
|
419
411
|
}
|
|
420
412
|
else {
|
|
421
|
-
if (newSessionId) {
|
|
422
|
-
|
|
423
|
-
httpResBody.value.sessionId = newSessionId;
|
|
424
|
-
}
|
|
425
|
-
else {
|
|
426
|
-
httpResBody.sessionId = newSessionId;
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
else {
|
|
430
|
-
httpResBody.sessionId = req.params.sessionId || null;
|
|
431
|
-
}
|
|
432
|
-
// Don't include sessionId in W3C responses
|
|
433
|
-
if (currentProtocol === constants_1.PROTOCOLS.W3C) {
|
|
434
|
-
delete httpResBody.sessionId;
|
|
413
|
+
if (newSessionId && currentProtocol === constants_1.PROTOCOLS.W3C) {
|
|
414
|
+
httpResBody.value.sessionId = newSessionId;
|
|
435
415
|
}
|
|
436
|
-
|
|
437
|
-
res.status(httpStatus).json(httpResBody);
|
|
416
|
+
res.status(httpStatus).json((0, helpers_1.ensureW3cResponse)(httpResBody));
|
|
438
417
|
}
|
|
439
418
|
};
|
|
440
419
|
// add the method to the app
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../lib/protocol/protocol.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../lib/protocol/protocol.ts"],"names":[],"mappings":"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"}
|