karma.sauce.config.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. var base = require('./karma.base.config.js')
  2. /**
  3. * Having too many tests running concurrently on saucelabs
  4. * causes timeouts and errors, so we have to run them in
  5. * smaller batches.
  6. */
  7. var batches = [
  8. // the cool kids
  9. {
  10. sl_chrome: {
  11. base: 'SauceLabs',
  12. browserName: 'chrome',
  13. platform: 'Windows 7'
  14. },
  15. sl_firefox: {
  16. base: 'SauceLabs',
  17. browserName: 'firefox'
  18. },
  19. sl_mac_safari: {
  20. base: 'SauceLabs',
  21. browserName: 'safari',
  22. platform: 'OS X 10.10'
  23. }
  24. },
  25. // ie family
  26. {
  27. sl_ie_9: {
  28. base: 'SauceLabs',
  29. browserName: 'internet explorer',
  30. platform: 'Windows 7',
  31. version: '9'
  32. },
  33. sl_ie_10: {
  34. base: 'SauceLabs',
  35. browserName: 'internet explorer',
  36. platform: 'Windows 8',
  37. version: '10'
  38. },
  39. sl_ie_11: {
  40. base: 'SauceLabs',
  41. browserName: 'internet explorer',
  42. platform: 'Windows 8.1',
  43. version: '11'
  44. },
  45. sl_edge: {
  46. base: 'SauceLabs',
  47. browserName: 'MicrosoftEdge',
  48. platform: 'Windows 10'
  49. }
  50. },
  51. // mobile
  52. {
  53. sl_ios_safari_8: {
  54. base: 'SauceLabs',
  55. browserName: 'iphone',
  56. version: '8.4'
  57. },
  58. sl_ios_safari_9: {
  59. base: 'SauceLabs',
  60. browserName: 'iphone',
  61. version: '9.3'
  62. },
  63. sl_android_4_4: {
  64. base: 'SauceLabs',
  65. browserName: 'android',
  66. version: '4.4'
  67. },
  68. sl_android_5_1: {
  69. base: 'SauceLabs',
  70. browserName: 'android',
  71. version: '5.1'
  72. }
  73. }
  74. ]
  75. module.exports = function (config) {
  76. var batch = batches[process.argv[4] || 0]
  77. config.set(Object.assign(base, {
  78. singleRun: true,
  79. browsers: Object.keys(batch),
  80. customLaunchers: batch,
  81. reporters: process.env.CI
  82. ? ['dots', 'saucelabs'] // avoid spamming CI output
  83. : ['progress', 'saucelabs'],
  84. sauceLabs: {
  85. testName: 'Vue.js unit tests',
  86. recordScreenshots: false,
  87. connectOptions: {
  88. 'no-ssl-bump-domains': 'all' // Ignore SSL error on Android emulator
  89. },
  90. build: process.env.CIRCLE_BUILD_NUM || process.env.SAUCE_BUILD_ID || Date.now()
  91. },
  92. // mobile emulators are really slow
  93. captureTimeout: 300000,
  94. browserNoActivityTimeout: 300000
  95. }))
  96. }