TEMP: test on all browsers

This commit is contained in:
Pierre Ossman 2024-08-05 13:40:36 +02:00
parent 88e95cba63
commit edb5dde6a7
3 changed files with 69 additions and 5 deletions

View File

@ -10,13 +10,13 @@ jobs:
- ubuntu-latest
- windows-latest
browser:
- ChromeHeadless
- FirefoxHeadless
- chrome
- firefox
include:
- os: macos-latest
browser: Safari
browser: safari
- os: windows-latest
browser: EdgeHeadless
browser: edge
fail-fast: false
runs-on: ${{ matrix.os }}
steps:

View File

@ -51,7 +51,8 @@
"po2json": "latest",
"sinon": "latest",
"sinon-chai": "latest",
"@web/test-runner": "latest"
"@web/test-runner": "latest",
"@web/test-runner-webdriver": "latest"
},
"keywords": [
"vnc",

View File

@ -1,11 +1,74 @@
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(),