karma.conf.ci.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. module.exports = function(config) {
  2. if (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY) {
  3. console.log('Make sure the SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables are set.');
  4. process.exit(1);
  5. }
  6. // Check out https://saucelabs.com/platforms for all browser/platform combos
  7. var customLaunchers = {
  8. slIOS8: {
  9. base: 'SauceLabs',
  10. browserName: 'iPhone',
  11. platform: 'OS X 10.10',
  12. version: '8.4'
  13. },
  14. slIOS9: {
  15. base: 'SauceLabs',
  16. browserName: 'iPhone',
  17. platform: 'OS X 10.11',
  18. version: '9.2'
  19. },
  20. // *Sigh* Cannot get this working with appium or selenium...
  21. // slIOS10: {
  22. // base: 'SauceLabs',
  23. // browserName: 'iPhone',
  24. // platform: 'macOS 10.12',
  25. // version: '10.2'
  26. // },
  27. slAndroid4: {
  28. base: 'SauceLabs',
  29. browserName: 'Android',
  30. platform: 'Linux',
  31. version: '4.4'
  32. },
  33. slAndroid5: {
  34. base: 'SauceLabs',
  35. browserName: 'Android',
  36. platform: 'Linux',
  37. version: '5.1'
  38. },
  39. slAndroid6: {
  40. base: 'SauceLabs',
  41. browserName: 'Android',
  42. platform: 'Linux',
  43. version: '6.0'
  44. },
  45. slChrome: {
  46. base: 'SauceLabs',
  47. browserName: 'chrome',
  48. version: 'latest'
  49. },
  50. slChromeBeta: {
  51. base: 'SauceLabs',
  52. browserName: 'chrome',
  53. version: 'beta'
  54. },
  55. slFirefox: {
  56. base: 'SauceLabs',
  57. browserName: 'firefox',
  58. version: 'latest'
  59. },
  60. slFirefoxBeta: {
  61. base: 'SauceLabs',
  62. browserName: 'firefox',
  63. version: 'beta'
  64. },
  65. slSafari8: {
  66. base: 'SauceLabs',
  67. browserName: 'safari',
  68. platform: 'OS X 10.10',
  69. version: '8.0'
  70. },
  71. slSafari9: {
  72. base: 'SauceLabs',
  73. browserName: 'safari',
  74. platform: 'OS X 10.11',
  75. version: '9.0'
  76. },
  77. slSafari10: {
  78. base: 'SauceLabs',
  79. browserName: 'safari',
  80. platform: 'macOS 10.12',
  81. version: '10.0'
  82. },
  83. slOpera: {
  84. base: 'SauceLabs',
  85. browserName: 'opera'
  86. },
  87. slEdge14: {
  88. base: 'SauceLabs',
  89. browserName: 'microsoftedge',
  90. platform: 'Windows 10',
  91. version: '14.14393'
  92. },
  93. slEdge13: {
  94. base: 'SauceLabs',
  95. browserName: 'microsoftedge',
  96. platform: 'Windows 10',
  97. version: '13.10586'
  98. },
  99. slIE11: {
  100. base: 'SauceLabs',
  101. browserName: 'internet explorer',
  102. platform: 'Windows 8.1',
  103. version: '11'
  104. },
  105. slIE10: {
  106. base: 'SauceLabs',
  107. browserName: 'internet explorer',
  108. platform: 'Windows 8',
  109. version: '10'
  110. },
  111. slIE9: {
  112. base: 'SauceLabs',
  113. browserName: 'internet explorer',
  114. platform: 'Windows 7',
  115. version: '9.0'
  116. }
  117. // Too unreliable on Sauce :(
  118. // slIE8: {
  119. // base: 'SauceLabs',
  120. // browserName: 'internet explorer',
  121. // platform: 'Windows XP',
  122. // version: '8.0'
  123. // }
  124. //slIE7: {
  125. // base: 'SauceLabs',
  126. // browserName: 'internet explorer',
  127. // platform: 'Windows XP',
  128. // version: '7'
  129. //}
  130. };
  131. config.set({
  132. basePath: '',
  133. frameworks: ['jasmine'],
  134. files: [
  135. 'stackframe.js',
  136. 'spec/*-spec.js'
  137. ],
  138. exclude: [],
  139. port: 9876,
  140. colors: false,
  141. logLevel: config.LOG_INFO,
  142. autoWatch: false,
  143. browserDisconnectTimeout: 10000,
  144. browserDisconnectTolerance: 1,
  145. browserNoActivityTimeout: 240000,
  146. captureTimeout: 240000,
  147. sauceLabs: {
  148. testName: 'stackframe unit tests',
  149. recordScreenshots: false,
  150. connectOptions: {
  151. port: 5757,
  152. logfile: 'sauce_connect.log'
  153. }
  154. },
  155. customLaunchers: customLaunchers,
  156. browsers: Object.keys(customLaunchers),
  157. reporters: ['dots', 'saucelabs', 'coverage'],
  158. preprocessors: {
  159. 'stackframe.js': 'coverage'
  160. },
  161. coverageReporter: {
  162. type: 'lcov',
  163. dir: 'coverage'
  164. },
  165. singleRun: true
  166. });
  167. };