@appium/base-driver 9.17.0 → 10.0.0-beta.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/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/timeout.js +7 -25
- 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 +12 -64
- 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 +1 -2
- 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 +1 -29
- 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/protocol.d.ts +5 -0
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/protocol.js +23 -23
- package/build/lib/protocol/protocol.js.map +1 -1
- package/build/lib/protocol/routes.d.ts +6 -715
- package/build/lib/protocol/routes.d.ts.map +1 -1
- package/build/lib/protocol/routes.js +16 -481
- 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 -24
- package/build/lib/protocol/validators.js.map +1 -1
- package/lib/basedriver/capabilities.ts +2 -4
- package/lib/basedriver/commands/timeout.ts +11 -34
- 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 +16 -75
- package/lib/express/server.js +1 -3
- package/lib/helpers/capabilities.js +9 -4
- package/lib/index.js +2 -0
- package/lib/jsonwp-proxy/proxy.js +2 -33
- package/lib/protocol/{errors.js → errors.ts} +322 -436
- package/lib/protocol/helpers.js +12 -8
- package/lib/protocol/protocol.js +25 -23
- package/lib/protocol/routes.js +18 -491
- package/lib/protocol/validators.ts +19 -0
- package/package.json +10 -10
- 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/desired-caps.js +0 -103
- package/lib/protocol/validators.js +0 -41
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.validator = void 0;
|
|
7
|
-
const logger_1 = __importDefault(require("./logger"));
|
|
8
|
-
const validate_js_1 = __importDefault(require("validate.js"));
|
|
9
|
-
const bluebird_1 = __importDefault(require("bluebird"));
|
|
10
|
-
exports.validator =
|
|
11
|
-
/** @type {import('validate.js').ValidateJS & {promise: typeof import('bluebird')}} */ (validate_js_1.default);
|
|
12
|
-
exports.validator.validators.isString = function isString(value) {
|
|
13
|
-
if (typeof value === 'string') {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
if (typeof value === 'undefined') {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
return 'must be of type string';
|
|
20
|
-
};
|
|
21
|
-
exports.validator.validators.isNumber = function isNumber(value) {
|
|
22
|
-
if (typeof value === 'number') {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
if (typeof value === 'undefined') {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
// allow a string value
|
|
29
|
-
if (typeof value === 'string' && !isNaN(Number(value))) {
|
|
30
|
-
logger_1.default.warn('Number capability passed in as string. Functionality may be compromised.');
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
return 'must be of type number';
|
|
34
|
-
};
|
|
35
|
-
exports.validator.validators.isBoolean = function isBoolean(value) {
|
|
36
|
-
if (typeof value === 'boolean') {
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
// allow a string value
|
|
40
|
-
if (typeof value === 'string' && ['true', 'false', ''].includes(value)) {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
if (typeof value === 'undefined') {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
return 'must be of type boolean';
|
|
47
|
-
};
|
|
48
|
-
exports.validator.validators.isObject = function isObject(value) {
|
|
49
|
-
if (typeof value === 'object') {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
if (typeof value === 'undefined') {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
return 'must be of type object';
|
|
56
|
-
};
|
|
57
|
-
exports.validator.validators.isArray = function isArray(value) {
|
|
58
|
-
if (Array.isArray(value)) {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
if (typeof value === 'undefined') {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
return 'must be of type array';
|
|
65
|
-
};
|
|
66
|
-
exports.validator.validators.deprecated = function deprecated(value, options, key) {
|
|
67
|
-
// do not print caps that hasn't been provided.
|
|
68
|
-
if (typeof value !== 'undefined' && options) {
|
|
69
|
-
logger_1.default.warn(`The '${key}' capability has been deprecated and must not be used anymore. ` +
|
|
70
|
-
`Please check the driver documentation for possible alternatives.`);
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
|
-
};
|
|
74
|
-
exports.validator.validators.inclusionCaseInsensitive = function inclusionCaseInsensitive(value, options) {
|
|
75
|
-
if (typeof value === 'undefined') {
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
else if (typeof value !== 'string') {
|
|
79
|
-
return 'unrecognised';
|
|
80
|
-
}
|
|
81
|
-
for (let option of options) {
|
|
82
|
-
if (option.toLowerCase() === value.toLowerCase()) {
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return `${value} not part of ${options.toString()}`;
|
|
87
|
-
};
|
|
88
|
-
exports.validator.promise = bluebird_1.default;
|
|
89
|
-
exports.validator.prettify = function prettify(val) {
|
|
90
|
-
return val;
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=desired-caps.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../../lib/basedriver/desired-caps.js"],"names":[],"mappings":";;;;;;AAAA,sDAA2B;AAC3B,8DAAqC;AACrC,wDAAyB;AAEZ,QAAA,SAAS;AACpB,sFAAsF,CAAC,CACrF,qBAAU,CACX,CAAC;AAEJ,iBAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,KAAK;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,KAAK;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACvD,gBAAG,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,SAAS,CAAC,KAAK;IACvD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,yBAAyB,CAAC;AACnC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,KAAK;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,OAAO,CAAC,KAAK;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,UAAU,GAAG,SAAS,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG;IACvE,+CAA+C;IAC/C,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,OAAO,EAAE,CAAC;QAC5C,gBAAG,CAAC,IAAI,CACN,QAAQ,GAAG,iEAAiE;YAC5E,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,iBAAS,CAAC,UAAU,CAAC,wBAAwB,GAAG,SAAS,wBAAwB,CAAC,KAAK,EAAE,OAAO;IAC9F,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,GAAG,KAAK,gBAAgB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AACtD,CAAC,CAAC;AAEF,iBAAS,CAAC,OAAO,GAAG,kBAAC,CAAC;AACtB,iBAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,GAAG;IACxC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import log from './logger';
|
|
2
|
-
import _validator from 'validate.js';
|
|
3
|
-
import B from 'bluebird';
|
|
4
|
-
|
|
5
|
-
export const validator =
|
|
6
|
-
/** @type {import('validate.js').ValidateJS & {promise: typeof import('bluebird')}} */ (
|
|
7
|
-
_validator
|
|
8
|
-
);
|
|
9
|
-
|
|
10
|
-
validator.validators.isString = function isString(value) {
|
|
11
|
-
if (typeof value === 'string') {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if (typeof value === 'undefined') {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return 'must be of type string';
|
|
20
|
-
};
|
|
21
|
-
validator.validators.isNumber = function isNumber(value) {
|
|
22
|
-
if (typeof value === 'number') {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (typeof value === 'undefined') {
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// allow a string value
|
|
31
|
-
if (typeof value === 'string' && !isNaN(Number(value))) {
|
|
32
|
-
log.warn('Number capability passed in as string. Functionality may be compromised.');
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return 'must be of type number';
|
|
37
|
-
};
|
|
38
|
-
validator.validators.isBoolean = function isBoolean(value) {
|
|
39
|
-
if (typeof value === 'boolean') {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// allow a string value
|
|
44
|
-
if (typeof value === 'string' && ['true', 'false', ''].includes(value)) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (typeof value === 'undefined') {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return 'must be of type boolean';
|
|
53
|
-
};
|
|
54
|
-
validator.validators.isObject = function isObject(value) {
|
|
55
|
-
if (typeof value === 'object') {
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (typeof value === 'undefined') {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return 'must be of type object';
|
|
64
|
-
};
|
|
65
|
-
validator.validators.isArray = function isArray(value) {
|
|
66
|
-
if (Array.isArray(value)) {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (typeof value === 'undefined') {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return 'must be of type array';
|
|
75
|
-
};
|
|
76
|
-
validator.validators.deprecated = function deprecated(value, options, key) {
|
|
77
|
-
// do not print caps that hasn't been provided.
|
|
78
|
-
if (typeof value !== 'undefined' && options) {
|
|
79
|
-
log.warn(
|
|
80
|
-
`The '${key}' capability has been deprecated and must not be used anymore. ` +
|
|
81
|
-
`Please check the driver documentation for possible alternatives.`
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
return null;
|
|
85
|
-
};
|
|
86
|
-
validator.validators.inclusionCaseInsensitive = function inclusionCaseInsensitive(value, options) {
|
|
87
|
-
if (typeof value === 'undefined') {
|
|
88
|
-
return null;
|
|
89
|
-
} else if (typeof value !== 'string') {
|
|
90
|
-
return 'unrecognised';
|
|
91
|
-
}
|
|
92
|
-
for (let option of options) {
|
|
93
|
-
if (option.toLowerCase() === value.toLowerCase()) {
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return `${value} not part of ${options.toString()}`;
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
validator.promise = B;
|
|
101
|
-
validator.prettify = function prettify(val) {
|
|
102
|
-
return val;
|
|
103
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import _ from 'lodash';
|
|
2
|
-
|
|
3
|
-
function isNumber(o) {
|
|
4
|
-
return _.isNumber(o) || !_.isNaN(parseInt(o, 10)) || !_.isNaN(parseFloat(o));
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function msValidator(ms) {
|
|
8
|
-
if (!_.isNumber(ms) || ms < 0) {
|
|
9
|
-
throw new Error('Wait ms must be a number equal to 0 or greater');
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @deprecated
|
|
15
|
-
*/
|
|
16
|
-
const validators = {
|
|
17
|
-
setUrl: (url) => {
|
|
18
|
-
// either an `xyz://`, `about:`, or `data:` scheme is allowed
|
|
19
|
-
if (!url || !url.match(/^([a-zA-Z0-9_+.-]+:\/\/)|(about:)|(data:)/)) {
|
|
20
|
-
throw new Error('Url or Uri must start with <scheme>://');
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
implicitWait: (ms) => {
|
|
24
|
-
msValidator(ms);
|
|
25
|
-
},
|
|
26
|
-
asyncScriptTimeout: (ms) => {
|
|
27
|
-
msValidator(ms);
|
|
28
|
-
},
|
|
29
|
-
clickCurrent: (button) => {
|
|
30
|
-
if (!(isNumber(button) || _.isUndefined(button)) || button < 0 || button > 2) {
|
|
31
|
-
throw new Error('Click button must be 0, 1, or 2');
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
setNetworkConnection: (type) => {
|
|
35
|
-
if (!isNumber(type) || [0, 1, 2, 4, 6].indexOf(type) === -1) {
|
|
36
|
-
throw new Error('Network type must be one of 0, 1, 2, 4, 6');
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export {validators};
|