Skip to content

Commit

Permalink
Refactor lambdatest config
Browse files Browse the repository at this point in the history
  • Loading branch information
dfahlander committed Dec 18, 2023
1 parent f7789e3 commit c7269d6
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 75 deletions.
49 changes: 3 additions & 46 deletions test/karma.common.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
const { configureLambdaTest } = require('./karma.lambdatest');

/* Base karma configurations to require and extend from other karma.conf.js
*/
const karmaCommon = {
Expand Down Expand Up @@ -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
Expand Down
105 changes: 76 additions & 29 deletions test/karma.lambdatest.js
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit c7269d6

Please sign in to comment.