safariMac: {
browserName: 'Safari',
browserVersion: 'latest',
- "LT:Options": {
- "platformName": "MacOS Monterey"
+ 'LT:Options': {
+ platformName: 'MacOS Monterey'
}
},
chromeMac: {
browserName: 'Chrome',
browserVersion: 'latest',
- "LT:Options": {
- "platformName": "MacOS Monterey"
+ 'LT:Options': {
+ platformName: 'MacOS Monterey'
}
},
firefoxMac: {
browserName: 'Firefox',
browserVersion: 'latest',
- "LT:Options": {
- "platformName": "MacOS Monterey"
+ 'LT:Options': {
+ platformName: 'MacOS Monterey'
}
},
chromeWin10: {
browserName: 'Chrome',
browserVersion: '60',
- "LT:Options": {
- "platformName": "Windows 10"
+ 'LT:Options': {
+ platformName: 'Windows 10'
}
},
firefoxWin10: {
browserName: 'Firefox',
browserVersion: '60',
- "LT:Options": {
- "platformName": "Windows 10"
+ 'LT:Options': {
+ platformName: 'Windows 10'
}
},
chromeWin10Latest: {
browserName: 'Chrome',
browserVersion: 'latest',
- "LT:Options": {
- "platformName": "Windows 10"
+ 'LT:Options': {
+ platformName: 'Windows 10'
}
},
firefoxWin10Latest: {
browserName: 'Firefox',
browserVersion: 'latest',
- "LT:Options": {
- "platformName": "Windows 10"
+ 'LT:Options': {
+ platformName: 'Windows 10'
}
},
iphone7: {
colors: true,
autoWatch: false,
singleRun: true,
- captureTimeout: 90000,
+ captureTimeout: 90_000,
browserDisconnectTolerance: 3,
- browserDisconnectTimeout: 90000,
- browserNoActivityTimeout: 90000,
+ browserDisconnectTimeout: 90_000,
+ browserNoActivityTimeout: 90_000,
concurrency: Number.POSITIVE_INFINITY,
client: {
clearContext: false
}
if (LAMBDATEST) {
- config.hostname = 'localhost.lambdatest.com',
- Object.keys(browsers['lambdaTest']).map(key => {
- browsers['lambdaTest'][key].base = 'WebDriver'
- browsers['lambdaTest'][key].build = `bootstrap-${ENV.GITHUB_SHA ? `${ENV.GITHUB_SHA.slice(0, 7)}-` : ''}${new Date().toISOString()}`
- browsers['lambdaTest'][key].project = 'Bootstrap'
- if (browsers['lambdaTest'][key].isRealMobile) {
- browsers['lambdaTest'][key].config = webdriverConfigMobile
- browsers['lambdaTest'][key].user = ENV.LT_USERNAME
- browsers['lambdaTest'][key].accessKey = ENV.LT_ACCESS_KEY
- browsers['lambdaTest'][key].tunnel = true
- browsers['lambdaTest'][key].tunnelName = process.env.LT_TUNNEL_NAME || 'jasmine'
- browsers['lambdaTest'][key].pseudoActivityInterval = 15000 // 5000 ms heartbeat
- }
- else {
- browsers['lambdaTest'][key].config = webdriverConfig
- browsers['lambdaTest'][key]["LT:Options"].username = ENV.LT_USERNAME
- browsers['lambdaTest'][key]["LT:Options"].accessKey = ENV.LT_ACCESS_KEY
- browsers['lambdaTest'][key]["LT:Options"].tunnel = true
- browsers['lambdaTest'][key]["LT:Options"].tunnelName = process.env.LT_TUNNEL_NAME || 'jasmine'
- browsers['lambdaTest'][key]["LT:Options"].plugin = 'bootstrap-karma'
- browsers['lambdaTest'][key]["LT:Options"].pseudoActivityInterval = 15000 // 5000 ms heartbeat
- }
- browsers['lambdaTest'][key].retryLimit = 2
- })
+ config.hostname = 'localhost.lambdatest.com'
+ for (const key of Object.keys(browsers.lambdaTest)) {
+ browsers.lambdaTest[key].base = 'WebDriver'
+ browsers.lambdaTest[key].build = `bootstrap-${ENV.GITHUB_SHA ? `${ENV.GITHUB_SHA.slice(0, 7)}-` : ''}${new Date().toISOString()}`
+ browsers.lambdaTest[key].project = 'Bootstrap'
+ if (browsers.lambdaTest[key].isRealMobile) {
+ browsers.lambdaTest[key].config = webdriverConfigMobile
+ browsers.lambdaTest[key].user = ENV.LT_USERNAME
+ browsers.lambdaTest[key].accessKey = ENV.LT_ACCESS_KEY
+ browsers.lambdaTest[key].tunnel = true
+ browsers.lambdaTest[key].tunnelName = process.env.LT_TUNNEL_NAME || 'jasmine'
+ browsers.lambdaTest[key].pseudoActivityInterval = 15_000 // 5000 ms heartbeat
+ } else {
+ browsers.lambdaTest[key].config = webdriverConfig
+ browsers.lambdaTest[key]['LT:Options'].username = ENV.LT_USERNAME
+ browsers.lambdaTest[key]['LT:Options'].accessKey = ENV.LT_ACCESS_KEY
+ browsers.lambdaTest[key]['LT:Options'].tunnel = true
+ browsers.lambdaTest[key]['LT:Options'].tunnelName = process.env.LT_TUNNEL_NAME || 'jasmine'
+ browsers.lambdaTest[key]['LT:Options'].plugin = 'bootstrap-karma'
+ browsers.lambdaTest[key]['LT:Options'].pseudoActivityInterval = 15_000 // 5000 ms heartbeat
+ }
+
+ browsers.lambdaTest[key].retryLimit = 2
+ }
+
plugins.push('karma-webdriver-launcher', 'karma-jasmine', 'karma-jasmine-html-reporter')
- config.customLaunchers = browsers['lambdaTest']
- config.browsers = Object.keys(browsers['lambdaTest'])
+ config.customLaunchers = browsers.lambdaTest
+ config.browsers = Object.keys(browsers.lambdaTest)
reporters.push('kjhtml')
} else if (BROWSERSTACK) {
config.hostname = ip.address()
retryLimit: 2
}
plugins.push('karma-browserstack-launcher', 'karma-jasmine-html-reporter')
- config.customLaunchers = browsers['browserStack']
- config.browsers = Object.keys(browsers['browserStack'])
+ config.customLaunchers = browsers.browserStack
+ config.browsers = Object.keys(browsers.browserStack)
reporters.push('BrowserStack', 'kjhtml')
} else if (JQUERY_TEST) {
frameworks.push('detectBrowsers')
watched: false
}
]
-} else if (JQUERY_TEST) {
- frameworks.push('detectBrowsers')
- plugins.push(
- 'karma-chrome-launcher',
- 'karma-firefox-launcher',
- 'karma-detect-browsers'
- )
- config.detectBrowsers = detectBrowsers
- config.files = [
- 'node_modules/jquery/dist/jquery.slim.min.js',
- {
- pattern: 'js/tests/unit/jquery.spec.js',
- watched: false
- }
- ]
} else {
frameworks.push('detectBrowsers')
plugins.push(
config.frameworks = frameworks
config.plugins = plugins
config.reporters = reporters
+
module.exports = karmaConfig => {
config.logLevel = karmaConfig.LOG_ERROR
karmaConfig.set(config)
-const lambdaTunnel = require("@lambdatest/node-tunnel");
-const tunnelInstance = new lambdaTunnel();
+/* eslint-env node */
+/* eslint-disable no-console */
+
+'use strict'
+
+const process = require('node:process')
+const lambdaTunnel = require('@lambdatest/node-tunnel')
+
+const tunnelInstance = new lambdaTunnel() // eslint-disable-line new-cap
const tunnelArguments = {
- user: process.env.LT_USERNAME,
- key: process.env.LT_ACCESS_KEY,
- tunnelName: process.env.LT_TUNNEL_NAME || 'jasmine',
- logFile: "local.log"
-};
+ user: process.env.LT_USERNAME,
+ key: process.env.LT_ACCESS_KEY,
+ tunnelName: process.env.LT_TUNNEL_NAME || 'jasmine',
+ logFile: 'local.log'
+}
-if (process.env.LAMBDATEST == 'true') {
- (async () => {
- try {
- await tunnelInstance.start(tunnelArguments)
- } catch (err) {
- console.log(err.message)
- }
- })()
-}
\ No newline at end of file
+if (process.env.LAMBDATEST === 'true') {
+ // eslint-disable-next-line unicorn/prefer-top-level-await
+ (async () => {
+ try {
+ await tunnelInstance.start(tunnelArguments)
+ } catch (error) {
+ console.log(error.message)
+ }
+ })()
+}