aboutsummaryrefslogtreecommitdiffstats
path: root/.config/karma.conf.saucelabs.cjs
diff options
context:
space:
mode:
authorUlrich-Matthias Schäfer <ulima.ums@googlemail.com>2023-06-13 01:43:37 +0200
committerUlrich-Matthias Schäfer <ulima.ums@googlemail.com>2023-06-13 01:43:37 +0200
commit03322672782a6318b019eff33fe44ec800d6f12c (patch)
tree9d807e1585cf28a1ea98e87b855932dba00f1880 /.config/karma.conf.saucelabs.cjs
parent8e18b4698edd00f83af0be05bb3374f92fecaeb9 (diff)
downloadsvg.js-03322672782a6318b019eff33fe44ec800d6f12c.tar.gz
svg.js-03322672782a6318b019eff33fe44ec800d6f12c.zip
dependency updates, easier formatting
Diffstat (limited to '.config/karma.conf.saucelabs.cjs')
-rw-r--r--.config/karma.conf.saucelabs.cjs144
1 files changed, 144 insertions, 0 deletions
diff --git a/.config/karma.conf.saucelabs.cjs b/.config/karma.conf.saucelabs.cjs
new file mode 100644
index 0000000..484ebee
--- /dev/null
+++ b/.config/karma.conf.saucelabs.cjs
@@ -0,0 +1,144 @@
+// Karma configuration
+// https://wiki.saucelabs.com/display/DOCS/Platform+Configurator
+
+// TODO: remove dotenv after local test
+// require('dotenv').config()
+
+const karmaCommon = require('./karma.conf.common.cjs')
+
+const SauceLabsLaunchers = {
+ /** Real mobile devices are not available
+ * Your account does not have access to Android devices.
+ * Please contact sales@saucelabs.com to add this feature to your account. */
+ /* sl_android_chrome: {
+ base: 'SauceLabs',
+ appiumVersion: '1.5.3',
+ deviceName: 'Samsung Galaxy S7 Device',
+ deviceOrientation: 'portrait',
+ browserName: 'Chrome',
+ platformVersion: '6.0',
+ platformName: 'Android'
+ }, */
+ /* sl_android: {
+ base: 'SauceLabs',
+ browserName: 'Android',
+ deviceName: 'Android Emulator',
+ deviceOrientation: 'portrait'
+ }, */
+ SL_firefox_latest: {
+ base: 'SauceLabs',
+ browserName: 'firefox',
+ version: 'latest'
+ },
+ SL_chrome_latest: {
+ base: 'SauceLabs',
+ browserName: 'chrome',
+ version: 'latest'
+ },
+ SL_InternetExplorer: {
+ base: 'SauceLabs',
+ browserName: 'internet explorer',
+ version: '11.0'
+ } /*
+ sl_windows_edge: {
+ base: 'SauceLabs',
+ browserName: 'MicrosoftEdge',
+ version: 'latest',
+ platform: 'Windows 10'
+ },
+ sl_macos_safari: {
+ base: 'SauceLabs',
+ browserName: 'safari',
+ platform: 'macOS 10.13',
+ version: '12.0',
+ recordVideo: true,
+ recordScreenshots: true,
+ screenResolution: '1024x768'
+ } */ /*,
+ sl_macos_iphone: {
+ base: 'SauceLabs',
+ browserName: 'Safari',
+ deviceName: 'iPhone SE Simulator',
+ deviceOrientation: 'portrait',
+ platformVersion: '10.2',
+ platformName: 'iOS'
+ }
+ 'SL_Chrome': {
+ base: 'SauceLabs',
+ browserName: 'chrome',
+ version: '48.0',
+ platform: 'Linux'
+ },
+ 'SL_Firefox': {
+ base: 'SauceLabs',
+ browserName: 'firefox',
+ version: '50.0',
+ platform: 'Windows 10'
+ },
+ 'SL_Safari': {
+ base: 'SauceLabs',
+ browserName: 'safari',
+ platform: 'OS X 10.11',
+ version: '10.0'
+ } */
+}
+
+module.exports = function (config) {
+ if (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY) {
+ console.error(
+ 'SAUCE_USERNAME and SAUCE_ACCESS_KEY must be provided as environment variables.'
+ )
+ console.warn('Aborting Sauce Labs test')
+ process.exit(1)
+ }
+ const settings = Object.assign(karmaCommon(config), {
+ // Concurrency level
+ // how many browser should be started simultaneous
+ // Saucelabs allow up to 5 concurrent sessions on the free open source tier.
+ concurrency: 5,
+
+ // this specifies which plugins karma should load
+ // by default all karma plugins, starting with `karma-` will load
+ // so if you are really puzzled why something isn't working, then comment
+ // out plugins: [] - it's here to make karma load faster
+ // get possible karma plugins by `ls node_modules | grep 'karma-*'`
+ plugins: ['karma-jasmine', 'karma-sauce-launcher'],
+
+ // logLevel: config.LOG_DEBUG,
+
+ // test results reporter to use
+ // possible values: 'dots', 'progress'
+ // available reporters: https://npmjs.org/browse/keyword/karma-reporter
+ reporters: ['dots', 'saucelabs'],
+
+ customLaunchers: SauceLabsLaunchers,
+
+ // start these browsers
+ browsers: Object.keys(SauceLabsLaunchers),
+ sauceLabs: {
+ testName: 'SVG.js Unit Tests'
+ // connectOptions: {
+ // noSslBumpDomains: "all"
+ // },
+ // connectOptions: {
+ // port: 5757,
+ // logfile: 'sauce_connect.log'
+ // },
+ }
+
+ // The number of disconnections tolerated.
+ // browserDisconnectTolerance: 0, // well, sometimes it helps to just restart
+ // // How long does Karma wait for a browser to reconnect (in ms).
+ // browserDisconnectTimeout: 10 * 60 * 1000,
+ // // How long will Karma wait for a message from a browser before disconnecting from it (in ms). ~ macOS 10.12 needs more than 7 minutes
+ // browserNoActivityTimeout: 20 * 60 * 1000,
+ // // Timeout for capturing a browser (in ms). On newer versions of iOS simulator (10.0+), the start up time could be between 3 - 6 minutes.
+ // captureTimeout: 12 * 60 * 1000, // this is useful if saucelabs takes a long time to boot a vm
+
+ // // Required to make Safari on Sauce Labs play nice.
+ // // hostname: 'karmalocal.dev'
+ })
+
+ console.log(settings)
+ config.set(settings)
+}