diff --git a/packages/galata/jest-env.js b/packages/galata/jest-env.js index 995b630..fdd209e 100644 --- a/packages/galata/jest-env.js +++ b/packages/galata/jest-env.js @@ -219,9 +219,15 @@ class TestEnvironment extends NodeEnvironment { let browser; try { - browser = await pwBrowser.connect({ - wsEndpoint: sessionInfo.wsEndpoint - }); + if (browserType === 'chromium' && config.browserUrl !== '') { + browser = await pwBrowser.connectOverCDP({ + endpointURL: sessionInfo.wsEndpoint + }); + } else { + browser = await pwBrowser.connect({ + wsEndpoint: sessionInfo.wsEndpoint + }); + } } catch (reason) { const message = `Failed to connect to browser using wsEndpoint ${sessionInfo.wsEndpoint}`; log('error', message); diff --git a/packages/galata/jest-setup.js b/packages/galata/jest-setup.js index ffe3b3b..b9f11ea 100644 --- a/packages/galata/jest-setup.js +++ b/packages/galata/jest-setup.js @@ -65,15 +65,24 @@ module.exports = async function () { const headless = config.headless; const slowMo = config.slowMo; let browser; + let wsEndpoint; if (config.browserUrl !== '') { try { const apiUrl = `${config.browserUrl}/json/version`; const response = await axios.get(apiUrl); - browser = await pwBrowser.connect({ - wsEndpoint: response.data.webSocketDebuggerUrl, - slowMo: slowMo - }); + wsEndpoint = response.data.webSocketDebuggerUrl; + if (browserType === 'chromium') { + browser = await pwBrowser.connectOverCDP({ + endpointURL: wsEndpoint, + slowMo: slowMo + }); + } else { + browser = await pwBrowser.connect({ + wsEndpoint: wsEndpoint, + slowMo: slowMo + }); + } } catch (reason) { await logAndExit( 'error', @@ -104,6 +113,7 @@ module.exports = async function () { }, slowMo: slowMo }); + wsEndpoint = browser.wsEndpoint(); } catch (reason) { await logAndExit( 'error', @@ -119,6 +129,7 @@ module.exports = async function () { const sessionInfo = { testId: config.testId, browserType: config.browserType, + browserUrl: config.browserUrl, testOutputDir: config.testOutputDir, referenceDir: config.referenceDir, jlabBaseUrl: config.jlabBaseUrl, @@ -127,7 +138,7 @@ module.exports = async function () { skipVisualRegression: config.skipVisualRegression === true, skipHtmlRegression: config.skipHtmlRegression === true, discardMatchedCaptures: config.discardMatchedCaptures !== false, - wsEndpoint: browser.wsEndpoint(), + wsEndpoint: wsEndpoint, buildJlabVersion: getBuildJlabVersion(), imageMatchThreshold: config.imageMatchThreshold }; diff --git a/packages/galata/jest-teardown.js b/packages/galata/jest-teardown.js index 9ab2dea..e85ea8a 100644 --- a/packages/galata/jest-teardown.js +++ b/packages/galata/jest-teardown.js @@ -1,14 +1,10 @@ // Copyright (c) Bloomberg Finance LP. // Distributed under the terms of the Modified BSD License. -const { getConfig, saveLogsToFile } = require('./util'); - -const config = getConfig(); +const { saveLogsToFile } = require('./util'); module.exports = async function () { - if (config.browserUrl === '') { - await global.__BROWSER_GLOBAL__.close(); - } + await global.__BROWSER_GLOBAL__.close(); saveLogsToFile('jest-logs.json'); };