noVNC/web-test-runner.config.mjs

78 lines
2.0 KiB
JavaScript

import { defaultReporter } from '@web/test-runner';
import { summaryReporter } from '@web/test-runner';
import { webdriverLauncher } from '@web/test-runner-webdriver';
let browsers;
let launchers;
if (process.env.TEST_BROWSER_NAME) {
browsers = process.env.TEST_BROWSER_NAME.split(',');
} else {
browsers = ['chrome', 'firefox'];
if (process.platform === 'win32') {
browsers.push('edge');
}
if (process.platform === 'darwin') {
browsers.push('safari');
}
}
launchers = [];
for (let browser of browsers) {
switch (browser) {
case 'chrome':
launchers.push(webdriverLauncher({
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
args: ['headless', 'disable-gpu']
},
},
}));
break;
case 'firefox':
launchers.push(webdriverLauncher({
capabilities: {
browserName: 'firefox',
'moz:firefoxOptions': {
args: ['-headless']
}
},
}));
break;
case 'edge':
launchers.push(webdriverLauncher({
capabilities: {
browserName: 'edge',
'ms:edgeOptions': {
args: ['--headless']
}
},
}));
break;
case 'safari':
launchers.push(webdriverLauncher({
capabilities: {
browserName: 'safari',
},
}));
break;
default:
throw new Error('Unknown browser: ' + browser);
}
}
export default {
nodeResolve: true,
files: [
'tests/test.*.js',
],
browsers: launchers,
reporters: [
defaultReporter(),
summaryReporter(),
],
// We have small test files, so let's kill hangs quickly
testsFinishTimeout: 10000,
};