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:
parent
0e37a3f83a
commit
d2e8461883
43
.travis.yml
43
.travis.yml
|
|
@ -7,17 +7,17 @@ node_js:
|
||||||
- lts/*
|
- lts/*
|
||||||
env:
|
env:
|
||||||
matrix:
|
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.
|
# FIXME Skip tests in Linux since Sauce Labs browser versions are ancient.
|
||||||
# - TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='Linux'
|
# - USE_SAUCE=1 TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='Linux'
|
||||||
- TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='OS X 10.11'
|
- USE_SAUCE=1 TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='OS X 10.11'
|
||||||
- TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Windows 10'
|
- USE_SAUCE=1 TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Windows 10'
|
||||||
# - TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Linux'
|
# - USE_SAUCE=1 TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Linux'
|
||||||
- TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='OS X 10.11'
|
- USE_SAUCE=1 TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='OS X 10.11'
|
||||||
- TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 10'
|
- USE_SAUCE=1 TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 10'
|
||||||
- TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 7'
|
- USE_SAUCE=1 TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 7'
|
||||||
- TEST_BROWSER_NAME=microsoftedge TEST_BROWSER_OS='Windows 10'
|
- USE_SAUCE=1 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=safari TEST_BROWSER_OS='OS X 10.13'
|
||||||
before_script: npm install -g karma-cli
|
before_script: npm install -g karma-cli
|
||||||
addons:
|
addons:
|
||||||
sauce_connect:
|
sauce_connect:
|
||||||
|
|
@ -41,6 +41,29 @@ jobs:
|
||||||
addons:
|
addons:
|
||||||
before_script:
|
before_script:
|
||||||
script: git ls-tree --name-only -r HEAD | grep -E "[.](html|css)$" | xargs ./utils/validate
|
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
|
- stage: deploy
|
||||||
env:
|
env:
|
||||||
addons:
|
addons:
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,11 @@ module.exports = (config) => {
|
||||||
let browsers = [];
|
let browsers = [];
|
||||||
let useSauce = false;
|
let useSauce = false;
|
||||||
|
|
||||||
// use Sauce when running on Travis
|
if (process.env.USE_SAUCE) {
|
||||||
if (process.env.TRAVIS_JOB_NUMBER) {
|
|
||||||
useSauce = true;
|
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 names = process.env.TEST_BROWSER_NAME.split(',');
|
||||||
const platforms = process.env.TEST_BROWSER_OS.split(',');
|
const platforms = process.env.TEST_BROWSER_OS.split(',');
|
||||||
const versions = process.env.TEST_BROWSER_VERSION
|
const versions = process.env.TEST_BROWSER_VERSION
|
||||||
|
|
@ -40,9 +39,9 @@ module.exports = (config) => {
|
||||||
|
|
||||||
browsers = Object.keys(customLaunchers);
|
browsers = Object.keys(customLaunchers);
|
||||||
} else {
|
} else {
|
||||||
useSauce = false;
|
if (process.env.TEST_BROWSER_NAME) {
|
||||||
//browsers = ['PhantomJS'];
|
browsers = process.env.TEST_BROWSER_NAME.split(',');
|
||||||
browsers = [];
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const my_conf = {
|
const my_conf = {
|
||||||
|
|
|
||||||
|
|
@ -60,8 +60,11 @@
|
||||||
"jsdom": "*",
|
"jsdom": "*",
|
||||||
"karma": "*",
|
"karma": "*",
|
||||||
"karma-mocha": "*",
|
"karma-mocha": "*",
|
||||||
|
"karma-chrome-launcher": "*",
|
||||||
|
"karma-firefox-launcher": "*",
|
||||||
"karma-mocha-reporter": "*",
|
"karma-mocha-reporter": "*",
|
||||||
"karma-sauce-launcher": "*",
|
"karma-sauce-launcher": "*",
|
||||||
|
"karma-safari-launcher": "*",
|
||||||
"karma-sinon-chai": "*",
|
"karma-sinon-chai": "*",
|
||||||
"mocha": "*",
|
"mocha": "*",
|
||||||
"node-getopt": "*",
|
"node-getopt": "*",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue