webdriver 9.2.8 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,13 +5,25 @@ import type { Client } from '../types.js';
5
5
  export declare class BidiCore {
6
6
  #private;
7
7
  client: Client | undefined;
8
+ /**
9
+ * @private
10
+ */
11
+ private _isConnected;
8
12
  constructor(webSocketUrl: string, opts?: ClientOptions);
9
- connect(): Promise<void>;
13
+ /**
14
+ * We initiate the Bidi instance before a WebdriverIO instance is created.
15
+ * In order to emit Bidi events we have to attach the WebdriverIO instance
16
+ * to the Bidi instance afterwards.
17
+ */
18
+ attachClient(client: Client): void;
19
+ connect(): Promise<boolean | undefined>;
20
+ close(): void;
21
+ reconnect(webSocketUrl: string, opts?: ClientOptions): Promise<boolean | undefined>;
10
22
  /**
11
23
  * Helper function that allows to wait until Bidi connection establishes
12
24
  * @returns a promise that resolves once the connection to WebDriver Bidi protocol was established
13
25
  */
14
- waitForConnected(): Promise<void>;
26
+ waitForConnected(): Promise<boolean>;
15
27
  get socket(): WebSocket;
16
28
  get isConnected(): boolean;
17
29
  /**
@@ -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;AAI3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAKzC,qBAAa,QAAQ;;IAQjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEb,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa;IAO1C,OAAO;IAiBpB;;;OAGG;IACH,gBAAgB;IAIhB,IAAI,MAAM,cAET;IAED,IAAI,WAAW,YAEd;IAED;;;OAGG;IACH,IAAI,gBAAgB,WAIG,OAAO,UAF7B;IAyBY,IAAI,CAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IA+BtE,SAAS,CAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;CAWpD"}
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;AAI3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAKzC,qBAAa,QAAQ;;IAOjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B;;OAEG;IACH,OAAO,CAAC,YAAY,CAAQ;gBAEf,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa;IAOvD;;;;OAIG;IACI,YAAY,CAAE,MAAM,EAAE,MAAM;IAItB,OAAO;IAyBb,KAAK;IAYL,SAAS,CAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa;IAS5D;;;OAGG;IACH,gBAAgB;IAIhB,IAAI,MAAM,cAET;IAED,IAAI,WAAW,YAEd;IAED;;;OAGG;IACH,IAAI,gBAAgB,WAIG,OAAO,UAF7B;IAyBY,IAAI,CAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IA+BtE,SAAS,CAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;CAWpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAG7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAA;AAKzE,MAAM,CAAC,OAAO,WACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,eAAe,EAC5B,qBAAqB,UAAQ,UAIgB,UAAU,WAAW,GAAG,EAAE,KAAG,OAAO,CAAC,iBAAiB,GAAG,aAAa,GAAG,IAAI,CAAC,CAgK9H"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAI7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAA;AAKzE,MAAM,CAAC,OAAO,WACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,eAAe,EAC5B,qBAAqB,UAAQ,UAIgB,UAAU,WAAW,GAAG,EAAE,KAAG,OAAO,CAAC,iBAAiB,GAAG,aAAa,GAAG,IAAI,CAAC,CA0K9H"}
package/build/index.cjs CHANGED
@@ -239,12 +239,18 @@ Actual: ${actual}` + moreInfo
239
239
  }
240
240
  this.emit("result", { command: command2, method, endpoint, body, result });
241
241
  if (command2 === "deleteSession") {
242
+ const browser = this;
243
+ browser._bidiHandler?.close();
242
244
  const shutdownDriver = body.deleteSessionOpts?.shutdownDriver !== false;
243
245
  if (shutdownDriver && "wdio:driverPID" in this.capabilities && this.capabilities["wdio:driverPID"]) {
244
246
  log.info(`Kill driver process with PID ${this.capabilities["wdio:driverPID"]}`);
245
- const killedSuccessfully = process.kill(this.capabilities["wdio:driverPID"], "SIGKILL");
246
- if (!killedSuccessfully) {
247
- log.warn("Failed to kill driver process, manually clean-up might be required");
247
+ try {
248
+ const killedSuccessfully = process.kill(this.capabilities["wdio:driverPID"], "SIGKILL");
249
+ if (!killedSuccessfully) {
250
+ log.warn("Failed to kill driver process, manually clean-up might be required");
251
+ }
252
+ } catch (err) {
253
+ log.warn("Failed to kill driver process", err);
248
254
  }
249
255
  setTimeout(() => {
250
256
  for (const handle of process._getActiveHandles()) {
package/build/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { Capabilities } from '@wdio/types';
2
2
  import command from './command.js';
3
3
  import { DEFAULTS } from './constants.js';
4
+ import type { BidiHandler } from './bidi/handler.js';
4
5
  import { getPrototype, getEnvironmentVars, initiateBidi, parseBidiMessage } from './utils.js';
5
6
  import type { Client, AttachOptions } from './types.js';
6
7
  export default class WebDriver {
@@ -16,7 +17,9 @@ export default class WebDriver {
16
17
  * @param {object} instance the object we get from a new browser session.
17
18
  * @returns {string} the new session id of the browser
18
19
  */
19
- static reloadSession(instance: Client, newCapabilities?: WebdriverIO.Capabilities): Promise<string>;
20
+ static reloadSession(instance: Client & {
21
+ _bidiHandler?: BidiHandler;
22
+ }, newCapabilities?: WebdriverIO.Capabilities): Promise<string>;
20
23
  static get WebDriver(): typeof WebDriver;
21
24
  }
