webdriver 9.30.0 → 9.30.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 +61 -12
- package/build/node.js +59 -11
- 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;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAgK/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
|
*/
|
|
@@ -263,10 +276,10 @@ function isBase64Safe(str) {
|
|
|
263
276
|
var SCRIPT_PREFIX = "/* __wdio script__ */";
|
|
264
277
|
var SCRIPT_SUFFIX = "/* __wdio script end__ */";
|
|
265
278
|
var log = logger("webdriver");
|
|
266
|
-
var
|
|
267
|
-
var _id, _ws, _waitForConnected, _resolveWaitForConnected, _webSocketUrl, _clientOptions, _pendingCommands, _BidiCore_instances, handleResponse_fn;
|
|
279
|
+
var DEFAULT_RESPONSE_TIMEOUT = 1e3 * 180;
|
|
280
|
+
var _id, _ws, _waitForConnected, _resolveWaitForConnected, _webSocketUrl, _clientOptions, _responseTimeout, _pendingCommands, _BidiCore_instances, handleResponse_fn;
|
|
268
281
|
var BidiCore = class {
|
|
269
|
-
constructor(webSocketUrl, opts) {
|
|
282
|
+
constructor(webSocketUrl, opts, responseTimeout = DEFAULT_RESPONSE_TIMEOUT) {
|
|
270
283
|
__privateAdd(this, _BidiCore_instances);
|
|
271
284
|
__privateAdd(this, _id, 0);
|
|
272
285
|
__privateAdd(this, _ws);
|
|
@@ -274,14 +287,19 @@ var BidiCore = class {
|
|
|
274
287
|
__privateAdd(this, _resolveWaitForConnected);
|
|
275
288
|
__privateAdd(this, _webSocketUrl);
|
|
276
289
|
__privateAdd(this, _clientOptions);
|
|
290
|
+
__privateAdd(this, _responseTimeout);
|
|
277
291
|
__privateAdd(this, _pendingCommands, /* @__PURE__ */ new Map());
|
|
278
292
|
__publicField(this, "client");
|
|
279
293
|
/**
|
|
280
294
|
* @private
|
|
281
295
|
*/
|
|
282
296
|
__publicField(this, "_isConnected", false);
|
|
297
|
+
if (!Number.isFinite(responseTimeout) || responseTimeout <= 0) {
|
|
298
|
+
throw new TypeError('The option "bidiResponseTimeout" needs to be a positive number');
|
|
299
|
+
}
|
|
283
300
|
__privateSet(this, _webSocketUrl, webSocketUrl);
|
|
284
301
|
__privateSet(this, _clientOptions, opts);
|
|
302
|
+
__privateSet(this, _responseTimeout, responseTimeout);
|
|
285
303
|
__privateSet(this, _resolveWaitForConnected, () => {
|
|
286
304
|
});
|
|
287
305
|
__privateSet(this, _waitForConnected, new Promise((resolve) => {
|
|
@@ -351,9 +369,11 @@ var BidiCore = class {
|
|
|
351
369
|
const failError = new Error('WebDriver Bidi command "'.concat(params.method, '" failed'));
|
|
352
370
|
const payload = await new Promise((resolve, reject) => {
|
|
353
371
|
const t = setTimeout(() => {
|
|
354
|
-
reject(new Error(
|
|
372
|
+
reject(new Error(
|
|
373
|
+
"Command ".concat(params.method, " with id ").concat(id, " timed out after ").concat(__privateGet(this, _responseTimeout), "ms! ") + 'Consider increasing the "bidiResponseTimeout" option.'
|
|
374
|
+
));
|
|
355
375
|
__privateGet(this, _pendingCommands).delete(id);
|
|
356
|
-
},
|
|
376
|
+
}, __privateGet(this, _responseTimeout));
|
|
357
377
|
__privateGet(this, _pendingCommands).set(id, (payload2) => {
|
|
358
378
|
clearTimeout(t);
|
|
359
379
|
resolve(payload2);
|
|
@@ -388,6 +408,7 @@ _waitForConnected = new WeakMap();
|
|
|
388
408
|
_resolveWaitForConnected = new WeakMap();
|
|
389
409
|
_webSocketUrl = new WeakMap();
|
|
390
410
|
_clientOptions = new WeakMap();
|
|
411
|
+
_responseTimeout = new WeakMap();
|
|
391
412
|
_pendingCommands = new WeakMap();
|
|
392
413
|
_BidiCore_instances = new WeakSet();
|
|
393
414
|
handleResponse_fn = function(data) {
|
|
@@ -1553,7 +1574,7 @@ var getSessionError = (err, params = {}) => {
|
|
|
1553
1574
|
}
|
|
1554
1575
|
return err.message;
|
|
1555
1576
|
};
|
|
1556
|
-
function initiateBidi(socketUrl, strictSSL = true, userHeaders) {
|
|
1577
|
+
function initiateBidi(socketUrl, strictSSL = true, userHeaders, responseTimeout) {
|
|
1557
1578
|
const isUnitTesting = environment.value.variables.WDIO_UNIT_TESTS;
|
|
1558
1579
|
if (isUnitTesting) {
|
|
1559
1580
|
log2.info("Skip connecting to WebDriver Bidi interface due to unit tests");
|
|
@@ -1574,7 +1595,7 @@ function initiateBidi(socketUrl, strictSSL = true, userHeaders) {
|
|
|
1574
1595
|
if (userHeaders) {
|
|
1575
1596
|
bidiReqOpts.headers = userHeaders;
|
|
1576
1597
|
}
|
|
1577
|
-
const handler = new BidiHandler(socketUrl, bidiReqOpts);
|
|
1598
|
+
const handler = new BidiHandler(socketUrl, bidiReqOpts, responseTimeout);
|
|
1578
1599
|
handler.connect().then((isConnected) => isConnected && log2.info("Connected to WebDriver Bidi interface at ".concat(socketUrl)));
|
|
1579
1600
|
return {
|
|
1580
1601
|
_bidiHandler: { value: handler },
|
|
@@ -1813,7 +1834,8 @@ var WebDriver = class _WebDriver {
|
|
|
1813
1834
|
Object.assign(bidiPrototype, initiateBidi(
|
|
1814
1835
|
capabilities.webSocketUrl,
|
|
1815
1836
|
options.strictSSL,
|
|
1816
|
-
options.headers
|
|
1837
|
+
options.headers,
|
|
1838
|
+
params.bidiResponseTimeout
|
|
1817
1839
|
));
|
|
1818
1840
|
}
|
|
1819
1841
|
const monad = webdriverMonad(
|
|
@@ -1865,7 +1887,8 @@ var WebDriver = class _WebDriver {
|
|
|
1865
1887
|
Object.assign(bidiPrototype, initiateBidi(
|
|
1866
1888
|
webSocketUrl,
|
|
1867
1889
|
options.strictSSL,
|
|
1868
|
-
options.headers
|
|
1890
|
+
options.headers,
|
|
1891
|
+
options.bidiResponseTimeout
|
|
1869
1892
|
));
|
|
1870
1893
|
}
|
|
1871
1894
|
const prototype = { ...protocolCommands, ...environmentPrototype, ...userPrototype, ...bidiPrototype };
|
|
@@ -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.30.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");
|
|
@@ -2280,8 +2328,9 @@ var WebDriverRequest = class {
|
|
|
2280
2328
|
async _request(url, fullRequestOptions, transformResponse, totalRetryCount = 0, retryCount = 0) {
|
|
2281
2329
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
2282
2330
|
log5.info("[".concat(fullRequestOptions.method, "] ").concat(url.href));
|
|
2283
|
-
|
|
2284
|
-
|
|
2331
|
+
const loggableBody = fullRequestOptions.body && toLoggableBody(fullRequestOptions.body);
|
|
2332
|
+
if (loggableBody && hasLoggableBody(loggableBody)) {
|
|
2333
|
+
(_b = (_a = this.eventHandler).onLogData) == null ? void 0 : _b.call(_a, loggableBody);
|
|
2285
2334
|
}
|
|
2286
2335
|
const { ...requestLibOptions } = fullRequestOptions;
|
|
2287
2336
|
const startTime = performance.now();
|
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
|
*/
|
|
@@ -244,7 +257,7 @@ function isBase64Safe(str) {
|
|
|
244
257
|
var SCRIPT_PREFIX = "/* __wdio script__ */";
|
|
245
258
|
var SCRIPT_SUFFIX = "/* __wdio script end__ */";
|
|
246
259
|
var log = logger("webdriver");
|
|
247
|
-
var
|
|
260
|
+
var DEFAULT_RESPONSE_TIMEOUT = 1e3 * 180;
|
|
248
261
|
var BidiCore = class {
|
|
249
262
|
#id = 0;
|
|
250
263
|
#ws;
|
|
@@ -252,15 +265,20 @@ var BidiCore = class {
|
|
|
252
265
|
#resolveWaitForConnected;
|
|
253
266
|
#webSocketUrl;
|
|
254
267
|
#clientOptions;
|
|
268
|
+
#responseTimeout;
|
|
255
269
|
#pendingCommands = /* @__PURE__ */ new Map();
|
|
256
270
|
client;
|
|
257
271
|
/**
|
|
258
272
|
* @private
|
|
259
273
|
*/
|
|
260
274
|
_isConnected = false;
|
|
261
|
-
constructor(webSocketUrl, opts) {
|
|
275
|
+
constructor(webSocketUrl, opts, responseTimeout = DEFAULT_RESPONSE_TIMEOUT) {
|
|
276
|
+
if (!Number.isFinite(responseTimeout) || responseTimeout <= 0) {
|
|
277
|
+
throw new TypeError('The option "bidiResponseTimeout" needs to be a positive number');
|
|
278
|
+
}
|
|
262
279
|
this.#webSocketUrl = webSocketUrl;
|
|
263
280
|
this.#clientOptions = opts;
|
|
281
|
+
this.#responseTimeout = responseTimeout;
|
|
264
282
|
this.#resolveWaitForConnected = () => {
|
|
265
283
|
};
|
|
266
284
|
this.#waitForConnected = new Promise((resolve) => {
|
|
@@ -357,9 +375,11 @@ var BidiCore = class {
|
|
|
357
375
|
const failError = new Error(`WebDriver Bidi command "${params.method}" failed`);
|
|
358
376
|
const payload = await new Promise((resolve, reject) => {
|
|
359
377
|
const t = setTimeout(() => {
|
|
360
|
-
reject(new Error(
|
|
378
|
+
reject(new Error(
|
|
379
|
+
`Command ${params.method} with id ${id} timed out after ${this.#responseTimeout}ms! Consider increasing the "bidiResponseTimeout" option.`
|
|
380
|
+
));
|
|
361
381
|
this.#pendingCommands.delete(id);
|
|
362
|
-
},
|
|
382
|
+
}, this.#responseTimeout);
|
|
363
383
|
this.#pendingCommands.set(id, (payload2) => {
|
|
364
384
|
clearTimeout(t);
|
|
365
385
|
resolve(payload2);
|
|
@@ -1523,7 +1543,7 @@ It seems like the service failed to start or is rejecting any connections.`;
|
|
|
1523
1543
|
}
|
|
1524
1544
|
return err.message;
|
|
1525
1545
|
};
|
|
1526
|
-
function initiateBidi(socketUrl, strictSSL = true, userHeaders) {
|
|
1546
|
+
function initiateBidi(socketUrl, strictSSL = true, userHeaders, responseTimeout) {
|
|
1527
1547
|
const isUnitTesting = environment.value.variables.WDIO_UNIT_TESTS;
|
|
1528
1548
|
if (isUnitTesting) {
|
|
1529
1549
|
log2.info("Skip connecting to WebDriver Bidi interface due to unit tests");
|
|
@@ -1544,7 +1564,7 @@ function initiateBidi(socketUrl, strictSSL = true, userHeaders) {
|
|
|
1544
1564
|
if (userHeaders) {
|
|
1545
1565
|
bidiReqOpts.headers = userHeaders;
|
|
1546
1566
|
}
|
|
1547
|
-
const handler = new BidiHandler(socketUrl, bidiReqOpts);
|
|
1567
|
+
const handler = new BidiHandler(socketUrl, bidiReqOpts, responseTimeout);
|
|
1548
1568
|
handler.connect().then((isConnected) => isConnected && log2.info(`Connected to WebDriver Bidi interface at ${socketUrl}`));
|
|
1549
1569
|
return {
|
|
1550
1570
|
_bidiHandler: { value: handler },
|
|
@@ -1789,7 +1809,8 @@ var WebDriver = class _WebDriver {
|
|
|
1789
1809
|
Object.assign(bidiPrototype, initiateBidi(
|
|
1790
1810
|
capabilities.webSocketUrl,
|
|
1791
1811
|
options.strictSSL,
|
|
1792
|
-
options.headers
|
|
1812
|
+
options.headers,
|
|
1813
|
+
params.bidiResponseTimeout
|
|
1793
1814
|
));
|
|
1794
1815
|
}
|
|
1795
1816
|
const monad = webdriverMonad(
|
|
@@ -1840,7 +1861,8 @@ var WebDriver = class _WebDriver {
|
|
|
1840
1861
|
Object.assign(bidiPrototype, initiateBidi(
|
|
1841
1862
|
webSocketUrl,
|
|
1842
1863
|
options.strictSSL,
|
|
1843
|
-
options.headers
|
|
1864
|
+
options.headers,
|
|
1865
|
+
options.bidiResponseTimeout
|
|
1844
1866
|
));
|
|
1845
1867
|
}
|
|
1846
1868
|
const prototype = { ...protocolCommands, ...environmentPrototype, ...userPrototype, ...bidiPrototype };
|
|
@@ -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.30.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;
|
|
@@ -2209,8 +2256,9 @@ var WebDriverRequest = class {
|
|
|
2209
2256
|
}
|
|
2210
2257
|
async _request(url, fullRequestOptions, transformResponse, totalRetryCount = 0, retryCount = 0) {
|
|
2211
2258
|
log5.info(`[${fullRequestOptions.method}] ${url.href}`);
|
|
2212
|
-
|
|
2213
|
-
|
|
2259
|
+
const loggableBody = fullRequestOptions.body && toLoggableBody(fullRequestOptions.body);
|
|
2260
|
+
if (loggableBody && hasLoggableBody(loggableBody)) {
|
|
2261
|
+
this.eventHandler.onLogData?.(loggableBody);
|
|
2214
2262
|
}
|
|
2215
2263
|
const { ...requestLibOptions } = fullRequestOptions;
|
|
2216
2264
|
const startTime = performance.now();
|
|
@@ -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;gBAErB,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;IAMxD,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;cA6DlI,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;CA+HhC"}
|
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.30.
|
|
3
|
+
"version": "9.30.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.30.
|
|
41
|
+
"@wdio/config": "9.30.1",
|
|
42
42
|
"@wdio/logger": "9.29.1",
|
|
43
|
-
"@wdio/protocols": "9.30.
|
|
44
|
-
"@wdio/types": "9.
|
|
45
|
-
"@wdio/utils": "9.30.
|
|
43
|
+
"@wdio/protocols": "9.30.1",
|
|
44
|
+
"@wdio/types": "9.30.1",
|
|
45
|
+
"@wdio/utils": "9.30.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": "2ea7c6945a5ec1fa0edd89fe7d3f821dc29201d8"
|
|
52
52
|
}
|