123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- // 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)
- }
|