22
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,aAAa,CAAA;AAExD,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,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,GAC/C,OAAO,CAAC,MAAM,CAAC;IAuElB;;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;IA6CT;;;;;;OAMG;WACU,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,YAAY;IA8CvF,MAAM,KAAK,SAAS,qBAEnB;CACJ;AAED;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAC9F,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":"AAMA,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;AACpD,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,GAC/C,OAAO,CAAC,MAAM,CAAC;IAuElB;;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;IA6CT;;;;;;OAMG;WACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,YAAY,CAAC,EAAE,WAAW,CAAA;KAAE,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,YAAY;IA0DxH,MAAM,KAAK,SAAS,qBAEnB;CACJ;AAED;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAC9F,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
@@ -186,28 +186,65 @@ var RESPONSE_TIMEOUT = 1e3 * 60;
186
186
  var BidiCore = class {
187
187
  #id = 0;
188
188
  #ws;
189
- #isConnected = false;
190
- #waitForConnected = Promise.resolve();
189
+ #waitForConnected = Promise.resolve(false);
191
190
  #webSocketUrl;
192
191
  #pendingCommands = /* @__PURE__ */ new Map();
193
192
  client;
193
+ /**
194
+ * @private
195
+ */
196
+ _isConnected = false;
194
197
  constructor(webSocketUrl, opts) {
195
198
  this.#webSocketUrl = webSocketUrl;
196
199
  log.info(`Connect to webSocketUrl ${this.#webSocketUrl}`);
197
200
  this.#ws = new socket_default(this.#webSocketUrl, opts);
198
201
  this.#ws.on("message", this.#handleResponse.bind(this));
199
202
  }
203
+ /**
204
+ * We initiate the Bidi instance before a WebdriverIO instance is created.
205
+ * In order to emit Bidi events we have to attach the WebdriverIO instance
206
+ * to the Bidi instance afterwards.
207
+ */
208
+ attachClient(client) {
209
+ this.client = client;
210
+ }
200
211
  async connect() {
201
212
  if (process.env.WDIO_UNIT_TESTS) {
213
+ this._isConnected = true;
202
214
  return;
203
215
  }
204
- this.#waitForConnected = new Promise((resolve) => this.#ws.on("open", () => {
205
- log.info("Connected session to Bidi protocol");
206
- this.#isConnected = true;
207
- resolve();
208
- }));
216
+ this.#waitForConnected = new Promise((resolve) => {
217
+ this.#ws.on("open", () => {
218
+ log.info("Connected session to Bidi protocol");
219
+ this._isConnected = true;
220
+ resolve(this._isConnected);
221
+ });
222
+ this.#ws.on("error", (err) => {
223
+ log.warn(`Couldn't connect to Bidi protocol: ${err.message}`);
224
+ this._isConnected = false;
225
+ resolve(this._isConnected);
226
+ });
227
+ });
209
228
  return this.#waitForConnected;
210
229
  }
