@appium/base-driver 8.3.0 → 8.4.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 +80 -0
- package/build/lib/basedriver/capabilities.d.ts.map +1 -0
- package/build/lib/basedriver/capabilities.js +12 -13
- package/build/lib/basedriver/commands/event.d.ts +9 -0
- package/build/lib/basedriver/commands/event.d.ts.map +1 -0
- package/build/lib/basedriver/commands/event.js +21 -23
- package/build/lib/basedriver/commands/find.d.ts +11 -0
- package/build/lib/basedriver/commands/find.d.ts.map +1 -0
- package/build/lib/basedriver/commands/find.js +42 -37
- package/build/lib/basedriver/commands/index.d.ts +8 -0
- package/build/lib/basedriver/commands/index.d.ts.map +1 -0
- package/build/lib/basedriver/commands/index.js +17 -16
- package/build/lib/basedriver/commands/log.d.ts +12 -0
- package/build/lib/basedriver/commands/log.d.ts.map +1 -0
- package/build/lib/basedriver/commands/log.js +23 -27
- package/build/lib/basedriver/commands/session.d.ts +11 -0
- package/build/lib/basedriver/commands/session.d.ts.map +1 -0
- package/build/lib/basedriver/commands/session.js +21 -149
- package/build/lib/basedriver/commands/settings.d.ts +10 -0
- package/build/lib/basedriver/commands/settings.d.ts.map +1 -0
- package/build/lib/basedriver/commands/settings.js +19 -19
- package/build/lib/basedriver/commands/timeout.d.ts +8 -0
- package/build/lib/basedriver/commands/timeout.d.ts.map +1 -0
- package/build/lib/basedriver/commands/timeout.js +118 -139
- package/build/lib/basedriver/core.d.ts +235 -0
- package/build/lib/basedriver/core.d.ts.map +1 -0
- package/build/lib/basedriver/core.js +283 -0
- package/build/lib/basedriver/desired-caps.d.ts +5 -0
- package/build/lib/basedriver/desired-caps.d.ts.map +1 -0
- package/build/lib/basedriver/desired-caps.js +2 -4
- package/build/lib/basedriver/device-settings.d.ts +32 -0
- package/build/lib/basedriver/device-settings.d.ts.map +1 -0
- package/build/lib/basedriver/device-settings.js +20 -14
- package/build/lib/basedriver/driver.d.ts +83 -0
- package/build/lib/basedriver/driver.d.ts.map +1 -0
- package/build/lib/basedriver/driver.js +101 -256
- package/build/lib/basedriver/helpers.d.ts +132 -0
- package/build/lib/basedriver/helpers.d.ts.map +1 -0
- package/build/lib/basedriver/helpers.js +16 -2
- package/build/lib/basedriver/logger.d.ts +3 -0
- package/build/lib/basedriver/logger.d.ts.map +1 -0
- package/build/lib/basedriver/logger.js +2 -4
- package/build/lib/constants.d.ts +9 -0
- package/build/lib/constants.d.ts.map +1 -0
- package/build/lib/constants.js +2 -4
- package/build/lib/express/crash.d.ts +3 -0
- package/build/lib/express/crash.d.ts.map +1 -0
- package/build/lib/express/crash.js +2 -4
- package/build/lib/express/express-logging.d.ts +3 -0
- package/build/lib/express/express-logging.d.ts.map +1 -0
- package/build/lib/express/express-logging.js +2 -4
- package/build/lib/express/idempotency.d.ts +2 -0
- package/build/lib/express/idempotency.d.ts.map +1 -0
- package/build/lib/express/idempotency.js +2 -4
- package/build/lib/express/logger.d.ts +3 -0
- package/build/lib/express/logger.d.ts.map +1 -0
- package/build/lib/express/logger.js +2 -4
- package/build/lib/express/middleware.d.ts +9 -0
- package/build/lib/express/middleware.d.ts.map +1 -0
- package/build/lib/express/middleware.js +2 -4
- package/build/lib/express/server.d.ts +10 -0
- package/build/lib/express/server.d.ts.map +1 -0
- package/build/lib/express/server.js +2 -4
- package/build/lib/express/static.d.ts +6 -0
- package/build/lib/express/static.d.ts.map +1 -0
- package/build/lib/express/static.js +2 -4
- package/build/lib/express/websocket.d.ts +64 -0
- package/build/lib/express/websocket.d.ts.map +1 -0
- package/build/lib/express/websocket.js +40 -41
- package/build/lib/helpers/capabilities.d.ts +13 -0
- package/build/lib/helpers/capabilities.d.ts.map +1 -0
- package/build/lib/helpers/capabilities.js +40 -2
- package/build/lib/index.d.ts +183 -0
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/index.js +41 -23
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts +48 -0
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -0
- package/build/lib/jsonwp-proxy/protocol-converter.js +2 -4
- package/build/lib/jsonwp-proxy/proxy.d.ts +41 -0
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -0
- package/build/lib/jsonwp-proxy/proxy.js +25 -9
- package/build/lib/jsonwp-status/status.d.ts +159 -0
- package/build/lib/jsonwp-status/status.d.ts.map +1 -0
- package/build/lib/jsonwp-status/status.js +2 -4
- package/build/lib/protocol/errors.d.ts +310 -0
- package/build/lib/protocol/errors.d.ts.map +1 -0
- package/build/lib/protocol/errors.js +82 -5
- package/build/lib/protocol/helpers.d.ts +22 -0
- package/build/lib/protocol/helpers.d.ts.map +1 -0
- package/build/lib/protocol/helpers.js +2 -4
- package/build/lib/protocol/index.d.ts +16 -0
- package/build/lib/protocol/index.d.ts.map +1 -0
- package/build/lib/protocol/index.js +8 -10
- package/build/lib/protocol/protocol.d.ts +11 -0
- package/build/lib/protocol/protocol.d.ts.map +1 -0
- package/build/lib/protocol/protocol.js +3 -9
- package/build/lib/protocol/routes.d.ts +6 -0
- package/build/lib/protocol/routes.d.ts.map +1 -0
- package/build/lib/protocol/routes.js +18 -4
- package/build/lib/protocol/validators.d.ts +8 -0
- package/build/lib/protocol/validators.d.ts.map +1 -0
- package/build/lib/protocol/validators.js +2 -4
- package/build/test/basedriver/README.md +5 -0
- package/build/test/basedriver/driver-e2e-tests.js +2 -4
- package/build/test/basedriver/driver-tests.js +31 -6
- package/build/test/basedriver/index.js +2 -4
- package/build/test/e2e/basedriver/driver.e2e.spec.js +15 -0
- package/build/test/e2e/basedriver/helpers.e2e.spec.js +192 -0
- package/build/test/e2e/basedriver/websockets.e2e.spec.js +87 -0
- package/build/test/e2e/express/server.e2e.spec.js +159 -0
- package/build/test/e2e/jsonwp-proxy/proxy.e2e.spec.js +59 -0
- package/build/test/e2e/protocol/fake-driver.js +163 -0
- package/build/test/e2e/protocol/helpers.js +25 -0
- package/build/test/e2e/protocol/protocol.e2e.spec.js +1186 -0
- package/build/test/helpers.js +2 -4
- package/build/test/unit/basedriver/capabilities.spec.js +672 -0
- package/build/test/unit/basedriver/capability.spec.js +353 -0
- package/build/test/unit/basedriver/commands/event.spec.js +110 -0
- package/build/test/unit/basedriver/commands/log.spec.js +92 -0
- package/build/test/unit/basedriver/driver.spec.js +15 -0
- package/build/test/unit/basedriver/helpers.spec.js +151 -0
- package/build/test/unit/basedriver/timeout.spec.js +135 -0
- package/build/test/unit/express/server.spec.js +155 -0
- package/build/test/unit/express/static.spec.js +26 -0
- package/build/test/unit/jsonwp-proxy/mock-request.js +91 -0
- package/build/test/unit/jsonwp-proxy/protocol-converter.spec.js +171 -0
- package/build/test/unit/jsonwp-proxy/proxy.spec.js +292 -0
- package/build/test/unit/jsonwp-proxy/url.spec.js +165 -0
- package/build/test/unit/jsonwp-status/status.spec.js +34 -0
- package/build/test/unit/protocol/errors.spec.js +390 -0
- package/build/test/unit/protocol/routes.spec.js +80 -0
- package/build/test/unit/protocol/validator.spec.js +149 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/lib/basedriver/capabilities.js +49 -10
- package/lib/basedriver/commands/event.js +49 -31
- package/lib/basedriver/commands/find.js +108 -43
- package/lib/basedriver/commands/index.js +25 -19
- package/lib/basedriver/commands/log.js +60 -33
- package/lib/basedriver/commands/session.js +39 -141
- package/lib/basedriver/commands/settings.js +33 -13
- package/lib/basedriver/commands/timeout.js +153 -153
- package/lib/basedriver/core.js +497 -0
- package/lib/basedriver/desired-caps.js +1 -1
- package/lib/basedriver/device-settings.js +47 -12
- package/lib/basedriver/driver.js +272 -383
- package/lib/basedriver/helpers.js +18 -2
- package/lib/express/websocket.js +35 -32
- package/lib/helpers/capabilities.js +60 -1
- package/lib/index.js +16 -12
- package/lib/jsonwp-proxy/proxy.js +26 -6
- package/lib/protocol/errors.js +42 -42
- package/lib/protocol/index.js +4 -4
- package/lib/protocol/protocol.js +1 -3
- package/lib/protocol/routes.js +9 -0
- package/package.json +22 -14
- package/test/basedriver/README.md +5 -0
- package/test/basedriver/driver-e2e-tests.js +1 -1
- package/test/basedriver/driver-tests.js +31 -2
- package/build/test/basedriver/capabilities-specs.js +0 -674
- package/build/test/basedriver/capability-specs.js +0 -355
- package/build/test/basedriver/commands/event-specs.js +0 -112
- package/build/test/basedriver/commands/log-specs.js +0 -87
- package/build/test/basedriver/driver-e2e-specs.js +0 -17
- package/build/test/basedriver/driver-specs.js +0 -17
- package/build/test/basedriver/helpers-e2e-specs.js +0 -194
- package/build/test/basedriver/helpers-specs.js +0 -153
- package/build/test/basedriver/timeout-specs.js +0 -137
- package/build/test/basedriver/websockets-e2e-specs.js +0 -84
- package/build/test/express/server-e2e-specs.js +0 -161
- package/build/test/express/server-specs.js +0 -157
- package/build/test/express/static-specs.js +0 -28
- package/build/test/jsonwp-proxy/mock-request.js +0 -93
- package/build/test/jsonwp-proxy/protocol-converter-specs.js +0 -173
- package/build/test/jsonwp-proxy/proxy-e2e-specs.js +0 -61
- package/build/test/jsonwp-proxy/proxy-specs.js +0 -294
- package/build/test/jsonwp-proxy/url-specs.js +0 -167
- package/build/test/jsonwp-status/status-specs.js +0 -36
- package/build/test/protocol/errors-specs.js +0 -388
- package/build/test/protocol/fake-driver.js +0 -165
- package/build/test/protocol/helpers.js +0 -27
- package/build/test/protocol/protocol-e2e-specs.js +0 -1188
- package/build/test/protocol/routes-specs.js +0 -82
- package/build/test/protocol/validator-specs.js +0 -151
- package/index.d.ts +0 -386
- package/test/basedriver/capabilities-specs.js +0 -537
- package/test/basedriver/capability-specs.js +0 -383
- package/test/basedriver/commands/event-specs.js +0 -74
- package/test/basedriver/commands/log-specs.js +0 -79
- package/test/basedriver/driver-e2e-specs.js +0 -8
- package/test/basedriver/driver-specs.js +0 -8
- package/test/basedriver/fixtures/BadZippedApp.zip +0 -1
- package/test/basedriver/fixtures/FakeAndroidApp.apk +0 -1
- package/test/basedriver/fixtures/FakeAndroidApp.asd +0 -0
- package/test/basedriver/fixtures/FakeIOSApp.app +0 -1
- package/test/basedriver/fixtures/FakeIOSApp.app.zip +0 -0
- package/test/basedriver/fixtures/FakeIOSApp.ipa +0 -0
- package/test/basedriver/fixtures/custom-element-finder-bad.js +0 -5
- package/test/basedriver/fixtures/custom-element-finder.js +0 -29
- package/test/basedriver/helpers-e2e-specs.js +0 -187
- package/test/basedriver/helpers-specs.js +0 -137
- package/test/basedriver/timeout-specs.js +0 -128
- package/test/basedriver/websockets-e2e-specs.js +0 -75
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
require("source-map-support/register");
|
|
6
|
-
|
|
7
|
-
var _lodash = require("lodash");
|
|
8
|
-
|
|
9
|
-
var _protocol = require("../../lib/protocol");
|
|
10
|
-
|
|
11
|
-
var _crypto = _interopRequireDefault(require("crypto"));
|
|
12
|
-
|
|
13
|
-
describe('Protocol', function () {
|
|
14
|
-
describe('ensure protocol consistency', function () {
|
|
15
|
-
it('should not change protocol between patch versions', function () {
|
|
16
|
-
let shasum = _crypto.default.createHash('sha1');
|
|
17
|
-
|
|
18
|
-
for (let [url, urlMapping] of _lodash._.toPairs(_protocol.METHOD_MAP)) {
|
|
19
|
-
shasum.update(url);
|
|
20
|
-
|
|
21
|
-
for (let [method, methodMapping] of _lodash._.toPairs(urlMapping)) {
|
|
22
|
-
shasum.update(method);
|
|
23
|
-
|
|
24
|
-
if (methodMapping.command) {
|
|
25
|
-
shasum.update(methodMapping.command);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (methodMapping.payloadParams) {
|
|
29
|
-
let allParams = _lodash._.flatten(methodMapping.payloadParams.required);
|
|
30
|
-
|
|
31
|
-
if (methodMapping.payloadParams.optional) {
|
|
32
|
-
allParams = allParams.concat(_lodash._.flatten(methodMapping.payloadParams.optional));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
for (let param of allParams) {
|
|
36
|
-
shasum.update(param);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
if (methodMapping.payloadParams.wrap) {
|
|
40
|
-
shasum.update('skip');
|
|
41
|
-
shasum.update(methodMapping.payloadParams.wrap);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
let hash = shasum.digest('hex').substring(0, 8);
|
|
48
|
-
hash.should.equal('262ca3c4');
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
describe('check route to command name conversion', function () {
|
|
52
|
-
it('should properly lookup correct command name for endpoint with session', function () {
|
|
53
|
-
const cmdName = (0, _protocol.routeToCommandName)('/timeouts', 'POST');
|
|
54
|
-
cmdName.should.equal('timeouts');
|
|
55
|
-
});
|
|
56
|
-
it('should properly lookup correct command name for endpoint with session', function () {
|
|
57
|
-
const cmdName = (0, _protocol.routeToCommandName)('/timeouts/implicit_wait', 'POST');
|
|
58
|
-
cmdName.should.equal('implicitWait');
|
|
59
|
-
});
|
|
60
|
-
it('should properly lookup correct command name for endpoint without session', function () {
|
|
61
|
-
const cmdName = (0, _protocol.routeToCommandName)('/status', 'GET');
|
|
62
|
-
cmdName.should.equal('getStatus');
|
|
63
|
-
});
|
|
64
|
-
it('should properly lookup correct command name for endpoint without leading slash', function () {
|
|
65
|
-
const cmdName = (0, _protocol.routeToCommandName)('status', 'GET');
|
|
66
|
-
cmdName.should.equal('getStatus');
|
|
67
|
-
});
|
|
68
|
-
it('should properly lookup correct command name for fully specified endpoint', function () {
|
|
69
|
-
const cmdName = (0, _protocol.routeToCommandName)('/status', 'GET');
|
|
70
|
-
cmdName.should.equal('getStatus');
|
|
71
|
-
});
|
|
72
|
-
it('should not find command name if incorrect input data has been specified', function () {
|
|
73
|
-
for (let [route, method] of [['/status', 'POST'], ['/xstatus', 'GET'], ['status', 'POST']]) {
|
|
74
|
-
const cmdName = (0, _protocol.routeToCommandName)(route, method);
|
|
75
|
-
chai.should().equal(cmdName, undefined);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
});require('source-map-support').install();
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvcHJvdG9jb2wvcm91dGVzLXNwZWNzLmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaXQiLCJzaGFzdW0iLCJjcnlwdG8iLCJjcmVhdGVIYXNoIiwidXJsIiwidXJsTWFwcGluZyIsIl8iLCJ0b1BhaXJzIiwiTUVUSE9EX01BUCIsInVwZGF0ZSIsIm1ldGhvZCIsIm1ldGhvZE1hcHBpbmciLCJjb21tYW5kIiwicGF5bG9hZFBhcmFtcyIsImFsbFBhcmFtcyIsImZsYXR0ZW4iLCJyZXF1aXJlZCIsIm9wdGlvbmFsIiwiY29uY2F0IiwicGFyYW0iLCJ3cmFwIiwiaGFzaCIsImRpZ2VzdCIsInN1YnN0cmluZyIsInNob3VsZCIsImVxdWFsIiwiY21kTmFtZSIsInJvdXRlIiwiY2hhaSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBSUFBLFFBQVEsQ0FBQyxVQUFELEVBQWEsWUFBWTtBQUsvQkEsRUFBQUEsUUFBUSxDQUFDLDZCQUFELEVBQWdDLFlBQVk7QUFDbERDLElBQUFBLEVBQUUsQ0FBQyxtREFBRCxFQUFzRCxZQUFZO0FBQ2xFLFVBQUlDLE1BQU0sR0FBR0MsZ0JBQU9DLFVBQVAsQ0FBa0IsTUFBbEIsQ0FBYjs7QUFDQSxXQUFLLElBQUksQ0FBQ0MsR0FBRCxFQUFNQyxVQUFOLENBQVQsSUFBOEJDLFVBQUVDLE9BQUYsQ0FBVUMsb0JBQVYsQ0FBOUIsRUFBcUQ7QUFDbkRQLFFBQUFBLE1BQU0sQ0FBQ1EsTUFBUCxDQUFjTCxHQUFkOztBQUNBLGFBQUssSUFBSSxDQUFDTSxNQUFELEVBQVNDLGFBQVQsQ0FBVCxJQUFvQ0wsVUFBRUMsT0FBRixDQUFVRixVQUFWLENBQXBDLEVBQTJEO0FBQ3pESixVQUFBQSxNQUFNLENBQUNRLE1BQVAsQ0FBY0MsTUFBZDs7QUFDQSxjQUFJQyxhQUFhLENBQUNDLE9BQWxCLEVBQTJCO0FBQ3pCWCxZQUFBQSxNQUFNLENBQUNRLE1BQVAsQ0FBY0UsYUFBYSxDQUFDQyxP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MUIsQ0FBaEI7QUFDQWtCLFFBQUFBLElBQUksQ0FBQ0osTUFBTCxHQUFjQyxLQUFkLENBQW9CQyxPQUFwQixFQUE2QkcsU0FBN0I7QUFDRDtBQUNGLEtBTEMsQ0FBRjtBQU1ELEdBaENPLENBQVI7QUFrQ0QsQ0F0RU8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRyYW5zcGlsZTptb2NoYVxuXG5pbXBvcnQgeyBfIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1FVEhPRF9NQVAsIHJvdXRlVG9Db21tYW5kTmFtZSB9IGZyb20gJy4uLy4uL2xpYi9wcm90b2NvbCc7XG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cblxuXG5kZXNjcmliZSgnUHJvdG9jb2wnLCBmdW5jdGlvbiAoKSB7XG5cbiAgLy8gVE9ETyB0ZXN0IGFnYWluc3QgYW4gZXhwbGljaXQgcHJvdG9jb2wgcmF0aGVyIHRoYW4gYSBoYXNoIG9mIGEgcHJldmlvdXNcbiAgLy8gcHJvdG9jb2xcblxuICBkZXNjcmliZSgnZW5zdXJlIHByb3RvY29sIGNvbnNpc3RlbmN5JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgbm90IGNoYW5nZSBwcm90b2NvbCBiZXR3ZWVuIHBhdGNoIHZlcnNpb25zJywgZnVuY3Rpb24gKCkge1xuICAgICAgbGV0IHNoYXN1bSA9IGNyeXB0by5jcmVhdGVIYXNoKCdzaGExJyk7XG4gICAgICBmb3IgKGxldCBbdXJsLCB1cmxNYXBwaW5nXSBvZiBfLnRvUGFpcnMoTUVUSE9EX01BUCkpIHtcbiAgICAgICAgc2hhc3VtLnVwZGF0ZSh1cmwpO1xuICAgICAgICBmb3IgKGxldCBbbWV0aG9kLCBtZXRob2RNYXBwaW5nXSBvZiBfLnRvUGFpcnModXJsTWFwcGluZykpIHtcbiAgICAgICAgICBzaGFzdW0udXBkYXRlKG1ldGhvZCk7XG4gICAgICAgICAgaWYgKG1ldGhvZE1hcHBpbmcuY29tbWFuZCkge1xuICAgICAgICAgICAgc2hhc3VtLnVwZGF0ZShtZXRob2RNYXBwaW5nLmNvbW1hbmQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobWV0aG9kTWFwcGluZy5wYXlsb2FkUGFyYW1zKSB7XG4gICAgICAgICAgICBsZXQgYWxsUGFyYW1zID0gXy5mbGF0dGVuKG1ldGhvZE1hcHBpbmcucGF5bG9hZFBhcmFtcy5yZXF1aXJlZCk7XG4gICAgICAgICAgICBpZiAobWV0aG9kTWFwcGluZy5wYXlsb2FkUGFyYW1zLm9wdGlvbmFsKSB7XG4gICAgICAgICAgICAgIGFsbFBhcmFtcyA9IGFsbFBhcmFtcy5jb25jYXQoXy5mbGF0dGVuKG1ldGhvZE1hcHBpbmcucGF5bG9hZFBhcmFtcy5vcHRpb25hbCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yIChsZXQgcGFyYW0gb2YgYWxsUGFyYW1zKSB7XG4gICAgICAgICAgICAgIHNoYXN1bS51cGRhdGUocGFyYW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1ldGhvZE1hcHBpbmcucGF5bG9hZFBhcmFtcy53cmFwKSB7XG4gICAgICAgICAgICAgIHNoYXN1bS51cGRhdGUoJ3NraXAnKTtcbiAgICAgICAgICAgICAgc2hhc3VtLnVwZGF0ZShtZXRob2RNYXBwaW5nLnBheWxvYWRQYXJhbXMud3JhcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsZXQgaGFzaCA9IHNoYXN1bS5kaWdlc3QoJ2hleCcpLnN1YnN0cmluZygwLCA4KTtcbiAgICAgIC8vIE1vZGlmeSB0aGUgaGFzaCB3aGVuZXZlciB0aGUgcHJvdG9jb2wgaGFzIGludGVudGlvbmFsbHkgYmVlbiBtb2RpZmllZC5cbiAgICAgIGhhc2guc2hvdWxkLmVxdWFsKCcyNjJjYTNjNCcpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY2hlY2sgcm91dGUgdG8gY29tbWFuZCBuYW1lIGNvbnZlcnNpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBwcm9wZXJseSBsb29rdXAgY29ycmVjdCBjb21tYW5kIG5hbWUgZm9yIGVuZHBvaW50IHdpdGggc2Vzc2lvbicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGNtZE5hbWUgPSByb3V0ZVRvQ29tbWFuZE5hbWUoJy90aW1lb3V0cycsICdQT1NUJyk7XG4gICAgICBjbWROYW1lLnNob3VsZC5lcXVhbCgndGltZW91dHMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvcGVybHkgbG9va3VwIGNvcnJlY3QgY29tbWFuZCBuYW1lIGZvciBlbmRwb2ludCB3aXRoIHNlc3Npb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjbWROYW1lID0gcm91dGVUb0NvbW1hbmROYW1lKCcvdGltZW91dHMvaW1wbGljaXRfd2FpdCcsICdQT1NUJyk7XG4gICAgICBjbWROYW1lLnNob3VsZC5lcXVhbCgnaW1wbGljaXRXYWl0Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHByb3Blcmx5IGxvb2t1cCBjb3JyZWN0IGNvbW1hbmQgbmFtZSBmb3IgZW5kcG9pbnQgd2l0aG91dCBzZXNzaW9uJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgY21kTmFtZSA9IHJvdXRlVG9Db21tYW5kTmFtZSgnL3N0YXR1cycsICdHRVQnKTtcbiAgICAgIGNtZE5hbWUuc2hvdWxkLmVxdWFsKCdnZXRTdGF0dXMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvcGVybHkgbG9va3VwIGNvcnJlY3QgY29tbWFuZCBuYW1lIGZvciBlbmRwb2ludCB3aXRob3V0IGxlYWRpbmcgc2xhc2gnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjbWROYW1lID0gcm91dGVUb0NvbW1hbmROYW1lKCdzdGF0dXMnLCAnR0VUJyk7XG4gICAgICBjbWROYW1lLnNob3VsZC5lcXVhbCgnZ2V0U3RhdHVzJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHByb3Blcmx5IGxvb2t1cCBjb3JyZWN0IGNvbW1hbmQgbmFtZSBmb3IgZnVsbHkgc3BlY2lmaWVkIGVuZHBvaW50JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgY21kTmFtZSA9IHJvdXRlVG9Db21tYW5kTmFtZSgnL3N0YXR1cycsICdHRVQnKTtcbiAgICAgIGNtZE5hbWUuc2hvdWxkLmVxdWFsKCdnZXRTdGF0dXMnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IGZpbmQgY29tbWFuZCBuYW1lIGlmIGluY29ycmVjdCBpbnB1dCBkYXRhIGhhcyBiZWVuIHNwZWNpZmllZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAobGV0IFtyb3V0ZSwgbWV0aG9kXSBvZiBbWycvc3RhdHVzJywgJ1BPU1QnXSwgWycveHN0YXR1cycsICdHRVQnXSwgWydzdGF0dXMnLCAnUE9TVCddXSkge1xuICAgICAgICBjb25zdCBjbWROYW1lID0gcm91dGVUb0NvbW1hbmROYW1lKHJvdXRlLCBtZXRob2QpO1xuICAgICAgICBjaGFpLnNob3VsZCgpLmVxdWFsKGNtZE5hbWUsIHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG59KTtcbiJdLCJmaWxlIjoidGVzdC9wcm90b2NvbC9yb3V0ZXMtc3BlY3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("source-map-support/register");
|
|
4
|
-
|
|
5
|
-
var _validators = require("../../lib/protocol/validators");
|
|
6
|
-
|
|
7
|
-
describe('Protocol', function () {
|
|
8
|
-
describe('direct to driver', function () {
|
|
9
|
-
describe('setUrl', function () {
|
|
10
|
-
it('should fail when no url passed', function () {
|
|
11
|
-
(() => {
|
|
12
|
-
_validators.validators.setUrl();
|
|
13
|
-
}).should.throw(/url/i);
|
|
14
|
-
});
|
|
15
|
-
it('should fail when given invalid url', function () {
|
|
16
|
-
(() => {
|
|
17
|
-
_validators.validators.setUrl('foo');
|
|
18
|
-
}).should.throw(/url/i);
|
|
19
|
-
});
|
|
20
|
-
it('should succeed when given url starting with http', function () {
|
|
21
|
-
(() => {
|
|
22
|
-
_validators.validators.setUrl('http://appium.io');
|
|
23
|
-
}).should.not.throw();
|
|
24
|
-
});
|
|
25
|
-
it('should succeed when given an android-like scheme', function () {
|
|
26
|
-
(() => {
|
|
27
|
-
_validators.validators.setUrl('content://contacts/people/1');
|
|
28
|
-
}).should.not.throw();
|
|
29
|
-
});
|
|
30
|
-
it('should succeed with hyphens dots and plus chars in the scheme', function () {
|
|
31
|
-
(() => {
|
|
32
|
-
_validators.validators.setUrl('my-app.a+b://login');
|
|
33
|
-
}).should.not.throw();
|
|
34
|
-
});
|
|
35
|
-
it('should succeed when given an about scheme', function () {
|
|
36
|
-
(() => {
|
|
37
|
-
_validators.validators.setUrl('about:blank');
|
|
38
|
-
}).should.not.throw();
|
|
39
|
-
});
|
|
40
|
-
it('should succeed when given a data scheme', function () {
|
|
41
|
-
(() => {
|
|
42
|
-
_validators.validators.setUrl('data:text/html,<html></html>');
|
|
43
|
-
}).should.not.throw();
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
describe('implicitWait', function () {
|
|
47
|
-
it('should fail when given no ms', function () {
|
|
48
|
-
(() => {
|
|
49
|
-
_validators.validators.implicitWait();
|
|
50
|
-
}).should.throw(/ms/i);
|
|
51
|
-
});
|
|
52
|
-
it('should fail when given a non-numeric ms', function () {
|
|
53
|
-
(() => {
|
|
54
|
-
_validators.validators.implicitWait('five');
|
|
55
|
-
}).should.throw(/ms/i);
|
|
56
|
-
});
|
|
57
|
-
it('should fail when given a negative ms', function () {
|
|
58
|
-
(() => {
|
|
59
|
-
_validators.validators.implicitWait(-1);
|
|
60
|
-
}).should.throw(/ms/i);
|
|
61
|
-
});
|
|
62
|
-
it('should succeed when given an ms of 0', function () {
|
|
63
|
-
(() => {
|
|
64
|
-
_validators.validators.implicitWait(0);
|
|
65
|
-
}).should.not.throw();
|
|
66
|
-
});
|
|
67
|
-
it('should succeed when given an ms greater than 0', function () {
|
|
68
|
-
(() => {
|
|
69
|
-
_validators.validators.implicitWait(100);
|
|
70
|
-
}).should.not.throw();
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
describe('asyncScriptTimeout', function () {
|
|
74
|
-
it('should fail when given no ms', function () {
|
|
75
|
-
(() => {
|
|
76
|
-
_validators.validators.asyncScriptTimeout();
|
|
77
|
-
}).should.throw(/ms/i);
|
|
78
|
-
});
|
|
79
|
-
it('should fail when given a non-numeric ms', function () {
|
|
80
|
-
(() => {
|
|
81
|
-
_validators.validators.asyncScriptTimeout('five');
|
|
82
|
-
}).should.throw(/ms/i);
|
|
83
|
-
});
|
|
84
|
-
it('should fail when given a negative ms', function () {
|
|
85
|
-
(() => {
|
|
86
|
-
_validators.validators.asyncScriptTimeout(-1);
|
|
87
|
-
}).should.throw(/ms/i);
|
|
88
|
-
});
|
|
89
|
-
it('should succeed when given an ms of 0', function () {
|
|
90
|
-
(() => {
|
|
91
|
-
_validators.validators.asyncScriptTimeout(0);
|
|
92
|
-
}).should.not.throw();
|
|
93
|
-
});
|
|
94
|
-
it('should succeed when given an ms greater than 0', function () {
|
|
95
|
-
(() => {
|
|
96
|
-
_validators.validators.asyncScriptTimeout(100);
|
|
97
|
-
}).should.not.throw();
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
describe('clickCurrent', function () {
|
|
101
|
-
it('should fail when given an invalid button', function () {
|
|
102
|
-
(() => {
|
|
103
|
-
_validators.validators.clickCurrent(4);
|
|
104
|
-
}).should.throw(/0, 1, or 2/i);
|
|
105
|
-
});
|
|
106
|
-
it('should succeed when given a valid button', function () {
|
|
107
|
-
(() => {
|
|
108
|
-
_validators.validators.clickCurrent(0);
|
|
109
|
-
}).should.not.throw();
|
|
110
|
-
(() => {
|
|
111
|
-
_validators.validators.clickCurrent(1);
|
|
112
|
-
}).should.not.throw();
|
|
113
|
-
(() => {
|
|
114
|
-
_validators.validators.clickCurrent(2);
|
|
115
|
-
}).should.not.throw();
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
describe('setNetworkConnection', function () {
|
|
119
|
-
it('should fail when given no type', function () {
|
|
120
|
-
(() => {
|
|
121
|
-
_validators.validators.setNetworkConnection();
|
|
122
|
-
}).should.throw(/0, 1, 2, 4, 6/i);
|
|
123
|
-
});
|
|
124
|
-
it('should fail when given an invalid type', function () {
|
|
125
|
-
(() => {
|
|
126
|
-
_validators.validators.setNetworkConnection(8);
|
|
127
|
-
}).should.throw(/0, 1, 2, 4, 6/i);
|
|
128
|
-
});
|
|
129
|
-
it('should succeed when given a valid type', function () {
|
|
130
|
-
(() => {
|
|
131
|
-
_validators.validators.setNetworkConnection(0);
|
|
132
|
-
}).should.not.throw();
|
|
133
|
-
(() => {
|
|
134
|
-
_validators.validators.setNetworkConnection(1);
|
|
135
|
-
}).should.not.throw();
|
|
136
|
-
(() => {
|
|
137
|
-
_validators.validators.setNetworkConnection(2);
|
|
138
|
-
}).should.not.throw();
|
|
139
|
-
(() => {
|
|
140
|
-
_validators.validators.setNetworkConnection(4);
|
|
141
|
-
}).should.not.throw();
|
|
142
|
-
(() => {
|
|
143
|
-
_validators.validators.setNetworkConnection(6);
|
|
144
|
-
}).should.not.throw();
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
});require('source-map-support').install();
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvcHJvdG9jb2wvdmFsaWRhdG9yLXNwZWNzLmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaXQiLCJ2YWxpZGF0b3JzIiwic2V0VXJsIiwic2hvdWxkIiwidGhyb3ciLCJub3QiLCJpbXBsaWNpdFdhaXQiLCJhc3luY1NjcmlwdFRpbWVvdXQiLCJjbGlja0N1cnJlbnQiLCJzZXROZXR3b3JrQ29ubmVjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBOztBQUlBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQVk7QUFDL0JBLEVBQUFBLFFBQVEsQ0FBQyxrQkFBRCxFQUFxQixZQUFZO0FBRXZDQSxJQUFBQSxRQUFRLENBQUMsUUFBRCxFQUFXLFlBQVk7QUFDN0JDLE1BQUFBLEVBQUUsQ0FBQyxnQ0FBRCxFQUFtQyxZQUFZO0FBQy9DLFNBQUMsTUFBTTtBQUFDQyxpQ0FBV0MsTUFBWDtBQUFxQixTQUE3QixFQUErQkMsTUFBL0IsQ0FBc0NDLEtBQXRDLENBQTRDLE1BQTVDO0FBQ0QsT0FGQyxDQUFGO0FBR0FKLE1BQUFBLEVBQUUsQ0FBQyxvQ0FBRCxFQUF1QyxZQUFZO0FBQ25ELFNBQUMsTUFBTTtBQUFDQyxpQ0FBV0MsTUFBWCxDQUFrQixLQUFsQjtBQUEwQixTQUFsQyxFQUFvQ0MsTUFBcEMsQ0FBMkNDLEtBQTNDLENBQWlELE1BQWpEO0FBQ0QsT0FGQyxDQUFGO0FBR0FKLE1BQUFBLEVBQUUsQ0FBQyxrREFBRCxFQUFxRCxZQUFZO0FBQ2pFLFNBQUMsTUFBTTtBQUFDQyxpQ0FBV0MsTUFBWCxDQUFrQixrQkFBbEI7QUFBdUMsU0FBL0MsRUFBaURDLE1BQWpELENBQXdERSxHQUF4RCxDQUE0REQsS0FBNUQ7QUFDRCxPQUZDLENBQUY7QUFHQUosTUFBQUEsRUFBRSxDQUFDLGtEQUFELEVBQXFELFlBQVk7QUFDakUsU0FBQyxNQUFNO0FBQUNDLGlDQUFXQyxNQUFYLENBQWtCLDZCQUFsQjtBQUFrRCxTQUExRCxFQUE0REMsTUFBNUQsQ0FBbUVFLEdBQW5F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cmFuc3BpbGU6bW9jaGFcblxuaW1wb3J0IHsgdmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uL2xpYi9wcm90b2NvbC92YWxpZGF0b3JzJztcblxuXG5cbmRlc2NyaWJlKCdQcm90b2NvbCcsIGZ1bmN0aW9uICgpIHtcbiAgZGVzY3JpYmUoJ2RpcmVjdCB0byBkcml2ZXInLCBmdW5jdGlvbiAoKSB7XG5cbiAgICBkZXNjcmliZSgnc2V0VXJsJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCBmYWlsIHdoZW4gbm8gdXJsIHBhc3NlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgKCgpID0+IHt2YWxpZGF0b3JzLnNldFVybCgpO30pLnNob3VsZC50aHJvdygvdXJsL2kpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIGZhaWwgd2hlbiBnaXZlbiBpbnZhbGlkIHVybCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgKCgpID0+IHt2YWxpZGF0b3JzLnNldFVybCgnZm9vJyk7fSkuc2hvdWxkLnRocm93KC91cmwvaSk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgc3VjY2VlZCB3aGVuIGdpdmVuIHVybCBzdGFydGluZyB3aXRoIGh0dHAnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICgoKSA9PiB7dmFsaWRhdG9ycy5zZXRVcmwoJ2h0dHA6Ly9hcHBpdW0uaW8nKTt9KS5zaG91bGQubm90LnRocm93KCk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgc3VjY2VlZCB3aGVuIGdpdmVuIGFuIGFuZHJvaWQtbGlrZSBzY2hlbWUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICgoKSA9PiB7dmFsaWRhdG9ycy5zZXRVcmwoJ2NvbnRlbnQ6Ly9jb250YWN0cy9wZW9wbGUvMScpO30pLnNob3VsZC5ub3QudGhyb3coKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHdpdGggaHlwaGVucyBkb3RzIGFuZCBwbHVzIGNoYXJzIGluIHRoZSBzY2hlbWUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICgoKSA9PiB7dmFsaWRhdG9ycy5zZXRVcmwoJ215LWFwcC5hK2I6Ly9sb2dpbicpO30pLnNob3VsZC5ub3QudGhyb3coKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHdoZW4gZ2l2ZW4gYW4gYWJvdXQgc2NoZW1lJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuc2V0VXJsKCdhYm91dDpibGFuaycpO30pLnNob3VsZC5ub3QudGhyb3coKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHdoZW4gZ2l2ZW4gYSBkYXRhIHNjaGVtZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgKCgpID0+IHt2YWxpZGF0b3JzLnNldFVybCgnZGF0YTp0ZXh0L2h0bWwsPGh0bWw+PC9odG1sPicpO30pLnNob3VsZC5ub3QudGhyb3coKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKCdpbXBsaWNpdFdhaXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIGZhaWwgd2hlbiBnaXZlbiBubyBtcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgKCgpID0+IHt2YWxpZGF0b3JzLmltcGxpY2l0V2FpdCgpO30pLnNob3VsZC50aHJvdygvbXMvaSk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgZmFpbCB3aGVuIGdpdmVuIGEgbm9uLW51bWVyaWMgbXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICgoKSA9PiB7dmFsaWRhdG9ycy5pbXBsaWNpdFdhaXQoJ2ZpdmUnKTt9KS5zaG91bGQudGhyb3coL21zL2kpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIGZhaWwgd2hlbiBnaXZlbiBhIG5lZ2F0aXZlIG1zJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuaW1wbGljaXRXYWl0KC0xKTt9KS5zaG91bGQudGhyb3coL21zL2kpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHN1Y2NlZWQgd2hlbiBnaXZlbiBhbiBtcyBvZiAwJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuaW1wbGljaXRXYWl0KDApO30pLnNob3VsZC5ub3QudGhyb3coKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHdoZW4gZ2l2ZW4gYW4gbXMgZ3JlYXRlciB0aGFuIDAnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICgoKSA9PiB7dmFsaWRhdG9ycy5pbXBsaWNpdFdhaXQoMTAwKTt9KS5zaG91bGQubm90LnRocm93KCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnYXN5bmNTY3JpcHRUaW1lb3V0JywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCBmYWlsIHdoZW4gZ2l2ZW4gbm8gbXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICgoKSA9PiB7dmFsaWRhdG9ycy5hc3luY1NjcmlwdFRpbWVvdXQoKTt9KS5zaG91bGQudGhyb3coL21zL2kpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIGZhaWwgd2hlbiBnaXZlbiBhIG5vbi1udW1lcmljIG1zJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuYXN5bmNTY3JpcHRUaW1lb3V0KCdmaXZlJyk7fSkuc2hvdWxkLnRocm93KC9tcy9pKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBmYWlsIHdoZW4gZ2l2ZW4gYSBuZWdhdGl2ZSBtcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgKCgpID0+IHt2YWxpZGF0b3JzLmFzeW5jU2NyaXB0VGltZW91dCgtMSk7fSkuc2hvdWxkLnRocm93KC9tcy9pKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHdoZW4gZ2l2ZW4gYW4gbXMgb2YgMCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgKCgpID0+IHt2YWxpZGF0b3JzLmFzeW5jU2NyaXB0VGltZW91dCgwKTt9KS5zaG91bGQubm90LnRocm93KCk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgc3VjY2VlZCB3aGVuIGdpdmVuIGFuIG1zIGdyZWF0ZXIgdGhhbiAwJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuYXN5bmNTY3JpcHRUaW1lb3V0KDEwMCk7fSkuc2hvdWxkLm5vdC50aHJvdygpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ2NsaWNrQ3VycmVudCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGl0KCdzaG91bGQgZmFpbCB3aGVuIGdpdmVuIGFuIGludmFsaWQgYnV0dG9uJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuY2xpY2tDdXJyZW50KDQpO30pLnNob3VsZC50aHJvdygvMCwgMSwgb3IgMi9pKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHdoZW4gZ2l2ZW4gYSB2YWxpZCBidXR0b24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICgoKSA9PiB7dmFsaWRhdG9ycy5jbGlja0N1cnJlbnQoMCk7fSkuc2hvdWxkLm5vdC50aHJvdygpO1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuY2xpY2tDdXJyZW50KDEpO30pLnNob3VsZC5ub3QudGhyb3coKTtcbiAgICAgICAgKCgpID0+IHt2YWxpZGF0b3JzLmNsaWNrQ3VycmVudCgyKTt9KS5zaG91bGQubm90LnRocm93KCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnc2V0TmV0d29ya0Nvbm5lY3Rpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIGZhaWwgd2hlbiBnaXZlbiBubyB0eXBlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuc2V0TmV0d29ya0Nvbm5lY3Rpb24oKTt9KS5zaG91bGQudGhyb3coLzAsIDEsIDIsIDQsIDYvaSk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgZmFpbCB3aGVuIGdpdmVuIGFuIGludmFsaWQgdHlwZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgKCgpID0+IHt2YWxpZGF0b3JzLnNldE5ldHdvcmtDb25uZWN0aW9uKDgpO30pLnNob3VsZC50aHJvdygvMCwgMSwgMiwgNCwgNi9pKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBzdWNjZWVkIHdoZW4gZ2l2ZW4gYSB2YWxpZCB0eXBlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuc2V0TmV0d29ya0Nvbm5lY3Rpb24oMCk7fSkuc2hvdWxkLm5vdC50aHJvdygpO1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuc2V0TmV0d29ya0Nvbm5lY3Rpb24oMSk7fSkuc2hvdWxkLm5vdC50aHJvdygpO1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuc2V0TmV0d29ya0Nvbm5lY3Rpb24oMik7fSkuc2hvdWxkLm5vdC50aHJvdygpO1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuc2V0TmV0d29ya0Nvbm5lY3Rpb24oNCk7fSkuc2hvdWxkLm5vdC50aHJvdygpO1xuICAgICAgICAoKCkgPT4ge3ZhbGlkYXRvcnMuc2V0TmV0d29ya0Nvbm5lY3Rpb24oNik7fSkuc2hvdWxkLm5vdC50aHJvdygpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwiZmlsZSI6InRlc3QvcHJvdG9jb2wvdmFsaWRhdG9yLXNwZWNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
|
package/index.d.ts
DELETED
|
@@ -1,386 +0,0 @@
|
|
|
1
|
-
declare class BaseDriver {
|
|
2
|
-
// class variables
|
|
3
|
-
static baseVersion: string;
|
|
4
|
-
static newMethodMap?: MethodMap;
|
|
5
|
-
|
|
6
|
-
constructor(opts?: {}, shouldValidateCaps?: boolean);
|
|
7
|
-
|
|
8
|
-
// fields
|
|
9
|
-
sessionId: string;
|
|
10
|
-
opts: DriverOpts;
|
|
11
|
-
initialOpts: DriverOpts;
|
|
12
|
-
caps?: {};
|
|
13
|
-
originalCaps?: {};
|
|
14
|
-
helpers: DriverHelpers;
|
|
15
|
-
basePath: string;
|
|
16
|
-
relaxedSecurityEnabled: boolean;
|
|
17
|
-
allowInsecure: string[];
|
|
18
|
-
denyInsecure: string[];
|
|
19
|
-
newCommandTimeoutMs: number;
|
|
20
|
-
implicitWaitMs: number;
|
|
21
|
-
locatorStrategies: string[];
|
|
22
|
-
webLocatorStrategies: string[];
|
|
23
|
-
settings: DeviceSettings;
|
|
24
|
-
protocol?: string;
|
|
25
|
-
supportedLogTypes: { [type: string]: LogType };
|
|
26
|
-
|
|
27
|
-
// getters/setters
|
|
28
|
-
get driverData(): {};
|
|
29
|
-
get isCommandsQueueEnabled(): boolean;
|
|
30
|
-
get eventHistory(): {};
|
|
31
|
-
get desiredCapConstraints(): Constraints;
|
|
32
|
-
|
|
33
|
-
set desiredCapConstraints(constraints: Constraints);
|
|
34
|
-
|
|
35
|
-
// non-command methods
|
|
36
|
-
onUnexpectedShutdown(handler: () => any): void;
|
|
37
|
-
logEvent(eventName: string): void;
|
|
38
|
-
getStatus(): Promise<{}>;
|
|
39
|
-
sessionExists(sessionId: string): boolean;
|
|
40
|
-
logExtraCaps(caps: {}): void;
|
|
41
|
-
validateDesiredCaps(caps: {}): boolean;
|
|
42
|
-
isFeatureEnabled(name: string): boolean;
|
|
43
|
-
ensureFeatureEnabled(name: string): void;
|
|
44
|
-
executeCommand(cmd: string, ...args: any[]): Promise<any>;
|
|
45
|
-
startUnexpectedShutdown(err?: Error): Promise<void>;
|
|
46
|
-
validateLocatorStrategy(strategy: string, webContext?: boolean): void;
|
|
47
|
-
proxyActive(): boolean;
|
|
48
|
-
getProxyAvoidList(): [string, RegExp][];
|
|
49
|
-
canProxy(): boolean;
|
|
50
|
-
proxyRouteIsAvoided(sessionId: string, method: string, url: string): boolean;
|
|
51
|
-
addManagedDriver(driver: BaseDriver): void;
|
|
52
|
-
getManagedDrivers(): BaseDriver[];
|
|
53
|
-
clearNewCommandTimeout(): Promise<void>;
|
|
54
|
-
startNewCommandTimeout(): Promise<void>;
|
|
55
|
-
implicitWaitForCondition(condition: () => Promise<any>): Promise<unknown>;
|
|
56
|
-
|
|
57
|
-
// Commands
|
|
58
|
-
findElOrEls(strategy: string, selector: string, mult: boolean, context: string): Promise<Element | Element[]>;
|
|
59
|
-
newCommandTimeout(ms: number): Promise<void>;
|
|
60
|
-
getLogTypes(): Promise<string[]>;
|
|
61
|
-
getLog(logType: string): Promise<{}[]>;
|
|
62
|
-
|
|
63
|
-
// WebDriver
|
|
64
|
-
createSession(jwpCaps: {}, jwpReqCaps: {}, w3cCaps: {}): Promise<[string, {}]>;
|
|
65
|
-
deleteSession(): Promise<void>;
|
|
66
|
-
getSessions(): Promise<{ id: string; capabilities: {} }[]>;
|
|
67
|
-
getSession(): Promise<{}>;
|
|
68
|
-
getTimeouts(): Promise<Record<string, number>>;
|
|
69
|
-
timeouts(type: string, ms: number, script: number, pageLoad: number, implicit: number): Promise<void>;
|
|
70
|
-
setUrl?(url: string): Promise<void>;
|
|
71
|
-
getUrl?(): Promise<string>;
|
|
72
|
-
back?(): Promise<void>;
|
|
73
|
-
forward?(): Promise<void>;
|
|
74
|
-
refresh?(): Promise<void>;
|
|
75
|
-
title?(): Promise<string>;
|
|
76
|
-
getWindowHandle?(): Promise<string>;
|
|
77
|
-
closeWindow?(): Promise<string[]>;
|
|
78
|
-
setWindow?(handle: string): Promise<void>;
|
|
79
|
-
getWindowHandles?(): Promise<string[]>;
|
|
80
|
-
setFrame?(id: null | number | string): Promise<void>;
|
|
81
|
-
getWindowRect?(): Promise<Rect>;
|
|
82
|
-
setWindowRect?(x: number, y: number, width: number, height: number): Promise<Rect>;
|
|
83
|
-
maximizeWindow?(): Promise<Rect>;
|
|
84
|
-
minimizeWindow?(): Promise<Rect>;
|
|
85
|
-
fullScreenWindow?(): Promise<Rect>;
|
|
86
|
-
active?(): Promise<Element>;
|
|
87
|
-
findElement(strategy: string, selector: string): Promise<Element>;
|
|
88
|
-
findElements(strategy: string, selector: string): Promise<Element[]>;
|
|
89
|
-
findElementFromElement(strategy: string, selector: string, elementId: string): Promise<Element>;
|
|
90
|
-
findElementsFromElement(strategy: string, selector: string, elementId: string): Promise<Element[]>;
|
|
91
|
-
elementSelected?(elementId: string): Promise<boolean>;
|
|
92
|
-
getAttribute?(name: string, elementId: string): Promise<string | null>;
|
|
93
|
-
getProperty?(name: string, elementId: string): Promise<string | null>;
|
|
94
|
-
getCssProperty?(name: string, elementId: string): Promise<string>;
|
|
95
|
-
getText?(elementId: string): Promise<string>;
|
|
96
|
-
getName?(elementId: string): Promise<string>;
|
|
97
|
-
getElementRect?(elementId: string): Promise<Rect>;
|
|
98
|
-
elementEnabled?(elementId: string): Promise<boolean>;
|
|
99
|
-
elementDisplayed?(elementId: string): Promise<boolean>;
|
|
100
|
-
click?(elementId: string): Promise<void>;
|
|
101
|
-
clear?(elementId: string): Promise<void>;
|
|
102
|
-
setValue?(text: string, elementId: string): Promise<void>;
|
|
103
|
-
getPageSource?(): Promise<string>;
|
|
104
|
-
execute?(script: string, args: unknown[]): Promise<unknown>;
|
|
105
|
-
executeAsync?(script: string, args: unknown[]): Promise<unknown>;
|
|
106
|
-
getCookies?(): Promise<Cookie[]>;
|
|
107
|
-
getCookie?(name: string): Promise<Cookie>;
|
|
108
|
-
setCookie?(cookie: Cookie): Promise<void>;
|
|
109
|
-
deleteCookie?(name: string): Promise<void>;
|
|
110
|
-
deleteCookies?(): Promise<void>;
|
|
111
|
-
performActions?(actions: Actions[]): Promise<void>;
|
|
112
|
-
releaseActions?(): Promise<void>;
|
|
113
|
-
postDismissAlert?(): Promise<void>;
|
|
114
|
-
postAcceptAlert?(): Promise<void>;
|
|
115
|
-
getAlertText?(): Promise<string | null>;
|
|
116
|
-
setAlertText?(text: string): Promise<void>;
|
|
117
|
-
getScreenshot?(): Promise<string>;
|
|
118
|
-
getElementScreenshot?(elementId: string): Promise<string>;
|
|
119
|
-
|
|
120
|
-
// Appium W3C WebDriver Extension
|
|
121
|
-
mobileShake?(): Promise<void>;
|
|
122
|
-
getDeviceTime?(format?: string): Promise<string>;
|
|
123
|
-
lock?(seconds?: number): Promise<void>;
|
|
124
|
-
unlock?(): Promise<void>;
|
|
125
|
-
isLocked?(): Promise<boolean>;
|
|
126
|
-
startRecordingScreen?(options?: ScreenRecordOptions): Promise<void>;
|
|
127
|
-
stopRecordingScreen?(options?: ScreenRecordOptions): Promise<string>;
|
|
128
|
-
getPerformanceDataTypes?(): Promise<string[]>;
|
|
129
|
-
getPerformanceData?(packageName: string, dataType: string, dataReadTimeout?: number): Promise<string[]>;
|
|
130
|
-
pressKeyCode?(keycode: number, metastate?: number, flags?: number): Promise<void>;
|
|
131
|
-
longPressKeyCode?(keycode: number, metastate?: number, flags?: number): Promise<void>;
|
|
132
|
-
fingerprint?(fingerprintId: number): Promise<void>;
|
|
133
|
-
sendSMS?(phoneNumber: string, message: string): Promise<void>;
|
|
134
|
-
gsmCall?(phoneNumber: string, action: string): Promise<void>;
|
|
135
|
-
gsmSignal?(signalStrength: string): Promise<void>;
|
|
136
|
-
gsmVoice?(state: string): Promise<void>;
|
|
137
|
-
powerCapacity?(percent: number): Promise<void>;
|
|
138
|
-
powerAC?(state: string): Promise<void>;
|
|
139
|
-
networkSpeed?(netspeed: string): Promise<void>;
|
|
140
|
-
keyevent?(keycode: string, metastate?: string): Promise<void>;
|
|
141
|
-
mobileRotation?(x: number, y: number, radius: number, rotation: number, touchCount: number, duration: string, elementId?: string): Promise<void>;
|
|
142
|
-
getCurrentActivity?(): Promise<string>;
|
|
143
|
-
getCurrentPackage?(): Promise<string>;
|
|
144
|
-
installApp?(appPath: string, options?: unknown): Promise<void>;
|
|
145
|
-
activateApp?(appId: string, options?: unknown): Promise<void>;
|
|
146
|
-
removeApp?(appId: string, options?: unknown): Promise<void>;
|
|
147
|
-
terminateApp?(appId: string, options?: unknown): Promise<void>;
|
|
148
|
-
isAppInstalled?(appId: string): Promise<boolean>;
|
|
149
|
-
queryAppState?(appId: string): Promise<number>;
|
|
150
|
-
hideKeyboard?(strategy?: string, key?: string, keyCode?: string, keyName?: string): Promise<void>;
|
|
151
|
-
isKeyboardShown?(): Promise<boolean>;
|
|
152
|
-
pushFile?(path: string, data: string): Promise<void>;
|
|
153
|
-
pullFile?(path: string): Promise<string>;
|
|
154
|
-
pullFolder?(path: string): Promise<string>;
|
|
155
|
-
toggleFlightMode?(): Promise<void>;
|
|
156
|
-
toggleData?(): Promise<void>;
|
|
157
|
-
toggleWiFi?(): Promise<void>;
|
|
158
|
-
toggleLocationServices?(): Promise<void>;
|
|
159
|
-
openNotifications?(): Promise<void>;
|
|
160
|
-
startActivity?(appPackage: string, appActivity: string, appWaitPackage?: string, appWaitActivity?: string, intentAction?: string, intentCategory?: string, intentFlags?: string, optionalIntentArguments?: string, dontStopAppOnReset?: boolean): Promise<void>;
|
|
161
|
-
getSystemBars?(): Promise<unknown[]>;
|
|
162
|
-
getDisplayDensity?(): Promise<number>;
|
|
163
|
-
touchId?(match: boolean): Promise<void>;
|
|
164
|
-
toggleEnrollTouchId?(enabled: boolean): Promise<void>;
|
|
165
|
-
launchApp?(): Promise<void>;
|
|
166
|
-
closeApp?(): Promise<void>;
|
|
167
|
-
reset(): Promise<void>;
|
|
168
|
-
background?(seconds: null | number): Promise<void>;
|
|
169
|
-
endCoverage?(intent: string, path: string): Promise<void>;
|
|
170
|
-
getStrings?(language?: string, stringFile?: string): Promise<Record<string, unknown>>;
|
|
171
|
-
setValueImmediate?(value: string, elementId: string): Promise<void>;
|
|
172
|
-
replaceValue?(value: string, elementId: string): Promise<void>;
|
|
173
|
-
updateSettings(newSettings: Record<string, unknown>): Promise<void>;
|
|
174
|
-
getSettings(): Promise<Record<string, unknown>>;
|
|
175
|
-
receiveAsyncResponse?(response: unknown): Promise<void>;
|
|
176
|
-
getLogEvents(type?: string | string[]): {};
|
|
177
|
-
logCustomEvent(vendor: string, event: string): void;
|
|
178
|
-
setClipboard?(content: string, contentType?: string, label?: string): Promise<void>;
|
|
179
|
-
getClipboard?(contentType?: string): Promise<string>;
|
|
180
|
-
|
|
181
|
-
// JSONWP
|
|
182
|
-
asyncScriptTimeout?(ms: number): Promise<void>;
|
|
183
|
-
implicitWait(ms: number): Promise<void>;
|
|
184
|
-
getWindowSize?(): Promise<Size>;
|
|
185
|
-
getLocation?(elementId: string): Promise<Position>;
|
|
186
|
-
getLocationInView?(elementId: string): Promise<Position>;
|
|
187
|
-
getSize?(elementId: string): Promise<Size>;
|
|
188
|
-
equalsElement?(elementId: string, otherElementId: string): Promise<boolean>;
|
|
189
|
-
submit?(elementId: string): Promise<void>;
|
|
190
|
-
keys?(value: string[]): Promise<void>;
|
|
191
|
-
availableIMEEngines?(): Promise<string[]>;
|
|
192
|
-
getActiveIMEEngine?(): Promise<string>;
|
|
193
|
-
isIMEActivated?(): Promise<boolean>;
|
|
194
|
-
deactivateIMEEngine?(): Promise<void>;
|
|
195
|
-
activateIMEEngine?(engine: string): Promise<void>;
|
|
196
|
-
getOrientation?(): Promise<string>;
|
|
197
|
-
setOrientation?(orientation: string): Promise<void>;
|
|
198
|
-
moveTo?(element?: null | string, xOffset?: number, yOffset?: number): Promise<void>;
|
|
199
|
-
buttonDown?(button?: number): Promise<void>;
|
|
200
|
-
buttonUp?(button?: number): Promise<void>;
|
|
201
|
-
clickCurrent?(button?: number): Promise<void>;
|
|
202
|
-
doubleClick?(): Promise<void>;
|
|
203
|
-
touchDown?(x: number, y: number): Promise<void>;
|
|
204
|
-
touchUp?(x: number, y: number): Promise<void>;
|
|
205
|
-
touchMove?(x: number, y: number): Promise<void>;
|
|
206
|
-
touchLongClick?(elementId: string): Promise<void>;
|
|
207
|
-
flick?(element?: string, xSpeed?: number, ySpeed?: number, xOffset?: number, yOffset?: number, speed?: number): Promise<void>;
|
|
208
|
-
getGeoLocation?(): Promise<Location>;
|
|
209
|
-
setGeoLocation?(location: Partial<Location>): Promise<void>;
|
|
210
|
-
|
|
211
|
-
// MJSONWIRE
|
|
212
|
-
getCurrentContext?(): Promise<string | null>;
|
|
213
|
-
setContext?(name: string): Promise<void>;
|
|
214
|
-
getContexts?(): Promise<string[]>;
|
|
215
|
-
getPageIndex?(elementId: string): Promise<string>;
|
|
216
|
-
getNetworkConnection?(): Promise<number>;
|
|
217
|
-
setNetworkConnection?(type: number): Promise<void>;
|
|
218
|
-
performTouch?(actions: unknown): Promise<void>;
|
|
219
|
-
performMultiAction?(actions: unknown, elementId: string): Promise<void>;
|
|
220
|
-
getRotation?(): Promise<Rotation>;
|
|
221
|
-
setRotation?(x: number, y: number, z: number): Promise<void>;
|
|
222
|
-
|
|
223
|
-
// Chromium DevTools
|
|
224
|
-
executeCdp?(cmd: string, params: unknown): Promise<unknown>;
|
|
225
|
-
|
|
226
|
-
// Web Authentication
|
|
227
|
-
addVirtualAuthenticator?(protocol: string, transport: string, hasResidentKey?: boolean, hasUserVerification?: boolean, isUserConsenting?: boolean, isUserVerified?: boolean): Promise<void>;
|
|
228
|
-
removeVirtualAuthenticator?(): Promise<void>;
|
|
229
|
-
addAuthCredential?(credentialId: string, isResidentCredential: boolean, rpId: string, privateKey: string, userHandle?: string, signCount?: number): Promise<void>;
|
|
230
|
-
getAuthCredential?(): Promise<Credential[]>;
|
|
231
|
-
removeAllAuthCredentials?(): Promise<void>;
|
|
232
|
-
removeAuthCredential?(): Promise<void>;
|
|
233
|
-
setUserAuthVerified?(isUserVerified: boolean): Promise<void>;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
declare type MethodMap = {
|
|
237
|
-
[path: string]: {
|
|
238
|
-
[method: string]: {
|
|
239
|
-
command?: string;
|
|
240
|
-
neverProxy?: boolean;
|
|
241
|
-
payloadParams?: {
|
|
242
|
-
wrap?: string;
|
|
243
|
-
unwrap?: string;
|
|
244
|
-
required?: string[] | string[][];
|
|
245
|
-
optional?: string[] | string[][];
|
|
246
|
-
validate?: (obj: any, protocol: string) => any;
|
|
247
|
-
makeArgs?: (obj: any) => any;
|
|
248
|
-
};
|
|
249
|
-
};
|
|
250
|
-
};
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
declare type Constraints = {
|
|
254
|
-
[key: string]: {
|
|
255
|
-
presence?: boolean;
|
|
256
|
-
isString?: boolean;
|
|
257
|
-
isNumber?: boolean;
|
|
258
|
-
isBoolean?: boolean;
|
|
259
|
-
isObject?: boolean;
|
|
260
|
-
isArray?: boolean;
|
|
261
|
-
deprecated?: boolean;
|
|
262
|
-
inclusion?: any[];
|
|
263
|
-
};
|
|
264
|
-
};
|
|
265
|
-
|
|
266
|
-
declare type DriverOpts = {
|
|
267
|
-
tmpDir: string;
|
|
268
|
-
[key: string]: any;
|
|
269
|
-
};
|
|
270
|
-
|
|
271
|
-
declare type Element = {
|
|
272
|
-
'element-6066-11e4-a52e-4f735466cecf': string;
|
|
273
|
-
};
|
|
274
|
-
|
|
275
|
-
declare interface DriverHelpers {
|
|
276
|
-
configureApp: (app: string, supportedAppExtensions: string[]) => Promise<string>;
|
|
277
|
-
isPackageOrBundle: (app: string) => boolean;
|
|
278
|
-
duplicateKeys: <T>(input: T, firstKey: string, secondKey: string) => T;
|
|
279
|
-
parseCapsArray: (cap: string | string[]) => string[];
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
declare type SettingsUpdater = (
|
|
283
|
-
prop: string,
|
|
284
|
-
newValue: {},
|
|
285
|
-
curValue: {},
|
|
286
|
-
) => Promise<void>;
|
|
287
|
-
|
|
288
|
-
declare class DeviceSettings {
|
|
289
|
-
constructor(defaultSettings: {}, onSettingsUpdate: SettingsUpdater);
|
|
290
|
-
update(newSettings: {}): Promise<void>;
|
|
291
|
-
getSettings(): Record<string, unknown>;;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
declare type LogType = {
|
|
295
|
-
description: string;
|
|
296
|
-
getter: (driver: BaseDriver) => Promise<{}[]>;
|
|
297
|
-
};
|
|
298
|
-
|
|
299
|
-
// WebDriver
|
|
300
|
-
|
|
301
|
-
declare type Rect = {
|
|
302
|
-
x: number;
|
|
303
|
-
y: number;
|
|
304
|
-
width: number;
|
|
305
|
-
height: number;
|
|
306
|
-
};
|
|
307
|
-
|
|
308
|
-
declare type Cookie = {
|
|
309
|
-
name: string;
|
|
310
|
-
value: string;
|
|
311
|
-
path?: string;
|
|
312
|
-
domain?: string;
|
|
313
|
-
secure?: boolean;
|
|
314
|
-
httpOnly?: boolean;
|
|
315
|
-
expiry?: number;
|
|
316
|
-
sameSite?: 'Lax' | 'Strict';
|
|
317
|
-
};
|
|
318
|
-
|
|
319
|
-
declare type Actions = {
|
|
320
|
-
type?: string;
|
|
321
|
-
actions: Action[];
|
|
322
|
-
parameters?: {
|
|
323
|
-
pointerType?: string;
|
|
324
|
-
};
|
|
325
|
-
};
|
|
326
|
-
|
|
327
|
-
declare type Action = {
|
|
328
|
-
duration?: number;
|
|
329
|
-
type: string;
|
|
330
|
-
value?: string;
|
|
331
|
-
x?: number;
|
|
332
|
-
y?: number;
|
|
333
|
-
button?: number;
|
|
334
|
-
origin?: string;
|
|
335
|
-
};
|
|
336
|
-
|
|
337
|
-
// Appium W3C WebDriver Extension
|
|
338
|
-
|
|
339
|
-
declare type ScreenRecordOptions = {
|
|
340
|
-
remotePath?: string;
|
|
341
|
-
username?: string;
|
|
342
|
-
password?: string;
|
|
343
|
-
method?: string;
|
|
344
|
-
forceRestart?: boolean;
|
|
345
|
-
timeLimit?: string;
|
|
346
|
-
videoType?: string;
|
|
347
|
-
videoQuality?: string;
|
|
348
|
-
videoFps?: string;
|
|
349
|
-
videoScale?: string;
|
|
350
|
-
bitRate?: string;
|
|
351
|
-
videoSize?: string;
|
|
352
|
-
bugReport?: string;
|
|
353
|
-
};
|
|
354
|
-
|
|
355
|
-
// JSONWP
|
|
356
|
-
|
|
357
|
-
declare type Size = Pick<Rect, 'width' | 'height'>;
|
|
358
|
-
|
|
359
|
-
declare type Position = Pick<Rect, 'x' | 'y'>;
|
|
360
|
-
|
|
361
|
-
declare type Location = {
|
|
362
|
-
latitude: number;
|
|
363
|
-
longitude: number;
|
|
364
|
-
altitude: number;
|
|
365
|
-
};
|
|
366
|
-
|
|
367
|
-
declare type Rotation = {
|
|
368
|
-
x: number;
|
|
369
|
-
y: number;
|
|
370
|
-
z: number;
|
|
371
|
-
};
|
|
372
|
-
|
|
373
|
-
// Web Authentication
|
|
374
|
-
|
|
375
|
-
declare type Credential = {
|
|
376
|
-
credentialId: string;
|
|
377
|
-
isResidentCredential: boolean;
|
|
378
|
-
rpId: string;
|
|
379
|
-
privateKey: string;
|
|
380
|
-
userHandle?: string;
|
|
381
|
-
signCount: number;
|
|
382
|
-
largeBlob?: string;
|
|
383
|
-
};
|
|
384
|
-
|
|
385
|
-
export { BaseDriver, DriverHelpers, DriverOpts, Element, LogType, MethodMap, Constraints, SettingsUpdater, DeviceSettings, Rect, Cookie, Actions, Action, ScreenRecordOptions, Size, Position, Location, Rotation, Credential };
|
|
386
|
-
export default BaseDriver;
|