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 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.
@@ -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
@@ -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;AASzC,qBAAa,QAAQ;;IASjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B;;OAEG;IACH,OAAO,CAAC,YAAY,CAAQ;gBAEf,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa;IASvD;;;;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;IAgCtE,SAAS,CAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;CAWpD;AAED,wBAAgB,gBAAgB,CAAE,MAAM,EAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAwCjE"}
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"}
@@ -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,CAkJ/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"}
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"}
@@ -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;IA4ElB;;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;IAmDT;;;;;;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"}
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 RESPONSE_TIMEOUT = 1e3 * 60;
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("Command ".concat(params.method, " with id ").concat(id, " (with the following parameter: ").concat(JSON.stringify(params.params), ") timed out")));
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
- }, RESPONSE_TIMEOUT);
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.29.1",
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
- if (fullRequestOptions.body && Object.keys(fullRequestOptions.body).length) {
2284
- (_b = (_a = this.eventHandler).onLogData) == null ? void 0 : _b.call(_a, fullRequestOptions.body);
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 RESPONSE_TIMEOUT = 1e3 * 60;
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(`Command ${params.method} with id ${id} (with the following parameter: ${JSON.stringify(params.params)}) timed out`));
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
- }, RESPONSE_TIMEOUT);
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.29.1",
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
- if (fullRequestOptions.body && Object.keys(fullRequestOptions.body).length) {
2213
- this.eventHandler.onLogData?.(fullRequestOptions.body);
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;AAetB,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"}
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"}
@@ -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;CACrC;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"}
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>): PropertyDescriptorMap;
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.
@@ -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;;;;;;GAMG;AACH,wBAAgB,YAAY,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,OAAc,EACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,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"}
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.0",
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.0",
41
+ "@wdio/config": "9.30.1",
42
42
  "@wdio/logger": "9.29.1",
43
- "@wdio/protocols": "9.30.0",
44
- "@wdio/types": "9.29.1",
45
- "@wdio/utils": "9.30.0",
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": "5e412ba964c99fb2a4cbf34b5e8ecfee746a5835"
51
+ "gitHead": "2ea7c6945a5ec1fa0edd89fe7d3f821dc29201d8"
52
52
  }