230
+ close() {
231
+ if (!this._isConnected) {
232
+ return;
233
+ }
234
+ log.info(`Close Bidi connection to ${this.#webSocketUrl}`);
235
+ this._isConnected = false;
236
+ this.#ws.off("message", this.#handleResponse.bind(this));
237
+ this.#ws.close();
238
+ this.#ws.terminate();
239
+ }
240
+ reconnect(webSocketUrl, opts) {
241
+ log.info(`Reconnect to new Bidi session at ${webSocketUrl}`);
242
+ this.close();
243
+ this.#webSocketUrl = webSocketUrl;
244
+ this.#ws = new socket_default(this.#webSocketUrl, opts);
245
+ this.#ws.on("message", this.#handleResponse.bind(this));
246
+ return this.connect();
247
+ }
211
248
  /**
212
249
  * Helper function that allows to wait until Bidi connection establishes
213
250
  * @returns a promise that resolves once the connection to WebDriver Bidi protocol was established
@@ -219,7 +256,7 @@ var BidiCore = class {
219
256
  return this.#ws;
220
257
  }
221
258
  get isConnected() {
222
- return this.#isConnected;
259
+ return this._isConnected;
223
260
  }
224
261
  /**
225
262
  * for testing purposes only
@@ -234,7 +271,7 @@ var BidiCore = class {
234
271
  if (!payload.id) {
235
272
  return;
236
273
  }
237
- log.debug("BIDI RESULT", data.toString());
274
+ log.info("BIDI RESULT", data.toString());
238
275
  this.client?.emit("bidiResult", payload);
239
276
  const resolve = this.#pendingCommands.get(payload.id);
240
277
  if (!resolve) {
@@ -275,7 +312,7 @@ ${driverStack}`;
275
312
  return payload;
276
313
  }
277
314
  sendAsync(params) {
278
- if (!this.#isConnected) {
315
+ if (!this._isConnected) {
279
316
  throw new Error("No connection to WebDriver Bidi was established");
280
317
  }
281
318
  log.info("BIDI COMMAND", ...parseBidiCommand(params));
@@ -958,7 +995,7 @@ function getPrototype({ isW3C, isChromium, isFirefox, isMobile, isSauce, isSelen
958
995
  }
959
996
  return prototype;
960
997
  }
961
- function getEnvironmentVars({ isW3C, isMobile, isIOS, isAndroid, isFirefox, isSauce, isSeleniumStandalone, isBidi: isBidi2, isChromium }) {
998
+ function getEnvironmentVars({ isW3C, isMobile, isIOS, isAndroid, isFirefox, isSauce, isSeleniumStandalone, isChromium }) {
962
999
  return {
963
1000
  isW3C: { value: isW3C },
964
1001
  isMobile: { value: isMobile },
@@ -967,7 +1004,16 @@ function getEnvironmentVars({ isW3C, isMobile, isIOS, isAndroid, isFirefox, isSa
967
1004
  isFirefox: { value: isFirefox },
968
1005
  isSauce: { value: isSauce },
969
1006
  isSeleniumStandalone: { value: isSeleniumStandalone },
970
- isBidi: { value: isBidi2 },
1007
+ isBidi: {
1008
+ /**
1009
+ * Return the value of this flag dynamically based on whether the
1010
+ * BidiHandler was able to connect to the `webSocketUrl` url provided
1011
+ * by the session response.
1012
+ */
1013
+ get: function() {
1014
+ return Boolean(this._bidiHandler?.isConnected);
1015
+ }
1016
+ },
971
1017
  isChromium: { value: isChromium }
972
1018
  };
973
1019
  }
