Test browsers directly on Travis

Travis provides some browsers at least, so let's test those directly
without having to go through Sauce Labs.
This commit is contained in:
Pierre Ossman 2020-06-03 19:22:21 +02:00
parent 0e37a3f83a
commit d2e8461883
3 changed files with 41 additions and 16 deletions

View File

@ -7,17 +7,17 @@ node_js:
- lts/*
env:
matrix:
- TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='Windows 10'
- USE_SAUCE=1 TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='Windows 10'
# FIXME Skip tests in Linux since Sauce Labs browser versions are ancient.
# - TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='Linux'
- TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='OS X 10.11'
- TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Windows 10'
# - TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Linux'
- TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='OS X 10.11'
- TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 10'
- TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 7'
- TEST_BROWSER_NAME=microsoftedge TEST_BROWSER_OS='Windows 10'
- TEST_BROWSER_NAME=safari TEST_BROWSER_OS='OS X 10.13'
# - USE_SAUCE=1 TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='Linux'
- USE_SAUCE=1 TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='OS X 10.11'
- USE_SAUCE=1 TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Windows 10'
# - USE_SAUCE=1 TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Linux'
- USE_SAUCE=1 TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='OS X 10.11'
- USE_SAUCE=1 TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 10'
- USE_SAUCE=1 TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 7'
- USE_SAUCE=1 TEST_BROWSER_NAME=microsoftedge TEST_BROWSER_OS='Windows 10'
- USE_SAUCE=1 TEST_BROWSER_NAME=safari TEST_BROWSER_OS='OS X 10.13'
before_script: npm install -g karma-cli
addons:
sauce_connect:
@ -41,6 +41,29 @@ jobs:
addons:
before_script:
script: git ls-tree --name-only -r HEAD | grep -E "[.](html|css)$" | xargs ./utils/validate
- stage: test
env:
- TEST_BROWSER_NAME=FirefoxHeadless
addons:
sauce_connect: false
before_script:
script: npm run test
-
env:
- TEST_BROWSER_NAME=ChromeHeadless
addons:
sauce_connect: false
chrome: stable
before_script:
script: npm run test
-
os: osx
env:
- TEST_BROWSER_NAME=Safari
addons:
sauce_connect: false
before_script:
script: npm run test
- stage: deploy
env:
addons:

View File

@ -5,12 +5,11 @@ module.exports = (config) => {
let browsers = [];
let useSauce = false;
// use Sauce when running on Travis
if (process.env.TRAVIS_JOB_NUMBER) {
if (process.env.USE_SAUCE) {
useSauce = true;
}
if (useSauce && process.env.TEST_BROWSER_NAME && process.env.TEST_BROWSER_NAME != 'PhantomJS') {
if (useSauce) {
const names = process.env.TEST_BROWSER_NAME.split(',');
const platforms = process.env.TEST_BROWSER_OS.split(',');
const versions = process.env.TEST_BROWSER_VERSION
@ -40,9 +39,9 @@ module.exports = (config) => {
browsers = Object.keys(customLaunchers);
} else {
useSauce = false;
//browsers = ['PhantomJS'];
browsers = [];
if (process.env.TEST_BROWSER_NAME) {
browsers = process.env.TEST_BROWSER_NAME.split(',');
}
}
const my_conf = {

View File

@ -60,8 +60,11 @@
"jsdom": "*",
"karma": "*",
"karma-mocha": "*",
"karma-chrome-launcher": "*",
"karma-firefox-launcher": "*",
"karma-mocha-reporter": "*",
"karma-sauce-launcher": "*",
"karma-safari-launcher": "*",
"karma-sinon-chai": "*",
"mocha": "*",
"node-getopt": "*",