Add saucelabs to karma runner

This commit is contained in:
Niklas von Hertzen 2017-08-12 13:46:02 +08:00
parent c9fb5d5026
commit 068480f606
3 changed files with 33 additions and 31 deletions

View File

@ -5,10 +5,9 @@ env:
global: global:
- secure: eW41gIqOizwO4pTgWnAAbW75AP7F+CK9qfSed/fSh4sJ9HWMIY1YRIaY8gjr+6jV/f7XVHcXuym6ZxgINYSkVKbF1JKxBJNLOXtSgNbVHSic58pYFvUjwxIBI9aPig9uux1+DbnpWqXFDTcACJSevQZE0xwmjdrSkDLgB0G34v8= - secure: eW41gIqOizwO4pTgWnAAbW75AP7F+CK9qfSed/fSh4sJ9HWMIY1YRIaY8gjr+6jV/f7XVHcXuym6ZxgINYSkVKbF1JKxBJNLOXtSgNbVHSic58pYFvUjwxIBI9aPig9uux1+DbnpWqXFDTcACJSevQZE0xwmjdrSkDLgB0G34v8=
- secure: Y2Av+Gd3z9uQEB36GwdOOuGka0hx0/HeitASEo59z934O8RxnmN9eNTXS7dDT3XtKtwxIyLTOEpS7qlRdWahH28hr/dS4xJj6ao58C+1xMcDs6NAPGmDxUlcJWpcGEsnjmXjQCc3fBioSTdpIBrK/gdvgpNh77UKG74Sk7Z+YGk= - secure: Y2Av+Gd3z9uQEB36GwdOOuGka0hx0/HeitASEo59z934O8RxnmN9eNTXS7dDT3XtKtwxIyLTOEpS7qlRdWahH28hr/dS4xJj6ao58C+1xMcDs6NAPGmDxUlcJWpcGEsnjmXjQCc3fBioSTdpIBrK/gdvgpNh77UKG74Sk7Z+YGk=
- secure: YI+YbTOGf2x4fPMKW+KhJiZWswoXT6xOKGwLfsQsVwmFX1LerJouil5D5iYOQuL4FE3pNaoJSNakIsokJQuGKJMmnPc8rdhMZuBJBk6MRghurE2Xe9qBHfuUBPlfD61nARESm4WDcyMwM0QVYaOKeY6aIpZ91qbUbyc60EEx3C4=
addons: addons:
chrome: stable chrome: stable
sauce_connect: true firefox: latest
dist: trusty dist: trusty
sudo: false sudo: false
before_script: before_script:

View File

@ -2,8 +2,30 @@
// Generated on Sat Aug 05 2017 23:42:26 GMT+0800 (Malay Peninsula Standard Time) // Generated on Sat Aug 05 2017 23:42:26 GMT+0800 (Malay Peninsula Standard Time)
const port = 9876; const port = 9876;
module.exports = function(config) { module.exports = function(config) {
const slLaunchers = (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY) ? {} : {
sl_beta_chrome: {
base: 'SauceLabs',
browserName: 'chrome',
platform: 'Windows 10',
version: 'beta'
},
sl_stable_firefox: {
base: 'SauceLabs',
browserName: 'firefox',
platform: 'Windows 10'
}
};
const customLaunchers = Object.assign({}, slLaunchers, {
stable_chrome: {
base: 'Chrome'
},
stable_firefox: {
base: 'Firefox'
}
});
config.set({ config.set({
// base path that will be used to resolve all patterns (eg. files, exclude) // base path that will be used to resolve all patterns (eg. files, exclude)
@ -38,8 +60,7 @@ module.exports = function(config) {
// test results reporter to use // test results reporter to use
// possible values: 'dots', 'progress' // possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter // available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress'], reporters: ['dots', 'saucelabs'],
// web server port // web server port
port, port,
@ -60,37 +81,18 @@ module.exports = function(config) {
// start these browsers // start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: [ browsers: Object.keys(customLaunchers),
'Chrome',
'Firefox',
'IE9',
'IE10',
'IE11',
'Edge'
],
customLaunchers: { customLaunchers,
IE9: {
base: 'IE',
'x-ua-compatible': 'IE=EmulateIE9'
},
IE10: {
base: 'IE',
'x-ua-compatible': 'IE=EmulateIE10'
},
IE11: {
base: 'IE'
}
},
// Continuous Integration mode // Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits // if true, Karma captures browsers, runs the tests and exits
singleRun: false, singleRun: true,
// Concurrency level // Concurrency level
// how many browser should be started simultaneous // how many browser should be started simultaneous
concurrency: Infinity, concurrency: 5,
proxies: { proxies: {
'/dist': `http://localhost:${port}/base/dist`, '/dist': `http://localhost:${port}/base/dist`,
@ -106,6 +108,6 @@ module.exports = function(config) {
} }
}, },
browserNoActivityTimeout: 30000 browserNoActivityTimeout: 120000
}) })
}; };

View File

@ -43,6 +43,7 @@
"karma-firefox-launcher": "1.0.1", "karma-firefox-launcher": "1.0.1",
"karma-ie-launcher": "1.0.0", "karma-ie-launcher": "1.0.0",
"karma-mocha": "1.3.0", "karma-mocha": "1.3.0",
"karma-sauce-launcher": "1.1.0",
"mocha": "3.5.0", "mocha": "3.5.0",
"prettier": "1.5.3", "prettier": "1.5.3",
"promise-polyfill": "6.0.2", "promise-polyfill": "6.0.2",
@ -57,8 +58,8 @@
"format": "prettier --single-quote --no-bracket-spacing --tab-width 4 --print-width 100 --write \"{src,tests,scripts}/**/*.js\"", "format": "prettier --single-quote --no-bracket-spacing --tab-width 4 --print-width 100 --write \"{src,tests,scripts}/**/*.js\"",
"flow": "flow", "flow": "flow",
"lint": "eslint src/**", "lint": "eslint src/**",
"test": "npm run flow && npm run lint && karma start --single-run --browsers Chrome", "test": "npm run flow && npm run lint && npm run karma",
"karma": "karma start karma.conf.js", "karma": "karma start --single-run",
"watch": "webpack --progress --colors --watch" "watch": "webpack --progress --colors --watch"
}, },
"homepage": "https://html2canvas.hertzen.com", "homepage": "https://html2canvas.hertzen.com",