@@ -1021,14 +1067,14 @@ function initiateBidi(socketUrl, strictSSL = true) {
1021
1067
  socketUrl = socketUrl.replace("localhost", "127.0.0.1");
1022
1068
  const bidiReqOpts = strictSSL ? {} : { rejectUnauthorized: false };
1023
1069
  const handler = new BidiHandler(socketUrl, bidiReqOpts);
1024
- handler.connect().then(() => log2.info(`Connected to WebDriver Bidi interface at ${socketUrl}`));
1070
+ handler.connect().then((isConnected) => isConnected && log2.info(`Connected to WebDriver Bidi interface at ${socketUrl}`));
1025
1071
  return {
1026
1072
  _bidiHandler: { value: handler },
1027
1073
  ...Object.values(WebDriverBidiProtocol).map((def) => def.socket).reduce((acc, cur) => {
1028
1074
  acc[cur.command] = {
1029
1075
  value: function(...args) {
1030
1076
  const bidiFn = handler[cur.command];
1031
- handler.client = this;
1077
+ handler.attachClient(this);
1032
1078
  this.emit(cur.command, args);
1033
1079
  return bidiFn?.apply(handler, args);
1034
1080
  }
@@ -1196,7 +1242,7 @@ var SHADOW_ELEMENT_KEY = "shadow-6066-11e4-a52e-4f735466cecf";
1196
1242
  // package.json
1197
1243
  var package_default = {
1198
1244
  name: "webdriver",
1199
- version: "9.2.5",
1245
+ version: "9.2.8",
1200
1246
  description: "A Node.js bindings implementation for the W3C WebDriver and Mobile JSONWire Protocol",
1201
1247
  author: "Christian Bromann <mail@bromann.dev>",
1202
1248
  homepage: "https://github.com/webdriverio/webdriverio/tree/main/packages/webdriver",
@@ -1523,12 +1569,18 @@ Actual: ${actual}` + moreInfo
1523
1569
  }
1524
1570
  this.emit("result", { command, method, endpoint, body, result });
1525
1571
  if (command === "deleteSession") {
1572
+ const browser = this;
1573
+ browser._bidiHandler?.close();
1526
1574
  const shutdownDriver = body.deleteSessionOpts?.shutdownDriver !== false;
1527
1575
  if (shutdownDriver && "wdio:driverPID" in this.capabilities && this.capabilities["wdio:driverPID"]) {
1528
1576
  log4.info(`Kill driver process with PID ${this.capabilities["wdio:driverPID"]}`);
1529
- const killedSuccessfully = process.kill(this.capabilities["wdio:driverPID"], "SIGKILL");
1530
- if (!killedSuccessfully) {
1531
- log4.warn("Failed to kill driver process, manually clean-up might be required");
1577
+ try {
1578
+ const killedSuccessfully = process.kill(this.capabilities["wdio:driverPID"], "SIGKILL");
1579
+ if (!killedSuccessfully) {
1580
+ log4.warn("Failed to kill driver process, manually clean-up might be required");
1581
+ }
1582
+ } catch (err) {
1583
+ log4.warn("Failed to kill driver process", err);
1532
1584
  }
1533
1585
  setTimeout(() => {
1534
1586
  for (const handle of process._getActiveHandles()) {
@@ -1666,9 +1718,15 @@ var WebDriver = class _WebDriver {
1666
1718
  for (const prop in instance.requestedCapabilities) {
1667
1719
  delete instance.requestedCapabilities[prop];
1668
1720
  }
1721
+ const driverPid = instance.capabilities["wdio:driverPID"];
1669
1722
  instance.sessionId = sessionId;
1670
1723
  instance.capabilities = newSessionCapabilities;
1724
+ instance.capabilities["wdio:driverPID"] = driverPid;
1671
1725
  Object.assign(instance.requestedCapabilities, capabilities);
1726
+ if (isBidi(instance.requestedCapabilities || {}, instance.capabilities || {})) {
1727
+ const bidiReqOpts = instance.options.strictSSL ? {} : { rejectUnauthorized: false };
1728
+ await instance._bidiHandler?.reconnect(newSessionCapabilities.webSocketUrl, bidiReqOpts);
1729
+ }
1672
1730
  return sessionId;
1673
1731
  }
1674
1732
  static get WebDriver() {
package/build/utils.d.ts CHANGED
@@ -33,7 +33,7 @@ export declare function getPrototype({ isW3C, isChromium, isFirefox, isMobile, i
33
33
  * @param {Object} options driver instance or option object containing these flags
34
34
  * @return {Object} prototype object
35
35
  */
36
- export declare function getEnvironmentVars({ isW3C, isMobile, isIOS, isAndroid, isFirefox, isSauce, isSeleniumStandalone, isBidi, isChromium }: Partial<SessionFlags>): PropertyDescriptorMap;
36
+ export declare function getEnvironmentVars({ isW3C, isMobile, isIOS, isAndroid, isFirefox, isSauce, isSeleniumStandalone, isChromium }: Partial<SessionFlags>): PropertyDescriptorMap;
37
37
  /**
38
38
  * Decorate the client's options object with host updates based on the presence of
39
39
  * directConnect capabilities in the new session response. Note that this
@@ -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;AAU/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI3D,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAYxF;;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,CAgEzI;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,iBAAiB,WA4DlF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,sCA8C7H;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAYpL;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,QAgBhD;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAS,kBAAkB,WAAU,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,WAmD1F,CAAA;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,qBAAqB,CAyBjG;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAWjE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAU/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI3D,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAYxF;;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,CAgEzI;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,iBAAiB,WA4DlF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,sCA8C7H;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAqB5K;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,QAgBhD;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAS,kBAAkB,WAAU,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,WAmD1F,CAAA;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,qBAAqB,CAyBjG;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAWjE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webdriver",
3
- "version": "9.2.8",
3
+ "version": "9.3.0",
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",
@@ -43,5 +43,5 @@
43
43
  "deepmerge-ts": "^7.0.3",
44
44
  "ws": "^8.8.0"
45
45
  },
46
- "gitHead": "f02604aee33fb785a1737db3c9092bacfc99a1f3"
46
+ "gitHead": "ffdd24d5207f8502f48eb9c9aa1851f164e133d0"
47
47
  }