Add saucelabs browser testing to travis

This commit is contained in:
Slava Bacherikov committed 2018-01-27 19:57:41 +02:00
1 parent a605c675e7
commit db8cd4d5ec
3 files changed
+89 -22

No files matched your search

+10 -13
View File
@@ -1,25 +1,22 @@
sudo: false sudo: false
language: node_js language: node_js
node_js: node_js:
- "5" - '6'
- "6" env:
- "7" matrix:
- "8" - SAUCE=true
- "node" global:
secure: fj2CF7TO1mpoM/Ft1wSIpGapoA+hqXLpUVe2iZXsGgeKVONAyh5k+s1cd9h/xGlnOmW5HyyN1M8YiTTWEjdT1yLwLYiL+cUdcW+BZBZWLN84lbjQimmDvB84ukMAdBeGz6XgSdmMYLFjZoh89qC3D0lukLZV0RdJOR8SmntwuRg=
addons: addons:
chrome: stable chrome: stable
firefox: latest firefox: latest
script: script:
- npm test - npm test
- npm run lint - npm run browser-test
- npm run browser-test - npm run lint
git: git:
depth: 1 depth: 1
submodules: false submodules: false
cache: cache:
directories: directories:
- "node_modules" - node_modules
+77 -8
View File
@@ -1,4 +1,56 @@
module.exports = function(config) { module.exports = function(config) {
var customLaunchers = {
sl_ie_9: {
base: "SauceLabs",
browserName: "internet explorer",
platform: "Windows 7",
version: "9"
},
sl_safari_7: {
base: "SauceLabs",
browserName: "safari",
platform: "OS X 10.9",
version: "7.0"
},
sl_ios_safari: {
base: 'SauceLabs',
browserName: 'iphone',
platform: 'OS X 10.9',
version: '8.1'
},
sl_android: {
base: "SauceLabs",
browserName: 'Browser',
patform: 'Android',
version: '4.4',
deviceName: 'Android Emulator',
deviceOrientation: 'portrait'
},
sl_chrome_41: {
base: "SauceLabs",
browserName: 'chrome',
platform: 'Linux',
version: '41.0'
},
sl_firefox_8: {
base: "SauceLabs",
browserName: 'firefox',
platform: 'Linux',
version: '8.0'
},
sl_edge_13: {
base: "SauceLabs",
browserName: 'MicrosoftEdge',
platform: 'Windows 10',
version: '13.10586'
},
ChromeHeadlessTravis: {
base: "ChromeHeadless",
flags: ['--no-sandbox']
}
};
var configuration = { var configuration = {
frameworks: ["jasmine"], frameworks: ["jasmine"],
files: [ files: [
@@ -28,19 +80,22 @@ module.exports = function(config) {
mime: { mime: {
'text/x-typescript': ['ts', 'tsx'] 'text/x-typescript': ['ts', 'tsx']
}, },
reporters: ["progress"], sauceLabs: {
browsers: ["ChromeHeadless", "FirefoxHeadless"], testName: "Bios-pw Unit tests",
customLaunchers: { retryLimit: 2,
ChromeHeadlessTravis: { recordVideo: false,
base: "ChromeHeadless", recordScreenshots: false
flags: ['--no-sandbox']
}
}, },
concurrency: 8, reporters: ["progress", "saucelabs"],
browsers: ["ChromeHeadless", "FirefoxHeadless"],
customLaunchers: customLaunchers,
singleRun: true,
concurrency: 2,
plugins: [ plugins: [
'karma-jasmine', 'karma-jasmine',
'karma-chrome-launcher', 'karma-chrome-launcher',
'karma-firefox-launcher', 'karma-firefox-launcher',
'karma-sauce-launcher',
'karma-webpack', 'karma-webpack',
'karma-sourcemap-loader' 'karma-sourcemap-loader'
] ]
@@ -50,5 +105,19 @@ module.exports = function(config) {
configuration.browsers = ['ChromeHeadlessTravis', 'FirefoxHeadless']; configuration.browsers = ['ChromeHeadlessTravis', 'FirefoxHeadless'];
} }
if (process.env.SAUCE) {
var currentBrowsers = configuration.browsers;
var sauceBrowsers = Object.keys(customLaunchers).filter((s) => s.startsWith('sl_'));
configuration.browsers = currentBrowsers.concat(sauceBrowsers);
if (process.env.TRAVIS) {
var buildNumber = process.env.TRAVIS_BUILD_NUMBER;
var travisBuildId = process.env.TRAVIS_BUILD_ID;
var buildId = `TRAVIS ${buildNumber} (${travisBuildId})`;
configuration.sauceLabs.build = buildId;
configuration.sauceLabs.tunnelIdentifier = process.env.TRAVIS_JOB_NUMBER;
}
}
config.set(configuration); config.set(configuration);
} }
+2 -1
View File
@@ -19,6 +19,7 @@
"karma-jasmine": "^1.1.1", "karma-jasmine": "^1.1.1",
"karma-chrome-launcher": "^2.2.0", "karma-chrome-launcher": "^2.2.0",
"karma-firefox-launcher": "^1.1.0", "karma-firefox-launcher": "^1.1.0",
"karma-sauce-launcher": "^1.2.0",
"karma-webpack": "^2.0.9", "karma-webpack": "^2.0.9",
"karma-sourcemap-loader": "^0.3.7", "karma-sourcemap-loader": "^0.3.7",
"ts-loader": "^3.3.1" "ts-loader": "^3.3.1"
@@ -26,7 +27,7 @@
"scripts": { "scripts": {
"test": "gulp test", "test": "gulp test",
"lint": "gulp lint", "lint": "gulp lint",
"browser-test": "karma start --single-run" "browser-test": "karma start"
}, },
"repository": { "repository": {
"type": "git", "type": "git",