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 - ubuntu-latest
- windows-latest - windows-latest
browser: browser:
- ChromeHeadless - chrome
- FirefoxHeadless - firefox
include: include:
- os: macos-latest - os: macos-latest
browser: Safari browser: safari
- os: windows-latest - os: windows-latest
browser: EdgeHeadless browser: edge
fail-fast: false fail-fast: false
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:

View File

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

View File

@ -1,11 +1,74 @@
import { defaultReporter } from '@web/test-runner'; import { defaultReporter } from '@web/test-runner';
import { summaryReporter } 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 { export default {
nodeResolve: true, nodeResolve: true,
files: [ files: [
'tests/test.*.js', 'tests/test.*.js',
], ],
browsers: launchers,
reporters: [ reporters: [
defaultReporter(), defaultReporter(),
summaryReporter(), summaryReporter(),