karma.sauce.config.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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_7: {
  54. base: 'SauceLabs',
  55. browserName: 'iphone',
  56. version: '7.0'
  57. },
  58. sl_ios_safari_9: {
  59. base: 'SauceLabs',
  60. browserName: 'iphone',
  61. version: '9.2'
  62. },
  63. sl_android_4_2: {
  64. base: 'SauceLabs',
  65. browserName: 'android',
  66. version: '4.2'
  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. build: process.env.CIRCLE_BUILD_NUM || process.env.SAUCE_BUILD_ID || Date.now()
  88. },
  89. // mobile emulators are really slow
  90. captureTimeout: 300000,
  91. browserNoActivityTimeout: 300000
  92. }))
  93. }