@appium/base-driver 10.5.2 → 10.7.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 +1 -1
- package/build/lib/basedriver/capabilities.d.ts.map +1 -1
- package/build/lib/basedriver/capabilities.js +58 -50
- 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 +10 -14
- 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/find.d.ts.map +1 -1
- package/build/lib/basedriver/commands/find.js +2 -1
- package/build/lib/basedriver/commands/find.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 +9 -13
- package/build/lib/basedriver/commands/timeout.js.map +1 -1
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +17 -14
- 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 +34 -38
- 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 +37 -13
- 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 +47 -33
- 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 +157 -0
- package/build/lib/basedriver/ipc.js.map +1 -0
- package/build/lib/basedriver/validation.d.ts.map +1 -1
- package/build/lib/basedriver/validation.js +27 -29
- package/build/lib/basedriver/validation.js.map +1 -1
- package/build/lib/express/express-logging.d.ts +0 -1
- package/build/lib/express/express-logging.d.ts.map +1 -1
- package/build/lib/express/express-logging.js +11 -11
- 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 +1 -1
- package/build/lib/express/server.d.ts.map +1 -1
- package/build/lib/express/server.js +82 -73
- package/build/lib/express/server.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 +6 -7
- package/build/lib/helpers/levenshtein-match.js.map +1 -1
- package/build/lib/index.d.ts +2 -1
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +6 -16
- 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 +21 -18
- 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 +45 -36
- 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 +33 -37
- 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 +1 -1
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/protocol.js +73 -61
- 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 +16 -17
- 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/test-pages/crash.d.ts.map +1 -0
- package/build/lib/test-pages/crash.js.map +1 -0
- package/build/lib/test-pages/env.d.ts +5 -0
- package/build/lib/test-pages/env.d.ts.map +1 -0
- package/build/lib/test-pages/env.js +12 -0
- package/build/lib/test-pages/env.js.map +1 -0
- package/build/lib/{express/static.d.ts → test-pages/handlers.d.ts} +1 -2
- package/build/lib/test-pages/handlers.d.ts.map +1 -0
- package/build/lib/{express/static.js → test-pages/handlers.js} +9 -12
- package/build/lib/test-pages/handlers.js.map +1 -0
- package/build/lib/test-pages/index.d.ts +6 -0
- package/build/lib/test-pages/index.d.ts.map +1 -0
- package/build/lib/test-pages/index.js +35 -0
- package/build/lib/test-pages/index.js.map +1 -0
- package/build/lib/test-pages/static-dir.d.ts +8 -0
- package/build/lib/test-pages/static-dir.d.ts.map +1 -0
- package/build/lib/test-pages/static-dir.js +24 -0
- package/build/lib/test-pages/static-dir.js.map +1 -0
- package/build/lib/test-pages/template.d.ts +3 -0
- package/build/lib/test-pages/template.d.ts.map +1 -0
- package/build/lib/test-pages/template.js +19 -0
- package/build/lib/test-pages/template.js.map +1 -0
- package/build/lib/utils.d.ts +14 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +55 -0
- package/build/lib/utils.js.map +1 -0
- package/lib/basedriver/capabilities.ts +126 -115
- package/lib/basedriver/commands/bidi.ts +11 -11
- package/lib/basedriver/commands/event.ts +17 -11
- package/lib/basedriver/commands/execute.ts +15 -12
- package/lib/basedriver/commands/find.ts +20 -12
- package/lib/basedriver/commands/log.ts +4 -3
- package/lib/basedriver/commands/timeout.ts +22 -14
- package/lib/basedriver/core.ts +26 -26
- package/lib/basedriver/device-settings.ts +7 -12
- package/lib/basedriver/driver.ts +62 -50
- package/lib/basedriver/extension-core.ts +60 -18
- package/lib/basedriver/helpers.ts +81 -52
- package/lib/basedriver/ipc.ts +198 -0
- package/lib/basedriver/validation.ts +37 -30
- package/lib/express/express-logging.ts +16 -20
- package/lib/express/idempotency.ts +9 -9
- package/lib/express/middleware.ts +14 -18
- package/lib/express/server.ts +118 -120
- package/lib/express/websocket.ts +11 -15
- package/lib/helpers/capabilities.ts +21 -16
- package/lib/helpers/extension-command-name.ts +3 -3
- package/lib/helpers/levenshtein-match.ts +20 -14
- package/lib/index.js +3 -12
- package/lib/jsonwp-proxy/protocol-converter.ts +58 -35
- package/lib/jsonwp-proxy/proxy-request.ts +26 -26
- package/lib/jsonwp-proxy/proxy.ts +74 -75
- package/lib/protocol/errors.ts +69 -88
- package/lib/protocol/helpers.ts +9 -5
- package/lib/protocol/protocol.ts +149 -107
- package/lib/protocol/routes.ts +17 -17
- package/lib/protocol/validators.ts +1 -3
- package/lib/test-pages/env.ts +9 -0
- package/lib/{express/static.ts → test-pages/handlers.ts} +10 -22
- package/lib/test-pages/index.ts +34 -0
- package/lib/test-pages/static-dir.ts +19 -0
- package/lib/test-pages/template.ts +17 -0
- package/lib/utils.ts +65 -0
- package/package.json +10 -13
- package/tsconfig.json +1 -0
- package/build/lib/express/crash.d.ts.map +0 -1
- package/build/lib/express/crash.js.map +0 -1
- package/build/lib/express/static.d.ts.map +0 -1
- package/build/lib/express/static.js.map +0 -1
- /package/build/lib/{express → test-pages}/crash.d.ts +0 -0
- /package/build/lib/{express → test-pages}/crash.js +0 -0
- /package/lib/{express → test-pages}/crash.ts +0 -0
- /package/{static → test-fixtures/static}/appium.png +0 -0
- /package/{static → test-fixtures/static}/favicon.ico +0 -0
- /package/{static → test-fixtures/static}/js/jquery.min.js +0 -0
- /package/{static → test-fixtures/static}/test/frameset.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig-app-banner.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig-scrollable.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig2.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig3.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig4.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig5.html +0 -0
- /package/{static → test-fixtures/static}/test/iframes.html +0 -0
- /package/{static → test-fixtures/static}/test/shadow-dom.html +0 -0
- /package/{static → test-fixtures/static}/test/subframe1.html +0 -0
- /package/{static → test-fixtures/static}/test/subframe2.html +0 -0
- /package/{static → test-fixtures/static}/test/subframe3.html +0 -0
- /package/{static → test-fixtures/static}/test/touch.html +0 -0
- /package/{static → test-fixtures/static}/test/welcome.html +0 -0
|
@@ -6,20 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.server = server;
|
|
7
7
|
exports.configureServer = configureServer;
|
|
8
8
|
exports.normalizeBasePath = normalizeBasePath;
|
|
9
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
11
9
|
const express_1 = __importDefault(require("express"));
|
|
12
10
|
const node_http_1 = __importDefault(require("node:http"));
|
|
13
|
-
const
|
|
11
|
+
const node_module_1 = require("node:module");
|
|
14
12
|
const body_parser_1 = __importDefault(require("body-parser"));
|
|
15
13
|
const method_override_1 = __importDefault(require("method-override"));
|
|
16
14
|
const logger_1 = require("./logger");
|
|
17
15
|
const express_logging_1 = require("./express-logging");
|
|
18
16
|
const middleware_1 = require("./middleware");
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
// Import env helper directly — not from the test-pages barrel — so Express handlers and
|
|
18
|
+
// fixture code stay unloaded unless APPIUM_ENABLE_LEGACY_TEST_PAGES is set.
|
|
19
|
+
const env_1 = require("../test-pages/env");
|
|
21
20
|
const websocket_1 = require("./websocket");
|
|
22
|
-
const bluebird_1 = __importDefault(require("bluebird"));
|
|
23
21
|
const constants_1 = require("../constants");
|
|
24
22
|
const support_1 = require("@appium/support");
|
|
25
23
|
const KEEP_ALIVE_TIMEOUT_MS = 10 * 60 * 1000; // 10 minutes
|
|
@@ -31,49 +29,55 @@ async function server(opts) {
|
|
|
31
29
|
const { routeConfiguringFunction, port, hostname, cliArgs = {}, allowCors = true, basePath = constants_1.DEFAULT_BASE_PATH, extraMethodMap = {}, serverUpdaters = [], keepAliveTimeout = KEEP_ALIVE_TIMEOUT_MS, requestTimeout, } = opts;
|
|
32
30
|
const app = (0, express_1.default)();
|
|
33
31
|
const httpServer = await createServer(app, cliArgs);
|
|
34
|
-
return await new
|
|
35
|
-
// we
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
32
|
+
return await new Promise((resolve, reject) => {
|
|
33
|
+
// we use a promise here because some elements of server start failure only happen in
|
|
34
|
+
// httpServer listeners. The async IIFE runs setup serially (e.g. plugin updates) while
|
|
35
|
+
// configureHttp can still reject via the listener registered below.
|
|
36
|
+
void (async () => {
|
|
37
|
+
try {
|
|
38
|
+
const appiumServer = configureHttp({
|
|
39
|
+
httpServer,
|
|
40
|
+
reject,
|
|
41
|
+
keepAliveTimeout,
|
|
42
|
+
gracefulShutdownTimeout: cliArgs.shutdownTimeout,
|
|
43
|
+
});
|
|
44
|
+
const useLegacyUpgradeHandler = !hasShouldUpgradeCallback(httpServer);
|
|
45
|
+
let registerTestPages;
|
|
46
|
+
if ((0, env_1.isLegacyTestPagesEnabled)()) {
|
|
47
|
+
const require = (0, node_module_1.createRequire)(__filename);
|
|
48
|
+
registerTestPages = require('../test-pages').registerTestPages;
|
|
49
|
+
}
|
|
50
|
+
configureServer({
|
|
51
|
+
app,
|
|
52
|
+
addRoutes: routeConfiguringFunction,
|
|
53
|
+
allowCors,
|
|
54
|
+
basePath,
|
|
55
|
+
extraMethodMap,
|
|
56
|
+
webSocketsMapping: appiumServer.webSocketsMapping,
|
|
57
|
+
useLegacyUpgradeHandler,
|
|
58
|
+
registerTestPages,
|
|
59
|
+
});
|
|
60
|
+
// allow extensions to update the app and http server objects
|
|
61
|
+
for (const updater of serverUpdaters) {
|
|
62
|
+
await updater(app, appiumServer, cliArgs);
|
|
63
|
+
}
|
|
64
|
+
// once all configurations and updaters have been applied, make sure to set up a catchall
|
|
65
|
+
// handler so that anything unknown 404s. But do this after everything else since we don't
|
|
66
|
+
// want to block extensions' ability to add routes if they want.
|
|
67
|
+
app.all('/*all', middleware_1.catch404Handler);
|
|
68
|
+
await startServer({
|
|
69
|
+
httpServer,
|
|
70
|
+
hostname,
|
|
71
|
+
port,
|
|
72
|
+
keepAliveTimeout,
|
|
73
|
+
requestTimeout,
|
|
74
|
+
});
|
|
75
|
+
resolve(appiumServer);
|
|
60
76
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
await startServer({
|
|
66
|
-
httpServer,
|
|
67
|
-
hostname,
|
|
68
|
-
port,
|
|
69
|
-
keepAliveTimeout,
|
|
70
|
-
requestTimeout,
|
|
71
|
-
});
|
|
72
|
-
resolve(appiumServer);
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
reject(err);
|
|
76
|
-
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
reject(err);
|
|
79
|
+
}
|
|
80
|
+
})();
|
|
77
81
|
});
|
|
78
82
|
}
|
|
79
83
|
/**
|
|
@@ -81,16 +85,15 @@ async function server(opts) {
|
|
|
81
85
|
*
|
|
82
86
|
* @param opts - Configuration options
|
|
83
87
|
*/
|
|
84
|
-
function configureServer(
|
|
85
|
-
basePath =
|
|
88
|
+
function configureServer(opts) {
|
|
89
|
+
const { app, addRoutes, allowCors = true, basePath: rawBasePath = constants_1.DEFAULT_BASE_PATH, extraMethodMap = {}, webSocketsMapping = {}, useLegacyUpgradeHandler = true, } = opts;
|
|
90
|
+
const { registerTestPages } = opts;
|
|
91
|
+
const basePath = normalizeBasePath(rawBasePath);
|
|
86
92
|
app.use(express_logging_1.endLogFormatter);
|
|
87
93
|
app.use(middleware_1.handleLogContext);
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
// crash routes, for testing
|
|
92
|
-
app.use(`${basePath}/produce_error`, crash_1.produceError);
|
|
93
|
-
app.use(`${basePath}/crash`, crash_1.produceCrash);
|
|
94
|
+
if (registerTestPages) {
|
|
95
|
+
registerTestPages(app, { basePath });
|
|
96
|
+
}
|
|
94
97
|
// Only use legacy Express middleware for WebSocket upgrades if shouldUpgradeCallback is not available.
|
|
95
98
|
// When shouldUpgradeCallback is available, upgrades are handled directly on the HTTP server
|
|
96
99
|
// to avoid Express middleware timeout issues with long-lived connections
|
|
@@ -113,11 +116,6 @@ function configureServer({ app, addRoutes, allowCors = true, basePath = constant
|
|
|
113
116
|
// set up start logging (which depends on bodyParser doing its thing)
|
|
114
117
|
app.use(express_logging_1.startLogFormatter);
|
|
115
118
|
addRoutes(app, { basePath, extraMethodMap });
|
|
116
|
-
// dynamic routes for testing, etc.
|
|
117
|
-
app.all('/welcome', static_1.welcome);
|
|
118
|
-
app.all('/test/guinea-pig', static_1.guineaPig);
|
|
119
|
-
app.all('/test/guinea-pig-scrollable', static_1.guineaPigScrollable);
|
|
120
|
-
app.all('/test/guinea-pig-app-banner', static_1.guineaPigAppBanner);
|
|
121
119
|
}
|
|
122
120
|
/**
|
|
123
121
|
* Normalize base path string (leading slash, no trailing slash).
|
|
@@ -126,7 +124,7 @@ function configureServer({ app, addRoutes, allowCors = true, basePath = constant
|
|
|
126
124
|
* @returns Normalized base path
|
|
127
125
|
*/
|
|
128
126
|
function normalizeBasePath(basePath) {
|
|
129
|
-
if (
|
|
127
|
+
if (typeof basePath !== 'string') {
|
|
130
128
|
throw new Error(`Invalid path prefix ${basePath}`);
|
|
131
129
|
}
|
|
132
130
|
// ensure the path prefix does not end in '/', since our method map starts all paths with '/'
|
|
@@ -147,13 +145,16 @@ async function createServer(app, cliArgs) {
|
|
|
147
145
|
throw new Error(`Both certificate path and key path must be provided to enable TLS`);
|
|
148
146
|
}
|
|
149
147
|
const certKey = [sslCertificatePath, sslKeyPath];
|
|
150
|
-
const
|
|
151
|
-
for (const [exists, desc, p] of
|
|
148
|
+
const [certExists, keyExists] = await Promise.all(certKey.map((p) => support_1.fs.exists(p)));
|
|
149
|
+
for (const [exists, desc, p] of [
|
|
150
|
+
[certExists, 'certificate', sslCertificatePath],
|
|
151
|
+
[keyExists, 'key', sslKeyPath],
|
|
152
|
+
]) {
|
|
152
153
|
if (!exists) {
|
|
153
154
|
throw new Error(`The provided SSL ${desc} at '${p}' does not exist or is not accessible`);
|
|
154
155
|
}
|
|
155
156
|
}
|
|
156
|
-
const [cert, key] = await
|
|
157
|
+
const [cert, key] = (await Promise.all(certKey.map((p) => support_1.fs.readFile(p, 'utf8'))));
|
|
157
158
|
logger_1.log.debug('Enabling TLS/SPDY on the server using the provided certificate');
|
|
158
159
|
const spdy = require('spdy');
|
|
159
160
|
return spdy.createServer({
|
|
@@ -187,7 +188,7 @@ function configureHttp({ httpServer, reject, keepAliveTimeout, gracefulShutdownT
|
|
|
187
188
|
// See: https://github.com/nodejs/node/pull/59824
|
|
188
189
|
if (hasShouldUpgradeCallback(httpServer)) {
|
|
189
190
|
// shouldUpgradeCallback only returns a boolean to indicate if the upgrade should proceed
|
|
190
|
-
appiumServer.shouldUpgradeCallback = (req) =>
|
|
191
|
+
appiumServer.shouldUpgradeCallback = (req) => String(req.headers?.upgrade ?? '').toLowerCase() === 'websocket';
|
|
191
192
|
appiumServer.on('upgrade', (req, socket, head) => {
|
|
192
193
|
if (!(0, middleware_1.tryHandleWebSocketUpgrade)(req, socket, head, appiumServer.webSocketsMapping)) {
|
|
193
194
|
socket.destroy();
|
|
@@ -197,7 +198,7 @@ function configureHttp({ httpServer, reject, keepAliveTimeout, gracefulShutdownT
|
|
|
197
198
|
// http.Server.close() only stops new connections, but we need to wait until
|
|
198
199
|
// all connections are closed and the `close` event is emitted
|
|
199
200
|
const originalClose = appiumServer.close.bind(appiumServer);
|
|
200
|
-
appiumServer.close = async () => await new
|
|
201
|
+
appiumServer.close = async () => await new Promise((_resolve, _reject) => {
|
|
201
202
|
logger_1.log.info('Closing Appium HTTP server');
|
|
202
203
|
const timer = new support_1.timing.Timer().start();
|
|
203
204
|
const onTimeout = setTimeout(() => {
|
|
@@ -225,8 +226,7 @@ function configureHttp({ httpServer, reject, keepAliveTimeout, gracefulShutdownT
|
|
|
225
226
|
});
|
|
226
227
|
appiumServer.once('error', (err) => {
|
|
227
228
|
if (err.code === 'EADDRNOTAVAIL') {
|
|
228
|
-
logger_1.log.error('Could not start REST http interface listener. ' +
|
|
229
|
-
'Requested address is not available.');
|
|
229
|
+
logger_1.log.error('Could not start REST http interface listener. ' + 'Requested address is not available.');
|
|
230
230
|
}
|
|
231
231
|
else {
|
|
232
232
|
logger_1.log.error('Could not start REST http interface listener. The requested ' +
|
|
@@ -240,12 +240,21 @@ function configureHttp({ httpServer, reject, keepAliveTimeout, gracefulShutdownT
|
|
|
240
240
|
}
|
|
241
241
|
async function startServer({ httpServer, port, hostname, keepAliveTimeout, requestTimeout, }) {
|
|
242
242
|
// If the hostname is omitted, the server will accept connections on any IP address
|
|
243
|
-
const
|
|
244
|
-
|
|
243
|
+
const startPromise = new Promise((resolve, reject) => {
|
|
244
|
+
const onError = (err) => {
|
|
245
|
+
httpServer.removeListener('listening', onListening);
|
|
246
|
+
reject(err);
|
|
247
|
+
};
|
|
248
|
+
const onListening = () => {
|
|
249
|
+
httpServer.removeListener('error', onError);
|
|
250
|
+
resolve();
|
|
251
|
+
};
|
|
252
|
+
httpServer.once('error', onError);
|
|
253
|
+
httpServer.once('listening', onListening);
|
|
254
|
+
httpServer.listen(port, hostname);
|
|
245
255
|
});
|
|
246
|
-
const startPromise = start(port, hostname);
|
|
247
256
|
httpServer.keepAliveTimeout = keepAliveTimeout;
|
|
248
|
-
if (
|
|
257
|
+
if (Number.isInteger(requestTimeout)) {
|
|
249
258
|
httpServer.requestTimeout = Number(requestTimeout);
|
|
250
259
|
}
|
|
251
260
|
// headers timeout must be greater than keepAliveTimeout
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../lib/express/server.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../lib/express/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../lib/express/websocket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../lib/express/websocket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAE1D,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAEhD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,QAAQ,GACtB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,YAAY,EAClB,UAAU,GAAE,MAAM,GAAG,IAAW,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAUnC;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,YAAY,EAClB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CASrF"}
|
|
@@ -1,15 +1,11 @@
|
|
|
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.DEFAULT_WS_PATHNAME_PREFIX = void 0;
|
|
7
4
|
exports.addWebSocketHandler = addWebSocketHandler;
|
|
8
5
|
exports.getWebSocketHandlers = getWebSocketHandlers;
|
|
9
6
|
exports.removeWebSocketHandler = removeWebSocketHandler;
|
|
10
7
|
exports.removeAllWebSocketHandlers = removeAllWebSocketHandlers;
|
|
11
|
-
const
|
|
12
|
-
const bluebird_1 = __importDefault(require("bluebird"));
|
|
8
|
+
const support_1 = require("@appium/support");
|
|
13
9
|
exports.DEFAULT_WS_PATHNAME_PREFIX = '/ws';
|
|
14
10
|
/**
|
|
15
11
|
* Adds a WebSocket handler to this server's mapping.
|
|
@@ -23,8 +19,8 @@ async function addWebSocketHandler(handlerPathname, handlerServer) {
|
|
|
23
19
|
* @see AppiumServerExtension.getWebSocketHandlers
|
|
24
20
|
*/
|
|
25
21
|
async function getWebSocketHandlers(keysFilter = null) {
|
|
26
|
-
return
|
|
27
|
-
if (
|
|
22
|
+
return Object.entries(this.webSocketsMapping).reduce((acc, [pathname, wsServer]) => {
|
|
23
|
+
if (typeof keysFilter !== 'string' || pathname.includes(keysFilter)) {
|
|
28
24
|
acc[pathname] = wsServer;
|
|
29
25
|
}
|
|
30
26
|
return acc;
|
|
@@ -59,9 +55,10 @@ async function removeWebSocketHandler(handlerPathname) {
|
|
|
59
55
|
* @see AppiumServerExtension.removeAllWebSocketHandlers
|
|
60
56
|
*/
|
|
61
57
|
async function removeAllWebSocketHandlers() {
|
|
62
|
-
if (
|
|
58
|
+
if (support_1.util.isEmpty(this.webSocketsMapping)) {
|
|
63
59
|
return false;
|
|
64
60
|
}
|
|
65
|
-
|
|
61
|
+
const results = await Promise.all(Object.keys(this.webSocketsMapping).map((pathname) => this.removeWebSocketHandler(pathname)));
|
|
62
|
+
return results.some(Boolean);
|
|
66
63
|
}
|
|
67
64
|
//# sourceMappingURL=websocket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../lib/express/websocket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../lib/express/websocket.ts"],"names":[],"mappings":";;;AASA,kDAMC;AAMD,oDAaC;AAMD,wDAqBC;AAMD,gEASC;AA5ED,6CAAqC;AAGxB,QAAA,0BAA0B,GAAG,KAAK,CAAC;AAEhD;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CAEvC,eAAuB,EACvB,aAAuB;IAEvB,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,oBAAoB,CAExC,aAA4B,IAAI;IAEhC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAClD,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;QAC5B,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAC3B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,sBAAsB,CAE1C,eAAuB;IAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,eAAe,CAAC,CAAC;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;YAAS,CAAC;QACT,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,0BAA0B;IAC9C,IAAI,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAC7F,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../lib/helpers/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAG5F;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,eAAe,CAAC,WAAW,CAAC,CAqB7E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,WAAW,EAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,qBAAqB,EAAE,CAAC,EACxB,GAAG,EAAE,YAAY,GAChB,YAAY,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../lib/helpers/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAG5F;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,eAAe,CAAC,WAAW,CAAC,CAqB7E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,WAAW,EAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,qBAAqB,EAAE,CAAC,EACxB,GAAG,EAAE,YAAY,GAChB,YAAY,CAAC,CAAC,CAAC,CAkDjB"}
|
|
@@ -1,31 +1,28 @@
|
|
|
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.isW3cCaps = isW3cCaps;
|
|
7
4
|
exports.fixCaps = fixCaps;
|
|
8
|
-
const
|
|
5
|
+
const support_1 = require("@appium/support");
|
|
9
6
|
/**
|
|
10
7
|
* Determine whether the given argument is valid
|
|
11
8
|
* W3C capabilities instance.
|
|
12
9
|
*/
|
|
13
10
|
function isW3cCaps(caps) {
|
|
14
|
-
if (!
|
|
11
|
+
if (!support_1.util.isPlainObject(caps)) {
|
|
15
12
|
return false;
|
|
16
13
|
}
|
|
17
14
|
const c = caps;
|
|
18
|
-
const isFirstMatchValid = () =>
|
|
19
|
-
!
|
|
20
|
-
|
|
21
|
-
const isAlwaysMatchValid = () =>
|
|
22
|
-
if (
|
|
15
|
+
const isFirstMatchValid = () => Array.isArray(c.firstMatch) &&
|
|
16
|
+
!support_1.util.isEmpty(c.firstMatch) &&
|
|
17
|
+
c.firstMatch.every((item) => support_1.util.isPlainObject(item));
|
|
18
|
+
const isAlwaysMatchValid = () => support_1.util.isPlainObject(c.alwaysMatch);
|
|
19
|
+
if (Object.hasOwn(c, 'firstMatch') && Object.hasOwn(c, 'alwaysMatch')) {
|
|
23
20
|
return isFirstMatchValid() && isAlwaysMatchValid();
|
|
24
21
|
}
|
|
25
|
-
if (
|
|
22
|
+
if (Object.hasOwn(c, 'firstMatch')) {
|
|
26
23
|
return isFirstMatchValid();
|
|
27
24
|
}
|
|
28
|
-
if (
|
|
25
|
+
if (Object.hasOwn(c, 'alwaysMatch')) {
|
|
29
26
|
return isAlwaysMatchValid();
|
|
30
27
|
}
|
|
31
28
|
return false;
|
|
@@ -34,14 +31,14 @@ function isW3cCaps(caps) {
|
|
|
34
31
|
* Normalize capability values according to constraints (e.g. string 'true' → boolean).
|
|
35
32
|
*/
|
|
36
33
|
function fixCaps(oldCaps, desiredCapConstraints, log) {
|
|
37
|
-
const caps =
|
|
34
|
+
const caps = { ...oldCaps };
|
|
38
35
|
const logCastWarning = (prefix) => log.warn(`${prefix}. This may cause unexpected behavior`);
|
|
39
36
|
// boolean capabilities can be passed in as strings 'false' and 'true'
|
|
40
37
|
// which we want to translate into boolean values
|
|
41
|
-
const booleanCaps =
|
|
38
|
+
const booleanCaps = Object.keys(desiredCapConstraints).filter((key) => desiredCapConstraints[key]?.isBoolean === true);
|
|
42
39
|
for (const cap of booleanCaps) {
|
|
43
40
|
const value = oldCaps[cap];
|
|
44
|
-
if (
|
|
41
|
+
if (typeof value !== 'string') {
|
|
45
42
|
continue;
|
|
46
43
|
}
|
|
47
44
|
if (!['true', 'false'].includes(value.toLowerCase())) {
|
|
@@ -52,10 +49,10 @@ function fixCaps(oldCaps, desiredCapConstraints, log) {
|
|
|
52
49
|
caps[cap] = value.toLowerCase() === 'true';
|
|
53
50
|
}
|
|
54
51
|
// int capabilities are often sent in as strings by frameworks
|
|
55
|
-
const intCaps =
|
|
52
|
+
const intCaps = Object.keys(desiredCapConstraints).filter((key) => desiredCapConstraints[key]?.isNumber === true);
|
|
56
53
|
for (const cap of intCaps) {
|
|
57
54
|
const value = oldCaps[cap];
|
|
58
|
-
if (
|
|
55
|
+
if (typeof value !== 'string') {
|
|
59
56
|
continue;
|
|
60
57
|
}
|
|
61
58
|
const intValue = parseInt(value, 10);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../lib/helpers/capabilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../lib/helpers/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 });
|
|
6
3
|
exports.resolveExecuteExtensionName = resolveExecuteExtensionName;
|
|
7
|
-
const
|
|
4
|
+
const support_1 = require("@appium/support");
|
|
8
5
|
/**
|
|
9
6
|
* Resolves the name of extension method corresponding to an `execute` command string
|
|
10
7
|
* based on the driver's `executeMethodMap`.
|
|
@@ -15,7 +12,7 @@ const lodash_1 = __importDefault(require("lodash"));
|
|
|
15
12
|
function resolveExecuteExtensionName(commandName) {
|
|
16
13
|
const Driver = this.constructor;
|
|
17
14
|
const methodMap = Driver.executeMethodMap;
|
|
18
|
-
if (methodMap &&
|
|
15
|
+
if (methodMap && support_1.util.isPlainObject(methodMap) && commandName in methodMap) {
|
|
19
16
|
const command = methodMap[commandName]?.command;
|
|
20
17
|
if (typeof command === 'string') {
|
|
21
18
|
return command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-command-name.js","sourceRoot":"","sources":["../../../lib/helpers/extension-command-name.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension-command-name.js","sourceRoot":"","sources":["../../../lib/helpers/extension-command-name.ts"],"names":[],"mappings":";;AAWA,kEAeC;AA1BD,6CAAqC;AAIrC;;;;;;GAMG;AACH,SAAgB,2BAA2B,CAEzC,WAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAqC,CAAC;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAE1C,IAAI,SAAS,IAAI,cAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levenshtein-match.d.ts","sourceRoot":"","sources":["../../../lib/helpers/levenshtein-match.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"levenshtein-match.d.ts","sourceRoot":"","sources":["../../../lib/helpers/levenshtein-match.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,mGAAmG;IACnG,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uFAAuF;IACvF,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,eAAe,GAAE,MAAiD,GACjE,qBAAqB,CAmCvB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEjG;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,eAAe,GAAE,MAAiD,GACjE,MAAM,GAAG,SAAS,CAEpB"}
|
|
@@ -1,14 +1,10 @@
|
|
|
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.LEVENSHTEIN_SUGGESTION_MAX_EDIT_DISTANCE = void 0;
|
|
7
4
|
exports.rankLevenshteinCandidates = rankLevenshteinCandidates;
|
|
8
5
|
exports.sortByLevenshteinDistance = sortByLevenshteinDistance;
|
|
9
6
|
exports.getLevenshteinSuggestion = getLevenshteinSuggestion;
|
|
10
7
|
const fastest_levenshtein_1 = require("fastest-levenshtein");
|
|
11
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
12
8
|
/**
|
|
13
9
|
* Inclusive maximum Levenshtein edit distance for offering a "did you mean" hint.
|
|
14
10
|
* Matches with distance greater than this value are treated as unrelated.
|
|
@@ -34,12 +30,15 @@ function rankLevenshteinCandidates(target, candidates, maxEditDistance = exports
|
|
|
34
30
|
}
|
|
35
31
|
return acc;
|
|
36
32
|
}, {});
|
|
37
|
-
const sortedDistanceKeys =
|
|
38
|
-
const sorted =
|
|
33
|
+
const sortedDistanceKeys = Object.keys(matchesMap).sort((a, b) => parseInt(a, 10) - parseInt(b, 10));
|
|
34
|
+
const sorted = sortedDistanceKeys.flatMap((k) => (matchesMap[k] ?? []).sort());
|
|
39
35
|
const best = sorted[0];
|
|
40
36
|
const firstDistanceKey = sortedDistanceKeys[0];
|
|
41
37
|
const minDist = firstDistanceKey !== undefined ? parseInt(firstDistanceKey, 10) : NaN;
|
|
42
|
-
const suggestion = maxEditDistance >= 0 &&
|
|
38
|
+
const suggestion = maxEditDistance >= 0 &&
|
|
39
|
+
best !== undefined &&
|
|
40
|
+
!Number.isNaN(minDist) &&
|
|
41
|
+
minDist <= maxEditDistance
|
|
43
42
|
? best
|
|
44
43
|
: undefined;
|
|
45
44
|
return { sorted, suggestion };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"levenshtein-match.js","sourceRoot":"","sources":["../../../lib/helpers/levenshtein-match.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"levenshtein-match.js","sourceRoot":"","sources":["../../../lib/helpers/levenshtein-match.ts"],"names":[],"mappings":";;;AAoBA,8DAuCC;AAMD,8DAEC;AAMD,4DAMC;AA9ED,6DAA6C;AAE7C;;;GAGG;AACU,QAAA,wCAAwC,GAAG,CAAC,CAAC;AAS1D;;;GAGG;AACH,SAAgB,yBAAyB,CACvC,MAAc,EACd,UAA6B,EAC7B,kBAA0B,gDAAwC;IAElE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,EAAC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAC,CAAC;IAC7C,CAAC;IAED,MAAM,UAAU,GAA2B,UAAU;SAClD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAA,8BAAQ,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAU,CAAC;SACtD,MAAM,CACL,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAA4B,CAC7B,CAAC;IACJ,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAC5C,CAAC;IACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAE/E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtF,MAAM,UAAU,GACd,eAAe,IAAI,CAAC;QACpB,IAAI,KAAK,SAAS;QAClB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACtB,OAAO,IAAI,eAAe;QACxB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,MAAc,EAAE,UAA6B;IACrF,OAAO,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC;AACxF,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CACtC,MAAc,EACd,UAA6B,EAC7B,kBAA0B,gDAAwC;IAElE,OAAO,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,UAAU,CAAC;AACnF,CAAC"}
|
package/build/lib/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
export { ExtensionCore } from "./basedriver/extension-core";
|
|
2
2
|
export { DriverCore } from "./basedriver/core";
|
|
3
3
|
export { DeviceSettings } from "./basedriver/device-settings";
|
|
4
|
+
export { AppiumIpc } from "./basedriver/ipc";
|
|
4
5
|
export { BaseDriver };
|
|
5
6
|
export default BaseDriver;
|
|
6
7
|
export * from "./protocol";
|
|
7
8
|
export { errorFromMJSONWPStatusCode as errorFromCode } from "./protocol";
|
|
8
|
-
export { STATIC_DIR } from "./
|
|
9
|
+
export { TEST_FIXTURES_DIR as STATIC_DIR } from "./test-pages";
|
|
9
10
|
export { DEFAULT_WS_PATHNAME_PREFIX } from "./express/websocket";
|
|
10
11
|
export { BIDI_COMMANDS } from "./protocol/bidi-commands";
|
|
11
12
|
export { generateDriverLogPrefix } from "./basedriver/helpers";
|
package/build/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":";;;;;;;;;;;;;yBAkDa,OAAO,kBAAkB,EAAE,UAAU;2BAhDzB,qBAAqB"}
|
package/build/lib/index.js
CHANGED
|
@@ -13,21 +13,8 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.isW3cCaps = exports.generateDriverLogPrefix = exports.BIDI_COMMANDS = exports.DEFAULT_WS_PATHNAME_PREFIX = exports.promoteAppiumOptionsForObject = exports.promoteAppiumOptions = exports.validateCaps = exports.isStandardCap = exports.processCapabilities = exports.STANDARD_CAPS = exports.PREFIXED_APPIUM_OPTS_CAP = exports.statusCodes = exports.getSummaryByCode = exports.WebDriverProxy = exports.JWProxy = exports.normalizeBasePath = exports.server = exports.STATIC_DIR = exports.errorFromCode = exports.W3C_ELEMENT_KEY = exports.PROTOCOLS = exports.DEFAULT_BASE_PATH = exports.MAX_LOG_BODY_LENGTH = exports.BaseDriver = exports.DeviceSettings = exports.DriverCore = exports.ExtensionCore = void 0;
|
|
21
|
-
const bluebird_1 = __importDefault(require("bluebird"));
|
|
22
|
-
try {
|
|
23
|
-
bluebird_1.default.config({
|
|
24
|
-
cancellation: true,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
// sometimes during testing this somehow gets required twice and results in an error about
|
|
29
|
-
// cancellation not being able to be enabled after promise has been configured
|
|
30
|
-
}
|
|
17
|
+
exports.isW3cCaps = exports.generateDriverLogPrefix = exports.BIDI_COMMANDS = exports.DEFAULT_WS_PATHNAME_PREFIX = exports.promoteAppiumOptionsForObject = exports.promoteAppiumOptions = exports.validateCaps = exports.isStandardCap = exports.processCapabilities = exports.STANDARD_CAPS = exports.PREFIXED_APPIUM_OPTS_CAP = exports.statusCodes = exports.getSummaryByCode = exports.WebDriverProxy = exports.JWProxy = exports.normalizeBasePath = exports.server = exports.STATIC_DIR = exports.errorFromCode = exports.W3C_ELEMENT_KEY = exports.PROTOCOLS = exports.DEFAULT_BASE_PATH = exports.MAX_LOG_BODY_LENGTH = exports.BaseDriver = exports.AppiumIpc = exports.DeviceSettings = exports.DriverCore = exports.ExtensionCore = void 0;
|
|
31
18
|
// BaseDriver exports
|
|
32
19
|
var extension_core_1 = require("./basedriver/extension-core");
|
|
33
20
|
Object.defineProperty(exports, "ExtensionCore", { enumerable: true, get: function () { return extension_core_1.ExtensionCore; } });
|
|
@@ -37,6 +24,8 @@ var core_1 = require("./basedriver/core");
|
|
|
37
24
|
Object.defineProperty(exports, "DriverCore", { enumerable: true, get: function () { return core_1.DriverCore; } });
|
|
38
25
|
var device_settings_1 = require("./basedriver/device-settings");
|
|
39
26
|
Object.defineProperty(exports, "DeviceSettings", { enumerable: true, get: function () { return device_settings_1.DeviceSettings; } });
|
|
27
|
+
var ipc_1 = require("./basedriver/ipc");
|
|
28
|
+
Object.defineProperty(exports, "AppiumIpc", { enumerable: true, get: function () { return ipc_1.AppiumIpc; } });
|
|
40
29
|
exports.default = driver_1.BaseDriver;
|
|
41
30
|
var constants_1 = require("./constants");
|
|
42
31
|
Object.defineProperty(exports, "MAX_LOG_BODY_LENGTH", { enumerable: true, get: function () { return constants_1.MAX_LOG_BODY_LENGTH; } });
|
|
@@ -48,8 +37,9 @@ __exportStar(require("./protocol"), exports);
|
|
|
48
37
|
var protocol_1 = require("./protocol");
|
|
49
38
|
Object.defineProperty(exports, "errorFromCode", { enumerable: true, get: function () { return protocol_1.errorFromMJSONWPStatusCode; } });
|
|
50
39
|
// Express exports
|
|
51
|
-
|
|
52
|
-
|
|
40
|
+
/** @deprecated Removed in Appium 4. Use hard-copied test fixtures in driver CI instead. */
|
|
41
|
+
var test_pages_1 = require("./test-pages");
|
|
42
|
+
Object.defineProperty(exports, "STATIC_DIR", { enumerable: true, get: function () { return test_pages_1.TEST_FIXTURES_DIR; } });
|
|
53
43
|
var server_1 = require("./express/server");
|
|
54
44
|
Object.defineProperty(exports, "server", { enumerable: true, get: function () { return server_1.server; } });
|
|
55
45
|
Object.defineProperty(exports, "normalizeBasePath", { enumerable: true, get: function () { return server_1.normalizeBasePath; } });
|
package/build/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qBAAqB;AACrB,8DAA0D;AAAlD,+GAAA,aAAa,OAAA;AACrB,gDAA+C;AAKvC,2FALA,mBAAU,OAKA;AAJlB,0CAA6C;AAArC,kGAAA,UAAU,OAAA;AAClB,gEAA4D;AAApD,iHAAA,cAAc,OAAA;AACtB,wCAA2C;AAAnC,gGAAA,SAAS,OAAA;AAGjB,kBAAe,mBAAU,CAAC;AAC1B,yCAA+F;AAAvF,gHAAA,mBAAmB,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAE1E,kBAAkB;AAClB,6CAA2B;AAC3B,uCAAuE;AAA/D,yGAAA,0BAA0B,OAAiB;AAEnD,kBAAkB;AAClB,2FAA2F;AAC3F,2CAA6D;AAArD,wGAAA,iBAAiB,OAAc;AACvC,2CAA2D;AAAnD,gGAAA,MAAM,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAEjC,uBAAuB;AACvB,sFAAsF;AACtF,8CAA6C;AAArC,gGAAA,OAAO,OAAA;AACf,8CAA+D;AAAvD,uGAAA,OAAO,OAAkB;AAEjC,wBAAwB;AACxB,iDAA8E;AAAtE,0GAAA,gBAAgB,OAAA;AAAE,qGAAA,KAAK,OAAe;AAE9C,0BAA0B;AAC1B,0DAQmC;AAPjC,wHAAA,wBAAwB,OAAA;AACxB,6GAAA,aAAa,OAAA;AACb,mHAAA,mBAAmB,OAAA;AACnB,6GAAA,aAAa,OAAA;AACb,4GAAA,YAAY,OAAA;AACZ,oHAAA,oBAAoB,OAAA;AACpB,6HAAA,6BAA6B,OAAA;AAG/B,qBAAqB;AACrB,iDAA+D;AAAvD,uHAAA,0BAA0B,OAAA;AAElC,eAAe;AACf,0DAAuD;AAA/C,8GAAA,aAAa,OAAA;AAErB,gDAA6D;AAArD,kHAAA,uBAAuB,OAAA;AAE/B,uDAAiD;AAAzC,yGAAA,SAAS,OAAA;AAEjB;;GAEG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-converter.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/protocol-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol-converter.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/protocol-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAKzE,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,QAAQ,KACZ,OAAO,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAExC,eAAO,MAAM,sBAAsB;;oCAGR,MAAM;iCAET,MAAM;;;oCAKH,MAAM;iCAET,MAAM;;;oCAIL,MAAM;iCAKT,MAAM;;;uCAQE,MAAM;uCAKN,MAAM;EAE1B,CAAC;AAKX,qBAAa,iBAAiB;IASnB,SAAS,EAAE,aAAa;IARjC,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAE3C;;;OAGG;gBAEM,SAAS,EAAE,aAAa,EAC/B,GAAG,GAAE,YAAY,GAAG,IAAW;IAKjC,IAAI,GAAG,IAAI,YAAY,CAEtB;IAED,IAAI,kBAAkB,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAElD;IAED,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAEtD;IAED;;;OAGG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IA8CrC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAsChC;;OAEG;YACW,gBAAgB;YA+BhB,cAAc;YA4Bd,aAAa;YAuBb,aAAa;YAsBb,mBAAmB;YAgBnB,mBAAmB;CAMlC"}
|