diff --git a/test/karma.common.js b/test/karma.common.js index 92e84788a..27b713b46 100644 --- a/test/karma.common.js +++ b/test/karma.common.js @@ -1,3 +1,5 @@ +const { configureLambdaTest } = require('./karma.lambdatest'); + /* Base karma configurations to require and extend from other karma.conf.js */ const karmaCommon = { @@ -44,52 +46,7 @@ const karmaCommon = { ], }; -if (process.env.LAMBDATEST) { - const ltBrowsers = require('./karma.lambdatest.js').customLaunchers; - - const webdriverConfig = { - hostname: 'hub.lambdatest.com', - port: 80, - }; - - const webdriverConfigMobile = { - hostname: 'mobile-hub.lambdatest.com', - port: 80, - }; - - for (const key of Object.keys(ltBrowsers)) { - ltBrowsers[key].base = 'WebDriver'; - if (ltBrowsers[key].isRealMobile) { - ltBrowsers[key].config = webdriverConfigMobile; - ltBrowsers[key].user = process.env.LT_USERNAME; - ltBrowsers[key].accessKey = process.env.LT_ACCESS_KEY; - ltBrowsers[key].tunnel = true; - ltBrowsers[key].console = true; - ltBrowsers[key].network = true; - ltBrowsers[key].tunnelName = process.env.LT_TUNNEL_NAME || 'jasmine'; - ltBrowsers[key].pseudoActivityInterval = 5000; // 5000 ms heartbeat - } else { - ltBrowsers[key].config = webdriverConfig; - ltBrowsers[key]['LT:Options'].username = process.env.LT_USERNAME; - ltBrowsers[key]['LT:Options'].accessKey = process.env.LT_ACCESS_KEY; - ltBrowsers[key]['LT:Options'].tunnel = true; - ltBrowsers[key]['LT:Options'].console = true; - ltBrowsers[key]['LT:Options'].network = true; - ltBrowsers[key]['LT:Options'].tunnelName = - process.env.LT_TUNNEL_NAME || 'jasmine'; - ltBrowsers[key]['LT:Options'].pseudoActivityInterval = 5000; // 5000 ms heartbeat - } - - ltBrowsers[key].retryLimit = 2; - } - - karmaCommon.hostname = 'localhost.lambdatest.com'; - karmaCommon.customLaunchers = { - ...karmaCommon.customLaunchers, - ...ltBrowsers - }; -} - +configureLambdaTest(karmaCommon); const browserSuiteToUse = process.env.NODE_ENV === 'release' ? 'pre_npm_publish' // When run by tools/release.sh diff --git a/test/karma.lambdatest.js b/test/karma.lambdatest.js index 5f1a8c821..57ddbb08d 100644 --- a/test/karma.lambdatest.js +++ b/test/karma.lambdatest.js @@ -1,32 +1,79 @@ -module.exports = { - customLaunchers: { - remote_firefox: { - browserName: 'firefox', - browserVersion: '118', - 'LT:Options': { - platformName: 'Windows 10' - } - }, - remote_edge: { - browserName: 'Edge', - browserVersion: '118', - 'LT:Options': { - platformName: 'Windows 10' - } - }, - remote_chrome: { - browserName: "Chrome", - browserVersion: "118", - 'LT:Options': { - platformName: 'Windows 10' - } - }, - remote_safari: { - browserName: "Safari", - browserVersion: "16", - 'LT:Options': { - platformName: 'MacOS Ventura' - } + +const ltBrowsers = { + remote_firefox: { + browserName: 'firefox', + browserVersion: '118', + 'LT:Options': { + platformName: 'Windows 10' + } + }, + remote_edge: { + browserName: 'Edge', + browserVersion: '118', + 'LT:Options': { + platformName: 'Windows 10' + } + }, + remote_chrome: { + browserName: "Chrome", + browserVersion: "118", + 'LT:Options': { + platformName: 'Windows 10' + } + }, + remote_safari: { + browserName: "Safari", + browserVersion: "16", + 'LT:Options': { + platformName: 'MacOS Ventura' } } }; + +const webdriverConfig = { + hostname: 'hub.lambdatest.com', + port: 80, +}; + +const webdriverConfigMobile = { + hostname: 'mobile-hub.lambdatest.com', + port: 80, +}; + +for (const key of Object.keys(ltBrowsers)) { + ltBrowsers[key].base = 'WebDriver'; + if (ltBrowsers[key].isRealMobile) { + ltBrowsers[key].config = webdriverConfigMobile; + ltBrowsers[key].user = process.env.LT_USERNAME; + ltBrowsers[key].accessKey = process.env.LT_ACCESS_KEY; + ltBrowsers[key].tunnel = true; + ltBrowsers[key].console = true; + ltBrowsers[key].network = true; + ltBrowsers[key].tunnelName = process.env.LT_TUNNEL_NAME || 'jasmine'; + ltBrowsers[key].pseudoActivityInterval = 5000; // 5000 ms heartbeat + } else { + ltBrowsers[key].config = webdriverConfig; + ltBrowsers[key]['LT:Options'].username = process.env.LT_USERNAME; + ltBrowsers[key]['LT:Options'].accessKey = process.env.LT_ACCESS_KEY; + ltBrowsers[key]['LT:Options'].tunnel = true; + ltBrowsers[key]['LT:Options'].console = true; + ltBrowsers[key]['LT:Options'].network = true; + ltBrowsers[key]['LT:Options'].tunnelName = + process.env.LT_TUNNEL_NAME || 'jasmine'; + ltBrowsers[key]['LT:Options'].pseudoActivityInterval = 5000; // 5000 ms heartbeat + } + + ltBrowsers[key].retryLimit = 2; +} + +function configureLambdaTest(karmaCommon) { + karmaCommon.hostname = 'localhost.lambdatest.com'; + karmaCommon.customLaunchers = { + ...karmaCommon.customLaunchers, + ...ltBrowsers + } +} + +module.exports = { + configureLambdaTest +}