webdriver 9.2.8 → 9.3.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/build/bidi/core.d.ts +14 -2
- package/build/bidi/core.d.ts.map +1 -1
- package/build/command.d.ts.map +1 -1
- package/build/index.cjs +9 -3
- package/build/index.d.ts +4 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +76 -18
- package/build/types.d.ts +2 -0
- package/build/types.d.ts.map +1 -1
- package/build/utils.d.ts +1 -1
- package/build/utils.d.ts.map +1 -1
- package/package.json +2 -2
package/build/bidi/core.d.ts
CHANGED
|
@@ -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
|
-
|
|
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<
|
|
26
|
+
waitForConnected(): Promise<boolean>;
|
|
15
27
|
get socket(): WebSocket;
|
|
16
28
|
get isConnected(): boolean;
|
|
17
29
|
/**
|
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;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;;
|
|
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"}
|
package/build/command.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
246
|
-
|
|
247
|
-
|
|
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
|
|
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
|
/**
|
package/build/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
#
|
|
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) =>
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
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
|
|
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.
|
|
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
|
|
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,
|
|
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: {
|
|
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.
|
|
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.
|
|
1245
|
+
version: "9.3.0",
|
|
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
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
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/types.d.ts
CHANGED
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,MAAM,EAAE,OAAO,CAAA;CAClB;AAED,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;AAC/B,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAC5B,KAAK,aAAa,CAAC,CAAC,IAAI;KAAG,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK;CAAE,CAAA;AACxG,KAAK,qBAAqB,GAAG,OAAO,qBAAqB,CAAA;AACzD,MAAM,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,qBAAqB,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;AAClG,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;AACnF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,yBAAyB,CAAA;AAErF,KAAK,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;AACnE,KAAK,sBAAsB,GAAG;IAC1B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAA;IACzE,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAA;IACrF,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACrC,UAAU,EAAE,eAAe,CAAC;IAC5B,qBAAqB,EAAE;QAAE,mBAAmB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;CAC5H,CAAA;AACD,MAAM,MAAM,YAAY,GAAG;KACtB,KAAK,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,kBAAkB,CAAC,GAAG,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CACrJ,CAAA;AAED,KAAK,QAAQ,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;AAC1H,MAAM,MAAM,QAAQ,GAAG;KAClB,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;CAC7D,GAAG,sBAAsB,CAAA;AAC1B,UAAU,gBAAgB;IACtB,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAA;IAClG,IAAI,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAA;CACvG;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY,EAAE,YAAY;IAE1D,SAAS,EAAE,MAAM,CAAA;IAEjB,YAAY,EAAE,WAAW,CAAC,YAAY,CAAA;IAEtC,qBAAqB,EAAE,YAAY,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAA;IAE7E,OAAO,EAAE,OAAO,CAAC,SAAS,CAAA;CAC7B;AAED,MAAM,WAAW,MAAO,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB;CAAG;AAE5H,MAAM,WAAW,aAAc,SAAQ,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;IACpF,SAAS,EAAE,MAAM,CAAA;IAEjB,YAAY,CAAC,EAAE,WAAW,CAAC,YAAY,CAAA;IAEvC,qBAAqB,CAAC,EAAE,YAAY,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAA;CACjF"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
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,
|
|
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
|
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;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,
|
|
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.
|
|
3
|
+
"version": "9.3.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",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"deepmerge-ts": "^7.0.3",
|
|
44
44
|
"ws": "^8.8.0"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "9bc630ee3e0ca8a522896ddc2024baefaf38f6b3"
|
|
47
47
|
}
|