karma.conf.sauce.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /**
  2. * @file karma配置
  3. * @author fe.xiaowu@gmail.com
  4. */
  5. var base = require('./karma.conf.base.js');
  6. var customLaunchers = {
  7. // Safari
  8. sl_ios_safari: {
  9. base: 'SauceLabs',
  10. browserName: 'Safari'
  11. },
  12. // 安卓浏览器
  13. sl_android_4_4: {
  14. base: 'SauceLabs',
  15. browserName: 'android',
  16. version: '4.4'
  17. },
  18. sl_android_5: {
  19. base: 'SauceLabs',
  20. browserName: 'android',
  21. version: '5'
  22. },
  23. sl_android_6: {
  24. base: 'SauceLabs',
  25. browserName: 'android',
  26. version: '6'
  27. },
  28. // chrome
  29. sl_ios_chrome: {
  30. base: 'SauceLabs',
  31. browserName: 'chrome'
  32. },
  33. // sl_ie_8: {
  34. // base: 'SauceLabs',
  35. // browserName: 'internet explorer',
  36. // version: '8'
  37. // },
  38. sl_ie_9: {
  39. base: 'SauceLabs',
  40. browserName: 'internet explorer',
  41. platform: 'Windows 7',
  42. version: '9'
  43. },
  44. sl_ie_10: {
  45. base: 'SauceLabs',
  46. browserName: 'internet explorer',
  47. platform: 'Windows 8',
  48. version: '10'
  49. },
  50. sl_ie_11: {
  51. base: 'SauceLabs',
  52. browserName: 'internet explorer',
  53. platform: 'Windows 8.1',
  54. version: '11'
  55. },
  56. sl_firefox: {
  57. base: 'SauceLabs',
  58. browserName: 'firefox',
  59. platform: 'Windows 7'
  60. }
  61. };
  62. // 不支持本地运行
  63. if (!process.env.TRAVIS) {
  64. console.error('不支持本地运行, 请使用 npm run test!');
  65. process.exit(1);
  66. }
  67. // 变量检查
  68. if (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY) {
  69. console.error('---------------');
  70. console.error('Make sure the SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables are set.');
  71. console.error('---------------');
  72. process.exit(1);
  73. }
  74. module.exports = function (config) {
  75. var options = Object.assign(base(config), {
  76. reporters: ['mocha', 'saucelabs'],
  77. sauceLabs: {
  78. 'testName': 'layui',
  79. 'recordVideo': false,
  80. 'recordScreenshots': false,
  81. 'startConnect': false,
  82. 'connectOptions': {
  83. 'no-ssl-bump-domains': 'all'
  84. },
  85. 'public': 'public',
  86. 'build': 'layui-build-' + process.env.TRAVIS_BUILD_NUMBER,
  87. 'tunnelIdentifier': process.env.TRAVIS_JOB_NUMBER
  88. },
  89. customLaunchers: customLaunchers,
  90. browsers: Object.keys(customLaunchers),
  91. captureTimeout: 1000 * 60 * 5,
  92. browserNoActivityTimeout: 1000 * 60 * 5
  93. });
  94. config.set(options);
  95. };