123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- 'use strict';
- var fs = require('fs');
- module.exports = function(config) {
- // Use ENV vars on Travis and sauce.json locally to get credentials
- if (!process.env.SAUCE_USERNAME) {
- if (!fs.existsSync('sauce.json')) {
- console.log('Create a sauce.json with your credentials based on the sauce-sample.json file.');
- process.exit(1);
- } else {
- process.env.SAUCE_USERNAME = require('./sauce').username;
- process.env.SAUCE_ACCESS_KEY = require('./sauce').accessKey;
- }
- }
- // Browsers to run on Sauce Labs
- var customLaunchers = {
- 'SL_Chrome_27': {
- base: 'SauceLabs',
- browserName: 'chrome',
- version: '27'
- },
- 'SL_Chrome': {
- base: 'SauceLabs',
- browserName: 'chrome'
- },
- 'SL_InternetExplorer_10': {
- base: 'SauceLabs',
- browserName: 'internet explorer',
- version: '10'
- },
- 'SL_InternetExplorer': {
- base: 'SauceLabs',
- browserName: 'internet explorer'
- },
- 'SL_MicrosoftEdge': {
- base: 'SauceLabs',
- browserName: 'MicrosoftEdge'
- },
- 'SL_FireFox_17': {
- base: 'SauceLabs',
- browserName: 'firefox',
- version: '17'
- },
- 'SL_FireFox': {
- base: 'SauceLabs',
- browserName: 'firefox'
- },
- 'SL_Safari_7': {
- base: 'SauceLabs',
- browserName: 'safari',
- version: '7'
- },
- 'SL_Safari': {
- base: 'SauceLabs',
- browserName: 'safari'
- },
- 'SL_iPhone_8': {
- base: 'SauceLabs',
- browserName: 'iphone',
- version: '8.4'
- },
- 'SL_iPhone': {
- base: 'SauceLabs',
- browserName: 'iphone'
- },
- 'SL_Android': {
- base: 'SauceLabs',
- browserName: 'android'
- }
- };
- config.set({
- // base path that will be used to resolve all patterns (eg. files, exclude)
- basePath: '',
- // frameworks to use
- // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
- frameworks: ['mocha'],
- // list of files / patterns to load in the browser
- files: [
- 'dist/ajv.min.js',
- 'node_modules/chai/chai.js',
- 'node_modules/ajv-async/dist/ajv-async.min.js',
- 'node_modules/bluebird/js/browser/bluebird.core.min.js',
- '.browser/*.spec.js'
- ],
- // test results reporter to use
- // possible values: 'dots', 'progress'
- // available reporters: https://npmjs.org/browse/keyword/karma-reporter
- reporters: ['dots', 'saucelabs'],
- // web server port
- port: 9876,
- colors: true,
- // level of logging
- // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
- logLevel: config.LOG_INFO,
- sauceLabs: {
- testName: 'Ajv',
- 'idleTimeout': 900
- },
- captureTimeout: 1200000,
- browserNoActivityTimeout: 600000,
- browserDisconnectTimeout: 60000,
- customLaunchers: customLaunchers,
- // start these browsers
- // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
- browsers: Object.keys(customLaunchers),
- singleRun: true
- });
- };
|