diff --git a/src/browser/existing-browser.js b/src/browser/existing-browser.js index 9293d738d..7a0536c09 100644 --- a/src/browser/existing-browser.js +++ b/src/browser/existing-browser.js @@ -12,9 +12,9 @@ const Camera = require("./camera"); const clientBridge = require("./client-bridge"); const history = require("./history"); const logger = require("../utils/logger"); -const dns = require('node:dns'); +const dns = require("node:dns"); -dns.setDefaultResultOrder('ipv4first'); //https://github.com/webdriverio/webdriverio/issues/8279 +dns.setDefaultResultOrder("ipv4first"); //https://github.com/webdriverio/webdriverio/issues/8279 const OPTIONAL_SESSION_OPTS = ["transformRequest", "transformResponse"]; @@ -88,7 +88,7 @@ module.exports = class ExistingBrowser extends Browser { for (let handle of currentOpenWindows) { try { - await this._session.switchToWindow(handle) + await this._session.switchToWindow(handle); await this._session.closeWindow(); } catch (e) { if (!e.message.includes("no such window")) { @@ -96,14 +96,14 @@ module.exports = class ExistingBrowser extends Browser { } } } - + if (this._browserContext) { this._browserContext.close(); } this._browserContext = context; - + const [newWindow] = await this._session.getWindowHandles(); - await this._session.switchToWindow(newWindow) + await this._session.switchToWindow(newWindow); } markAsBroken() { diff --git a/test/src/browser/utils.js b/test/src/browser/utils.js index de59022c7..ea350b3d4 100644 --- a/test/src/browser/utils.js +++ b/test/src/browser/utils.js @@ -81,7 +81,12 @@ exports.mkSessionStub_ = () => { session.waitUntil = sinon.stub().named("waitUntil").resolves(); session.setTimeout = sinon.stub().named("setTimeout").resolves(); session.setTimeouts = sinon.stub().named("setTimeouts").resolves(); - session.getPuppeteer = sinon.stub().named("getPuppeteer").resolves({}); + session.getPuppeteer = sinon + .stub() + .named("getPuppeteer") + .resolves({ createIncognitoBrowserContext: () => ({ newPage: () => {}, close: () => {} }) }); + session.getWindowHandles = sinon.stub().named("getWindowHandles").resolves([]); + session.switchToWindow = sinon.stub().named("switchToWindow").resolves(); session.$ = sinon.stub().named("$").resolves(element); session.addCommand = sinon.stub().callsFake((name, command, isElement) => {