webdriver 9.30.0 → 9.31.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/README.md +6 -0
- package/build/bidi/core.d.ts +2 -1
- package/build/bidi/core.d.ts.map +1 -1
- package/build/constants.d.ts.map +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +78 -22
- package/build/node.js +76 -21
- package/build/request/error.d.ts.map +1 -1
- package/build/request/request.d.ts +2 -0
- package/build/request/request.d.ts.map +1 -1
- package/build/request/types.d.ts +1 -1
- package/build/request/types.d.ts.map +1 -1
- package/build/utils.d.ts +2 -1
- package/build/utils.d.ts.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -143,6 +143,12 @@ Count of request retries to the Selenium server.
|
|
|
143
143
|
Type: `Number`<br />
|
|
144
144
|
Default: *3*
|
|
145
145
|
|
|
146
|
+
### bidiResponseTimeout
|
|
147
|
+
Timeout (in ms) for a WebDriver Bidi command to receive a response from the browser. Increase this if you run commands, e.g. `execute`, that legitimately take longer than the default to resolve.
|
|
148
|
+
|
|
149
|
+
Type: `Number`<br />
|
|
150
|
+
Default: *180000*
|
|
151
|
+
|
|
146
152
|
### agent
|
|
147
153
|
|
|
148
154
|
Allows you to use a custom` http`/`https`/`http2` [agent](https://www.npmjs.com/package/got#agent) to make requests.
|
package/build/bidi/core.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ClientOptions, RawData, WebSocket } from 'ws';
|
|
|
2
2
|
import type { CommandData } from './remoteTypes.js';
|
|
3
3
|
import type { CommandResponse } from './localTypes.js';
|
|
4
4
|
import type { Client } from '../types.js';
|
|
5
|
+
export declare const DEFAULT_RESPONSE_TIMEOUT: number;
|
|
5
6
|
export declare class BidiCore {
|
|
6
7
|
#private;
|
|
7
8
|
client: Client | undefined;
|
|
@@ -9,7 +10,7 @@ export declare class BidiCore {
|
|
|
9
10
|
* @private
|
|
10
11
|
*/
|
|
11
12
|
private _isConnected;
|
|
12
|
-
constructor(webSocketUrl: string, opts?: ClientOptions);
|
|
13
|
+
constructor(webSocketUrl: string, opts?: ClientOptions, responseTimeout?: number);
|
|
13
14
|
/**
|
|
14
15
|
* We initiate the Bidi instance before a WebdriverIO instance is created.
|
|
15
16
|
* In order to emit Bidi events we have to attach the WebdriverIO instance
|
package/build/bidi/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/bidi/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAK3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,iBAAiB,CAAA;AAErE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/bidi/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAK3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,iBAAiB,CAAA;AAErE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAOzC,eAAO,MAAM,wBAAwB,QAAa,CAAA;AAElD,qBAAa,QAAQ;;IAUjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B;;OAEG;IACH,OAAO,CAAC,YAAY,CAAQ;gBAGxB,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,aAAa,EACpB,eAAe,SAA2B;IAe9C;;;;OAIG;IACI,YAAY,CAAE,MAAM,EAAE,MAAM;IAItB,OAAO;IAiBb,KAAK;IAeL,SAAS,CAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa;IAQ5D;;;OAGG;IACH,gBAAgB;IAIhB,IAAI,MAAM,0BAET;IAED,IAAI,WAAW,YAEd;IAED;;;OAGG;IACH,IAAI,gBAAgB,WAIG,OAAO,UAF7B;IAqCY,IAAI,CAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAmCtE,SAAS,CAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;CAWpD;AAED,wBAAgB,gBAAgB,CAAE,MAAM,EAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAwCjE"}
|
package/build/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CA+J/D,CAAA;AAED,eAAO,MAAM,WAAW,wCAAwC,CAAA;AAChE,eAAO,MAAM,kBAAkB,uCAAuC,CAAA;AAEtE,eAAO,MAAM,aAAa,QAAiE,CAAA;AAC3F,eAAO,MAAM,qCAAqC,SAAU,CAAA;AAE5D,eAAO,MAAM,qBAAqB;;CAAsC,CAAA"}
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,aAAa,CAAA;AAExD,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAyB,YAAY,EAAE,kBAAkB,EAAsB,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACxI,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAA;AAIrE,MAAM,CAAC,OAAO,OAAO,SAAS;WACb,UAAU,CACnB,OAAO,EAAE,YAAY,CAAC,YAAY,EAClC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAClC,aAAa,KAAK,EAClB,oBAAoB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC9C,yBAAyB,GAAE,MAAM,EAAO,GACzC,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,aAAa,CAAA;AAExD,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAyB,YAAY,EAAE,kBAAkB,EAAsB,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACxI,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAA;AAIrE,MAAM,CAAC,OAAO,OAAO,SAAS;WACb,UAAU,CACnB,OAAO,EAAE,YAAY,CAAC,YAAY,EAClC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAClC,aAAa,KAAK,EAClB,oBAAoB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC9C,yBAAyB,GAAE,MAAM,EAAO,GACzC,OAAO,CAAC,MAAM,CAAC;IA6ElB;;OAEG;IACH,MAAM,CAAC,eAAe,CAClB,OAAO,CAAC,EAAE,aAAa,EACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAClC,aAAa,KAAK,EAClB,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GACzC,MAAM;IAoDT;;;;;;OAMG;WACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,YAAY,CAAC,EAAE,WAAW,CAAA;KAAE,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,YAAY;IA2DxH,MAAM,KAAK,SAAS,qBAEnB;CACJ;AAED;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAA;AACzG,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA"}
|
package/build/index.js
CHANGED
|
@@ -169,6 +169,19 @@ var DEFAULTS = {
|
|
|
169
169
|
type: "number",
|
|
170
170
|
default: 3
|
|
171
171
|
},
|
|
172
|
+
/**
|
|
173
|
+
* Timeout for a WebDriver Bidi command to receive a response from the browser
|
|
174
|
+
*/
|
|
175
|
+
bidiResponseTimeout: {
|
|
176
|
+
type: "number",
|
|
177
|
+
default: DEFAULT_RESPONSE_TIMEOUT,
|
|
178
|
+
validate: (timeout) => {
|
|
179
|
+
if (!Number.isFinite(timeout) || timeout <= 0) {
|
|
180
|
+
throw new TypeError('The option "bidiResponseTimeout" needs to be a positive number');
|
|
181
|
+
}
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
},
|
|
172
185
|
/**
|
|
173
186
|
* Override default agent
|
|
174
187
|
*/
|
|
@@ -216,8 +229,7 @@ var DEFAULTS = {
|
|
|
216
229
|
* when attempting to start a session.
|
|
217
230
|
*/
|
|
218
231
|
cacheDir: {
|
|
219
|
-
type: "string"
|
|
220
|
-
default: environment.value.variables.WEBDRIVER_CACHE_DIR
|
|
232
|
+
type: "string"
|
|
221
233
|
},
|
|
222
234
|
/**
|
|
223
235
|
* Mask sensitive data in logs by replacing matching string or all captured groups for the provided regular expressions as string
|
|
@@ -263,10 +275,10 @@ function isBase64Safe(str) {
|
|
|
263
275
|
var SCRIPT_PREFIX = "/* __wdio script__ */";
|
|
264
276
|
var SCRIPT_SUFFIX = "/* __wdio script end__ */";
|
|
265
277
|
var log = logger("webdriver");
|
|
266
|
-
var
|
|
267
|
-
var _id, _ws, _waitForConnected, _resolveWaitForConnected, _webSocketUrl, _clientOptions, _pendingCommands, _BidiCore_instances, handleResponse_fn;
|
|
278
|
+
var DEFAULT_RESPONSE_TIMEOUT = 1e3 * 180;
|
|
279
|
+
var _id, _ws, _waitForConnected, _resolveWaitForConnected, _webSocketUrl, _clientOptions, _responseTimeout, _pendingCommands, _BidiCore_instances, handleResponse_fn;
|
|
268
280
|
var BidiCore = class {
|
|
269
|
-
constructor(webSocketUrl, opts) {
|
|
281
|
+
constructor(webSocketUrl, opts, responseTimeout = DEFAULT_RESPONSE_TIMEOUT) {
|
|
270
282
|
__privateAdd(this, _BidiCore_instances);
|
|
271
283
|
__privateAdd(this, _id, 0);
|
|
272
284
|
__privateAdd(this, _ws);
|
|
@@ -274,14 +286,19 @@ var BidiCore = class {
|
|
|
274
286
|
__privateAdd(this, _resolveWaitForConnected);
|
|
275
287
|
__privateAdd(this, _webSocketUrl);
|
|
276
288
|
__privateAdd(this, _clientOptions);
|
|
289
|
+
__privateAdd(this, _responseTimeout);
|
|
277
290
|
__privateAdd(this, _pendingCommands, /* @__PURE__ */ new Map());
|
|
278
291
|
__publicField(this, "client");
|
|
279
292
|
/**
|
|
280
293
|
* @private
|
|
281
294
|
*/
|
|
282
295
|
__publicField(this, "_isConnected", false);
|
|
296
|
+
if (!Number.isFinite(responseTimeout) || responseTimeout <= 0) {
|
|
297
|
+
throw new TypeError('The option "bidiResponseTimeout" needs to be a positive number');
|
|
298
|
+
}
|
|
283
299
|
__privateSet(this, _webSocketUrl, webSocketUrl);
|
|
284
300
|
__privateSet(this, _clientOptions, opts);
|
|
301
|
+
__privateSet(this, _responseTimeout, responseTimeout);
|
|
285
302
|
__privateSet(this, _resolveWaitForConnected, () => {
|
|
286
303
|
});
|
|
287
304
|
__privateSet(this, _waitForConnected, new Promise((resolve) => {
|
|
@@ -351,9 +368,11 @@ var BidiCore = class {
|
|
|
351
368
|
const failError = new Error('WebDriver Bidi command "'.concat(params.method, '" failed'));
|
|
352
369
|
const payload = await new Promise((resolve, reject) => {
|
|
353
370
|
const t = setTimeout(() => {
|
|
354
|
-
reject(new Error(
|
|
371
|
+
reject(new Error(
|
|
372
|
+
"Command ".concat(params.method, " with id ").concat(id, " timed out after ").concat(__privateGet(this, _responseTimeout), "ms! ") + 'Consider increasing the "bidiResponseTimeout" option.'
|
|
373
|
+
));
|
|
355
374
|
__privateGet(this, _pendingCommands).delete(id);
|
|
356
|
-
},
|
|
375
|
+
}, __privateGet(this, _responseTimeout));
|
|
357
376
|
__privateGet(this, _pendingCommands).set(id, (payload2) => {
|
|
358
377
|
clearTimeout(t);
|
|
359
378
|
resolve(payload2);
|
|
@@ -388,6 +407,7 @@ _waitForConnected = new WeakMap();
|
|
|
388
407
|
_resolveWaitForConnected = new WeakMap();
|
|
389
408
|
_webSocketUrl = new WeakMap();
|
|
390
409
|
_clientOptions = new WeakMap();
|
|
410
|
+
_responseTimeout = new WeakMap();
|
|
391
411
|
_pendingCommands = new WeakMap();
|
|
392
412
|
_BidiCore_instances = new WeakSet();
|
|
393
413
|
handleResponse_fn = function(data) {
|
|
@@ -1553,7 +1573,7 @@ var getSessionError = (err, params = {}) => {
|
|
|
1553
1573
|
}
|
|
1554
1574
|
return err.message;
|
|
1555
1575
|
};
|
|
1556
|
-
function initiateBidi(socketUrl, strictSSL = true, userHeaders) {
|
|
1576
|
+
function initiateBidi(socketUrl, strictSSL = true, userHeaders, responseTimeout) {
|
|
1557
1577
|
const isUnitTesting = environment.value.variables.WDIO_UNIT_TESTS;
|
|
1558
1578
|
if (isUnitTesting) {
|
|
1559
1579
|
log2.info("Skip connecting to WebDriver Bidi interface due to unit tests");
|
|
@@ -1574,7 +1594,7 @@ function initiateBidi(socketUrl, strictSSL = true, userHeaders) {
|
|
|
1574
1594
|
if (userHeaders) {
|
|
1575
1595
|
bidiReqOpts.headers = userHeaders;
|
|
1576
1596
|
}
|
|
1577
|
-
const handler = new BidiHandler(socketUrl, bidiReqOpts);
|
|
1597
|
+
const handler = new BidiHandler(socketUrl, bidiReqOpts, responseTimeout);
|
|
1578
1598
|
handler.connect().then((isConnected) => isConnected && log2.info("Connected to WebDriver Bidi interface at ".concat(socketUrl)));
|
|
1579
1599
|
return {
|
|
1580
1600
|
_bidiHandler: { value: handler },
|
|
@@ -1813,7 +1833,8 @@ var WebDriver = class _WebDriver {
|
|
|
1813
1833
|
Object.assign(bidiPrototype, initiateBidi(
|
|
1814
1834
|
capabilities.webSocketUrl,
|
|
1815
1835
|
options.strictSSL,
|
|
1816
|
-
options.headers
|
|
1836
|
+
options.headers,
|
|
1837
|
+
params.bidiResponseTimeout
|
|
1817
1838
|
));
|
|
1818
1839
|
}
|
|
1819
1840
|
const monad = webdriverMonad(
|
|
@@ -1865,7 +1886,8 @@ var WebDriver = class _WebDriver {
|
|
|
1865
1886
|
Object.assign(bidiPrototype, initiateBidi(
|
|
1866
1887
|
webSocketUrl,
|
|
1867
1888
|
options.strictSSL,
|
|
1868
|
-
options.headers
|
|
1889
|
+
options.headers,
|
|
1890
|
+
options.bidiResponseTimeout
|
|
1869
1891
|
));
|
|
1870
1892
|
}
|
|
1871
1893
|
const prototype = { ...protocolCommands, ...environmentPrototype, ...userPrototype, ...bidiPrototype };
|
|
@@ -2051,10 +2073,11 @@ var WebDriverRequestError = class extends WebDriverError {
|
|
|
2051
2073
|
__publicField(this, "code");
|
|
2052
2074
|
this.url = url;
|
|
2053
2075
|
this.opts = opts;
|
|
2054
|
-
const
|
|
2076
|
+
const isAbortTimeout = err.name === "TimeoutError";
|
|
2077
|
+
const errorCode = typeof err.cause === "object" && err.cause && "code" in err.cause && typeof err.cause.code === "string" ? err.cause.code : "code" in err && typeof err.code === "string" ? err.code : isAbortTimeout ? "ETIMEDOUT" : void 0;
|
|
2055
2078
|
if (errorCode) {
|
|
2056
2079
|
this.code = errorCode;
|
|
2057
|
-
this.message = errorCode === "UND_ERR_CONNECT_TIMEOUT" ? 'Request timed out! Consider increasing the "connectionRetryTimeout" option.' : "Request failed with error code " + errorCode;
|
|
2080
|
+
this.message = errorCode === "UND_ERR_CONNECT_TIMEOUT" || isAbortTimeout ? 'Request timed out! Consider increasing the "connectionRetryTimeout" option.' : "Request failed with error code " + errorCode;
|
|
2058
2081
|
}
|
|
2059
2082
|
if (typeof err.cause === "object" && err.cause) {
|
|
2060
2083
|
this.statusCode = "statusCode" in err.cause && typeof err.cause.statusCode === "number" ? err.cause.statusCode : void 0;
|
|
@@ -2091,7 +2114,7 @@ var WebDriverResponseError = class _WebDriverResponseError extends WebDriverErro
|
|
|
2091
2114
|
// package.json
|
|
2092
2115
|
var package_default = {
|
|
2093
2116
|
name: "webdriver",
|
|
2094
|
-
version: "9.
|
|
2117
|
+
version: "9.31.0",
|
|
2095
2118
|
description: "A Node.js bindings implementation for the W3C WebDriver and Mobile JSONWire Protocol",
|
|
2096
2119
|
author: "Christian Bromann <mail@bromann.dev>",
|
|
2097
2120
|
homepage: "https://github.com/webdriverio/webdriverio/tree/main/packages/webdriver",
|
|
@@ -2185,6 +2208,31 @@ var DEFAULT_HEADERS = {
|
|
|
2185
2208
|
"User-Agent": "webdriver/" + package_default.version
|
|
2186
2209
|
};
|
|
2187
2210
|
var log5 = logger5("webdriver");
|
|
2211
|
+
function hasLoggableBody(body) {
|
|
2212
|
+
if (typeof body === "string") {
|
|
2213
|
+
return body.length > 0;
|
|
2214
|
+
}
|
|
2215
|
+
if (body instanceof URLSearchParams || body instanceof FormData) {
|
|
2216
|
+
return !body.keys().next().done;
|
|
2217
|
+
}
|
|
2218
|
+
if (body instanceof Blob) {
|
|
2219
|
+
return body.size > 0;
|
|
2220
|
+
}
|
|
2221
|
+
if (body instanceof ArrayBuffer || ArrayBuffer.isView(body)) {
|
|
2222
|
+
return body.byteLength > 0;
|
|
2223
|
+
}
|
|
2224
|
+
return Object.keys(body).length > 0;
|
|
2225
|
+
}
|
|
2226
|
+
function toLoggableBody(body) {
|
|
2227
|
+
if (typeof body !== "string") {
|
|
2228
|
+
return body;
|
|
2229
|
+
}
|
|
2230
|
+
try {
|
|
2231
|
+
return JSON.parse(body);
|
|
2232
|
+
} catch {
|
|
2233
|
+
return body;
|
|
2234
|
+
}
|
|
2235
|
+
}
|
|
2188
2236
|
var WebDriverRequest = class {
|
|
2189
2237
|
constructor(method, endpoint, body, abortSignal, isHubCommand = false, eventHandler = {}) {
|
|
2190
2238
|
__publicField(this, "body");
|
|
@@ -2194,6 +2242,7 @@ var WebDriverRequest = class {
|
|
|
2194
2242
|
__publicField(this, "requiresSessionId");
|
|
2195
2243
|
__publicField(this, "eventHandler");
|
|
2196
2244
|
__publicField(this, "abortSignal");
|
|
2245
|
+
__publicField(this, "connectionRetryTimeout", DEFAULTS.connectionRetryTimeout.default);
|
|
2197
2246
|
this.body = body;
|
|
2198
2247
|
this.method = method;
|
|
2199
2248
|
this.endpoint = endpoint;
|
|
@@ -2208,15 +2257,18 @@ var WebDriverRequest = class {
|
|
|
2208
2257
|
(_b = (_a = this.eventHandler).onRequest) == null ? void 0 : _b.call(_a, requestOptions);
|
|
2209
2258
|
return this._request(url, requestOptions, options.transformResponse, options.connectionRetryCount, 0);
|
|
2210
2259
|
}
|
|
2260
|
+
createAbortSignal(signal) {
|
|
2261
|
+
return AbortSignal.any([
|
|
2262
|
+
AbortSignal.timeout(this.connectionRetryTimeout),
|
|
2263
|
+
...signal ? [signal] : []
|
|
2264
|
+
]);
|
|
2265
|
+
}
|
|
2211
2266
|
async createOptions(options, sessionId, isBrowser = false) {
|
|
2212
|
-
|
|
2267
|
+
this.connectionRetryTimeout = options.connectionRetryTimeout || DEFAULTS.connectionRetryTimeout.default;
|
|
2213
2268
|
const requestOptions = {
|
|
2214
2269
|
method: this.method,
|
|
2215
2270
|
redirect: "follow",
|
|
2216
|
-
signal:
|
|
2217
|
-
AbortSignal.timeout(timeout),
|
|
2218
|
-
...this.abortSignal ? [this.abortSignal] : []
|
|
2219
|
-
])
|
|
2271
|
+
signal: this.abortSignal
|
|
2220
2272
|
};
|
|
2221
2273
|
const requestHeaders = new Headers({
|
|
2222
2274
|
...DEFAULT_HEADERS,
|
|
@@ -2280,10 +2332,14 @@ var WebDriverRequest = class {
|
|
|
2280
2332
|
async _request(url, fullRequestOptions, transformResponse, totalRetryCount = 0, retryCount = 0) {
|
|
2281
2333
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
2282
2334
|
log5.info("[".concat(fullRequestOptions.method, "] ").concat(url.href));
|
|
2283
|
-
|
|
2284
|
-
|
|
2335
|
+
const loggableBody = fullRequestOptions.body && toLoggableBody(fullRequestOptions.body);
|
|
2336
|
+
if (loggableBody && hasLoggableBody(loggableBody)) {
|
|
2337
|
+
(_b = (_a = this.eventHandler).onLogData) == null ? void 0 : _b.call(_a, loggableBody);
|
|
2285
2338
|
}
|
|
2286
|
-
const
|
|
2339
|
+
const requestLibOptions = {
|
|
2340
|
+
...fullRequestOptions,
|
|
2341
|
+
signal: this.createAbortSignal(fullRequestOptions.signal)
|
|
2342
|
+
};
|
|
2287
2343
|
const startTime = performance.now();
|
|
2288
2344
|
let response = await this._libRequest(url, requestLibOptions).catch((err) => err);
|
|
2289
2345
|
const durationMillisecond = performance.now() - startTime;
|
package/build/node.js
CHANGED
|
@@ -150,6 +150,19 @@ var DEFAULTS = {
|
|
|
150
150
|
type: "number",
|
|
151
151
|
default: 3
|
|
152
152
|
},
|
|
153
|
+
/**
|
|
154
|
+
* Timeout for a WebDriver Bidi command to receive a response from the browser
|
|
155
|
+
*/
|
|
156
|
+
bidiResponseTimeout: {
|
|
157
|
+
type: "number",
|
|
158
|
+
default: DEFAULT_RESPONSE_TIMEOUT,
|
|
159
|
+
validate: (timeout) => {
|
|
160
|
+
if (!Number.isFinite(timeout) || timeout <= 0) {
|
|
161
|
+
throw new TypeError('The option "bidiResponseTimeout" needs to be a positive number');
|
|
162
|
+
}
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
165
|
+
},
|
|
153
166
|
/**
|
|
154
167
|
* Override default agent
|
|
155
168
|
*/
|
|
@@ -197,8 +210,7 @@ var DEFAULTS = {
|
|
|
197
210
|
* when attempting to start a session.
|
|
198
211
|
*/
|
|
199
212
|
cacheDir: {
|
|
200
|
-
type: "string"
|
|
201
|
-
default: environment.value.variables.WEBDRIVER_CACHE_DIR
|
|
213
|
+
type: "string"
|
|
202
214
|
},
|
|
203
215
|
/**
|
|
204
216
|
* Mask sensitive data in logs by replacing matching string or all captured groups for the provided regular expressions as string
|
|
@@ -244,7 +256,7 @@ function isBase64Safe(str) {
|
|
|
244
256
|
var SCRIPT_PREFIX = "/* __wdio script__ */";
|
|
245
257
|
var SCRIPT_SUFFIX = "/* __wdio script end__ */";
|
|
246
258
|
var log = logger("webdriver");
|
|
247
|
-
var
|
|
259
|
+
var DEFAULT_RESPONSE_TIMEOUT = 1e3 * 180;
|
|
248
260
|
var BidiCore = class {
|
|
249
261
|
#id = 0;
|
|
250
262
|
#ws;
|
|
@@ -252,15 +264,20 @@ var BidiCore = class {
|
|
|
252
264
|
#resolveWaitForConnected;
|
|
253
265
|
#webSocketUrl;
|
|
254
266
|
#clientOptions;
|
|
267
|
+
#responseTimeout;
|
|
255
268
|
#pendingCommands = /* @__PURE__ */ new Map();
|
|
256
269
|
client;
|
|
257
270
|
/**
|
|
258
271
|
* @private
|
|
259
272
|
*/
|
|
260
273
|
_isConnected = false;
|
|
261
|
-
constructor(webSocketUrl, opts) {
|
|
274
|
+
constructor(webSocketUrl, opts, responseTimeout = DEFAULT_RESPONSE_TIMEOUT) {
|
|
275
|
+
if (!Number.isFinite(responseTimeout) || responseTimeout <= 0) {
|
|
276
|
+
throw new TypeError('The option "bidiResponseTimeout" needs to be a positive number');
|
|
277
|
+
}
|
|
262
278
|
this.#webSocketUrl = webSocketUrl;
|
|
263
279
|
this.#clientOptions = opts;
|
|
280
|
+
this.#responseTimeout = responseTimeout;
|
|
264
281
|
this.#resolveWaitForConnected = () => {
|
|
265
282
|
};
|
|
266
283
|
this.#waitForConnected = new Promise((resolve) => {
|
|
@@ -357,9 +374,11 @@ var BidiCore = class {
|
|
|
357
374
|
const failError = new Error(`WebDriver Bidi command "${params.method}" failed`);
|
|
358
375
|
const payload = await new Promise((resolve, reject) => {
|
|
359
376
|
const t = setTimeout(() => {
|
|
360
|
-
reject(new Error(
|
|
377
|
+
reject(new Error(
|
|
378
|
+
`Command ${params.method} with id ${id} timed out after ${this.#responseTimeout}ms! Consider increasing the "bidiResponseTimeout" option.`
|
|
379
|
+
));
|
|
361
380
|
this.#pendingCommands.delete(id);
|
|
362
|
-
},
|
|
381
|
+
}, this.#responseTimeout);
|
|
363
382
|
this.#pendingCommands.set(id, (payload2) => {
|
|
364
383
|
clearTimeout(t);
|
|
365
384
|
resolve(payload2);
|
|
@@ -1523,7 +1542,7 @@ It seems like the service failed to start or is rejecting any connections.`;
|
|
|
1523
1542
|
}
|
|
1524
1543
|
return err.message;
|
|
1525
1544
|
};
|
|
1526
|
-
function initiateBidi(socketUrl, strictSSL = true, userHeaders) {
|
|
1545
|
+
function initiateBidi(socketUrl, strictSSL = true, userHeaders, responseTimeout) {
|
|
1527
1546
|
const isUnitTesting = environment.value.variables.WDIO_UNIT_TESTS;
|
|
1528
1547
|
if (isUnitTesting) {
|
|
1529
1548
|
log2.info("Skip connecting to WebDriver Bidi interface due to unit tests");
|
|
@@ -1544,7 +1563,7 @@ function initiateBidi(socketUrl, strictSSL = true, userHeaders) {
|
|
|
1544
1563
|
if (userHeaders) {
|
|
1545
1564
|
bidiReqOpts.headers = userHeaders;
|
|
1546
1565
|
}
|
|
1547
|
-
const handler = new BidiHandler(socketUrl, bidiReqOpts);
|
|
1566
|
+
const handler = new BidiHandler(socketUrl, bidiReqOpts, responseTimeout);
|
|
1548
1567
|
handler.connect().then((isConnected) => isConnected && log2.info(`Connected to WebDriver Bidi interface at ${socketUrl}`));
|
|
1549
1568
|
return {
|
|
1550
1569
|
_bidiHandler: { value: handler },
|
|
@@ -1789,7 +1808,8 @@ var WebDriver = class _WebDriver {
|
|
|
1789
1808
|
Object.assign(bidiPrototype, initiateBidi(
|
|
1790
1809
|
capabilities.webSocketUrl,
|
|
1791
1810
|
options.strictSSL,
|
|
1792
|
-
options.headers
|
|
1811
|
+
options.headers,
|
|
1812
|
+
params.bidiResponseTimeout
|
|
1793
1813
|
));
|
|
1794
1814
|
}
|
|
1795
1815
|
const monad = webdriverMonad(
|
|
@@ -1840,7 +1860,8 @@ var WebDriver = class _WebDriver {
|
|
|
1840
1860
|
Object.assign(bidiPrototype, initiateBidi(
|
|
1841
1861
|
webSocketUrl,
|
|
1842
1862
|
options.strictSSL,
|
|
1843
|
-
options.headers
|
|
1863
|
+
options.headers,
|
|
1864
|
+
options.bidiResponseTimeout
|
|
1844
1865
|
));
|
|
1845
1866
|
}
|
|
1846
1867
|
const prototype = { ...protocolCommands, ...environmentPrototype, ...userPrototype, ...bidiPrototype };
|
|
@@ -1982,10 +2003,11 @@ var WebDriverRequestError = class extends WebDriverError {
|
|
|
1982
2003
|
super(message);
|
|
1983
2004
|
this.url = url;
|
|
1984
2005
|
this.opts = opts;
|
|
1985
|
-
const
|
|
2006
|
+
const isAbortTimeout = err.name === "TimeoutError";
|
|
2007
|
+
const errorCode = typeof err.cause === "object" && err.cause && "code" in err.cause && typeof err.cause.code === "string" ? err.cause.code : "code" in err && typeof err.code === "string" ? err.code : isAbortTimeout ? "ETIMEDOUT" : void 0;
|
|
1986
2008
|
if (errorCode) {
|
|
1987
2009
|
this.code = errorCode;
|
|
1988
|
-
this.message = errorCode === "UND_ERR_CONNECT_TIMEOUT" ? 'Request timed out! Consider increasing the "connectionRetryTimeout" option.' : "Request failed with error code " + errorCode;
|
|
2010
|
+
this.message = errorCode === "UND_ERR_CONNECT_TIMEOUT" || isAbortTimeout ? 'Request timed out! Consider increasing the "connectionRetryTimeout" option.' : "Request failed with error code " + errorCode;
|
|
1989
2011
|
}
|
|
1990
2012
|
if (typeof err.cause === "object" && err.cause) {
|
|
1991
2013
|
this.statusCode = "statusCode" in err.cause && typeof err.cause.statusCode === "number" ? err.cause.statusCode : void 0;
|
|
@@ -2022,7 +2044,7 @@ var WebDriverResponseError = class _WebDriverResponseError extends WebDriverErro
|
|
|
2022
2044
|
// package.json
|
|
2023
2045
|
var package_default = {
|
|
2024
2046
|
name: "webdriver",
|
|
2025
|
-
version: "9.
|
|
2047
|
+
version: "9.31.0",
|
|
2026
2048
|
description: "A Node.js bindings implementation for the W3C WebDriver and Mobile JSONWire Protocol",
|
|
2027
2049
|
author: "Christian Bromann <mail@bromann.dev>",
|
|
2028
2050
|
homepage: "https://github.com/webdriverio/webdriverio/tree/main/packages/webdriver",
|
|
@@ -2116,6 +2138,31 @@ var DEFAULT_HEADERS = {
|
|
|
2116
2138
|
"User-Agent": "webdriver/" + package_default.version
|
|
2117
2139
|
};
|
|
2118
2140
|
var log5 = logger5("webdriver");
|
|
2141
|
+
function hasLoggableBody(body) {
|
|
2142
|
+
if (typeof body === "string") {
|
|
2143
|
+
return body.length > 0;
|
|
2144
|
+
}
|
|
2145
|
+
if (body instanceof URLSearchParams || body instanceof FormData) {
|
|
2146
|
+
return !body.keys().next().done;
|
|
2147
|
+
}
|
|
2148
|
+
if (body instanceof Blob) {
|
|
2149
|
+
return body.size > 0;
|
|
2150
|
+
}
|
|
2151
|
+
if (body instanceof ArrayBuffer || ArrayBuffer.isView(body)) {
|
|
2152
|
+
return body.byteLength > 0;
|
|
2153
|
+
}
|
|
2154
|
+
return Object.keys(body).length > 0;
|
|
2155
|
+
}
|
|
2156
|
+
function toLoggableBody(body) {
|
|
2157
|
+
if (typeof body !== "string") {
|
|
2158
|
+
return body;
|
|
2159
|
+
}
|
|
2160
|
+
try {
|
|
2161
|
+
return JSON.parse(body);
|
|
2162
|
+
} catch {
|
|
2163
|
+
return body;
|
|
2164
|
+
}
|
|
2165
|
+
}
|
|
2119
2166
|
var WebDriverRequest = class {
|
|
2120
2167
|
body;
|
|
2121
2168
|
method;
|
|
@@ -2124,6 +2171,7 @@ var WebDriverRequest = class {
|
|
|
2124
2171
|
requiresSessionId;
|
|
2125
2172
|
eventHandler;
|
|
2126
2173
|
abortSignal;
|
|
2174
|
+
connectionRetryTimeout = DEFAULTS.connectionRetryTimeout.default;
|
|
2127
2175
|
constructor(method, endpoint, body, abortSignal, isHubCommand = false, eventHandler = {}) {
|
|
2128
2176
|
this.body = body;
|
|
2129
2177
|
this.method = method;
|
|
@@ -2138,15 +2186,18 @@ var WebDriverRequest = class {
|
|
|
2138
2186
|
this.eventHandler.onRequest?.(requestOptions);
|
|
2139
2187
|
return this._request(url, requestOptions, options.transformResponse, options.connectionRetryCount, 0);
|
|
2140
2188
|
}
|
|
2189
|
+
createAbortSignal(signal) {
|
|
2190
|
+
return AbortSignal.any([
|
|
2191
|
+
AbortSignal.timeout(this.connectionRetryTimeout),
|
|
2192
|
+
...signal ? [signal] : []
|
|
2193
|
+
]);
|
|
2194
|
+
}
|
|
2141
2195
|
async createOptions(options, sessionId, isBrowser = false) {
|
|
2142
|
-
|
|
2196
|
+
this.connectionRetryTimeout = options.connectionRetryTimeout || DEFAULTS.connectionRetryTimeout.default;
|
|
2143
2197
|
const requestOptions = {
|
|
2144
2198
|
method: this.method,
|
|
2145
2199
|
redirect: "follow",
|
|
2146
|
-
signal:
|
|
2147
|
-
AbortSignal.timeout(timeout),
|
|
2148
|
-
...this.abortSignal ? [this.abortSignal] : []
|
|
2149
|
-
])
|
|
2200
|
+
signal: this.abortSignal
|
|
2150
2201
|
};
|
|
2151
2202
|
const requestHeaders = new Headers({
|
|
2152
2203
|
...DEFAULT_HEADERS,
|
|
@@ -2209,10 +2260,14 @@ var WebDriverRequest = class {
|
|
|
2209
2260
|
}
|
|
2210
2261
|
async _request(url, fullRequestOptions, transformResponse, totalRetryCount = 0, retryCount = 0) {
|
|
2211
2262
|
log5.info(`[${fullRequestOptions.method}] ${url.href}`);
|
|
2212
|
-
|
|
2213
|
-
|
|
2263
|
+
const loggableBody = fullRequestOptions.body && toLoggableBody(fullRequestOptions.body);
|
|
2264
|
+
if (loggableBody && hasLoggableBody(loggableBody)) {
|
|
2265
|
+
this.eventHandler.onLogData?.(loggableBody);
|
|
2214
2266
|
}
|
|
2215
|
-
const
|
|
2267
|
+
const requestLibOptions = {
|
|
2268
|
+
...fullRequestOptions,
|
|
2269
|
+
signal: this.createAbortSignal(fullRequestOptions.signal)
|
|
2270
|
+
};
|
|
2216
2271
|
const startTime = performance.now();
|
|
2217
2272
|
let response = await this._libRequest(url, requestLibOptions).catch((err) => err);
|
|
2218
2273
|
const durationMillisecond = performance.now() - startTime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/request/error.ts"],"names":[],"mappings":"AAIA,uBAAe,cAAe,SAAQ,KAAK;;IACvC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAE1B;;OAEG;IACH,mBAAmB;CAsCtB;AAED,qBAAa,qBAAsB,SAAQ,cAAc;IACrD,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,WAAW,CAAA;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;gBAEA,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/request/error.ts"],"names":[],"mappings":"AAIA,uBAAe,cAAe,SAAQ,KAAK;;IACvC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAE1B;;OAEG;IACH,mBAAmB;CAsCtB;AAED,qBAAa,qBAAsB,SAAQ,cAAc;IACrD,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,WAAW,CAAA;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;gBAEA,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW;CAsCvD;AAED,qBAAa,sBAAuB,SAAQ,cAAc;IACtD,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,WAAW,CAAA;gBACJ,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW;CA2D9D"}
|
|
@@ -10,8 +10,10 @@ export declare abstract class WebDriverRequest {
|
|
|
10
10
|
requiresSessionId: boolean;
|
|
11
11
|
eventHandler: RequestEventHandler;
|
|
12
12
|
abortSignal?: AbortSignal;
|
|
13
|
+
connectionRetryTimeout: number;
|
|
13
14
|
constructor(method: string, endpoint: string, body?: Record<string, unknown>, abortSignal?: AbortSignal, isHubCommand?: boolean, eventHandler?: RequestEventHandler);
|
|
14
15
|
makeRequest(options: RequestOptions, sessionId?: string): Promise<WebDriverResponse<unknown>>;
|
|
16
|
+
private createAbortSignal;
|
|
15
17
|
createOptions(options: RequestOptions, sessionId?: string, isBrowser?: boolean): Promise<{
|
|
16
18
|
url: URL;
|
|
17
19
|
requestOptions: RequestInit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request/request.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAM5G,OAAO,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request/request.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAM5G,OAAO,eAAe,CAAA;AA+CtB,8BAAsB,gBAAgB;IAClC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAExE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,OAAO,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,YAAY,EAAE,mBAAmB,CAAA;IACjC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,sBAAsB,SAA2C;gBAE7D,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,WAAW,CAAC,EAAE,WAAW,EACzB,YAAY,GAAE,OAAe,EAC7B,YAAY,GAAE,mBAAwB;IAWpC,WAAW,CAAE,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM;IAM9D,OAAO,CAAC,iBAAiB;IAOnB,aAAa,CAAE,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,cAAc,EAAE,WAAW,CAAC;KAAE,CAAC;cA0DlI,WAAW,CAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAiBhF,aAAa;cAiBX,QAAQ,CACpB,GAAG,EAAE,GAAG,EACR,kBAAkB,EAAE,WAAW,EAC/B,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,KAAK,kBAAkB,EACrG,eAAe,SAAI,EACnB,UAAU,SAAI,GACf,OAAO,CAAC,iBAAiB,CAAC;CAsIhC"}
|
package/build/request/types.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export interface RequestEventHandler {
|
|
|
21
21
|
onResponse?: (ev: RequestEndEvent) => void;
|
|
22
22
|
onRetry?: (ev: RequestRetryEvent) => void;
|
|
23
23
|
onPerformance?: (ev: RequestPerformanceEvent) => void;
|
|
24
|
-
onLogData?: (ev: BodyInit) => void;
|
|
24
|
+
onLogData?: (ev: BodyInit | Record<string, unknown>) => void;
|
|
25
25
|
}
|
|
26
26
|
export type RequestStartEvent = RequestInit;
|
|
27
27
|
export type RequestEndEvent = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/request/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC1C,KAAK,EAAE,CAAC,CAAA;IACR;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;AAC3D,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;AAEpE,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAC3C,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,IAAI,CAAA;IAC1C,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACzC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,uBAAuB,KAAK,IAAI,CAAA;IACrD,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/request/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC1C,KAAK,EAAE,CAAC,CAAA;IACR;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;AAC3D,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;AAEpE,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAC3C,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,IAAI,CAAA;IAC1C,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACzC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,uBAAuB,KAAK,IAAI,CAAA;IACrD,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CAC/D;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAA;AAC3C,MAAM,MAAM,eAAe,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AACjE,MAAM,MAAM,iBAAiB,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AACpE,MAAM,MAAM,uBAAuB,GAAG;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA"}
|
package/build/utils.d.ts
CHANGED
|
@@ -52,9 +52,10 @@ export declare const getSessionError: (err: JSONWPCommandError, params?: Partial
|
|
|
52
52
|
* @param socketUrl url to bidi interface
|
|
53
53
|
* @param strictSSL
|
|
54
54
|
* @param userHeaders
|
|
55
|
+
* @param responseTimeout timeout for a Bidi command to receive a response from the browser
|
|
55
56
|
* @returns prototype with interface for bidi primitives
|
|
56
57
|
*/
|
|
57
|
-
export declare function initiateBidi(socketUrl: string, strictSSL?: boolean, userHeaders?: Record<string, string
|
|
58
|
+
export declare function initiateBidi(socketUrl: string, strictSSL?: boolean, userHeaders?: Record<string, string>, responseTimeout?: number): PropertyDescriptorMap;
|
|
58
59
|
export declare function parseBidiMessage(this: EventEmitter, data: ArrayBuffer): void;
|
|
59
60
|
/**
|
|
60
61
|
* Masks the `text` parameter in a WebDriver command if masking is enabled in the options.
|
package/build/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,iBAAiB,CAAA;AAMhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAM1C,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAwC/G;;GAEG;AACH,wBAAsB,qBAAqB,CAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,WAAW,CAAC,YAAY,CAAA;CAAE,CAAC,CAkHzI;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAE,YAAY,EAAE,WAAW,CAAC,YAAY,QAiC3E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAE,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,WAkExE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,sCAiD7H;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAuBpM;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,QAgBhD;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,kBAAkB,EAAE,SAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,CAAM,WAmD/F,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,iBAAiB,CAAA;AAMhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAM1C,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAwC/G;;GAEG;AACH,wBAAsB,qBAAqB,CAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,WAAW,CAAC,YAAY,CAAA;CAAE,CAAC,CAkHzI;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAE,YAAY,EAAE,WAAW,CAAC,YAAY,QAiC3E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAE,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,WAkExE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,sCAiD7H;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAuBpM;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,QAgBhD;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,kBAAkB,EAAE,SAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,CAAM,WAmD/F,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,OAAc,EACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,eAAe,CAAC,EAAE,MAAM,GACzB,qBAAqB,CA6CvB;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,QAWtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;;;;EA8BhI"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "webdriver",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.31.1",
|
|
4
4
|
"description": "A Node.js bindings implementation for the W3C WebDriver and Mobile JSONWire Protocol",
|
|
5
5
|
"author": "Christian Bromann <mail@bromann.dev>",
|
|
6
6
|
"homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/webdriver",
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@types/node": "^20.1.0",
|
|
40
40
|
"@types/ws": "^8.5.3",
|
|
41
|
-
"@wdio/config": "9.
|
|
41
|
+
"@wdio/config": "9.31.1",
|
|
42
42
|
"@wdio/logger": "9.29.1",
|
|
43
|
-
"@wdio/protocols": "9.
|
|
44
|
-
"@wdio/types": "9.
|
|
45
|
-
"@wdio/utils": "9.
|
|
43
|
+
"@wdio/protocols": "9.31.1",
|
|
44
|
+
"@wdio/types": "9.31.1",
|
|
45
|
+
"@wdio/utils": "9.31.1",
|
|
46
46
|
"deepmerge-ts": "^7.0.3",
|
|
47
47
|
"https-proxy-agent": "^7.0.6",
|
|
48
48
|
"undici": "^6.27.0",
|
|
49
49
|
"ws": "^8.21.0"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "c766850846f7ac91cd6cd1d2cd979fbb8a6e8daf"
|
|
52
52
|
}
|