diff --git a/.travis.yml b/.travis.yml
index 9033590..5db6072 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,10 +5,9 @@ env:
   global:
   - secure: eW41gIqOizwO4pTgWnAAbW75AP7F+CK9qfSed/fSh4sJ9HWMIY1YRIaY8gjr+6jV/f7XVHcXuym6ZxgINYSkVKbF1JKxBJNLOXtSgNbVHSic58pYFvUjwxIBI9aPig9uux1+DbnpWqXFDTcACJSevQZE0xwmjdrSkDLgB0G34v8=
   - secure: Y2Av+Gd3z9uQEB36GwdOOuGka0hx0/HeitASEo59z934O8RxnmN9eNTXS7dDT3XtKtwxIyLTOEpS7qlRdWahH28hr/dS4xJj6ao58C+1xMcDs6NAPGmDxUlcJWpcGEsnjmXjQCc3fBioSTdpIBrK/gdvgpNh77UKG74Sk7Z+YGk=
-  - secure: YI+YbTOGf2x4fPMKW+KhJiZWswoXT6xOKGwLfsQsVwmFX1LerJouil5D5iYOQuL4FE3pNaoJSNakIsokJQuGKJMmnPc8rdhMZuBJBk6MRghurE2Xe9qBHfuUBPlfD61nARESm4WDcyMwM0QVYaOKeY6aIpZ91qbUbyc60EEx3C4=
 addons:
   chrome: stable
-  sauce_connect: true
+  firefox: latest
 dist: trusty
 sudo: false
 before_script:
diff --git a/karma.conf.js b/karma.conf.js
index 4a51664..d265b02 100644
--- a/karma.conf.js
+++ b/karma.conf.js
@@ -2,8 +2,30 @@
 // Generated on Sat Aug 05 2017 23:42:26 GMT+0800 (Malay Peninsula Standard Time)
 
 const port = 9876;
-
 module.exports = function(config) {
+    const slLaunchers = (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY) ? {} : {
+        sl_beta_chrome: {
+            base: 'SauceLabs',
+            browserName: 'chrome',
+            platform: 'Windows 10',
+            version: 'beta'
+        },
+        sl_stable_firefox: {
+            base: 'SauceLabs',
+            browserName: 'firefox',
+            platform: 'Windows 10'
+        }
+    };
+
+    const customLaunchers = Object.assign({}, slLaunchers, {
+        stable_chrome: {
+            base: 'Chrome'
+        },
+        stable_firefox: {
+            base: 'Firefox'
+        }
+    });
+
     config.set({
 
         // base path that will be used to resolve all patterns (eg. files, exclude)
@@ -38,8 +60,7 @@ module.exports = function(config) {
         // test results reporter to use
         // possible values: 'dots', 'progress'
         // available reporters: https://npmjs.org/browse/keyword/karma-reporter
-        reporters: ['progress'],
-
+        reporters: ['dots', 'saucelabs'],
 
         // web server port
         port,
@@ -60,37 +81,18 @@ module.exports = function(config) {
 
         // start these browsers
         // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
-        browsers: [
-            'Chrome',
-            'Firefox',
-            'IE9',
-            'IE10',
-            'IE11',
-            'Edge'
-        ],
+        browsers: Object.keys(customLaunchers),
 
 
-        customLaunchers: {
-            IE9: {
-                base: 'IE',
-                'x-ua-compatible': 'IE=EmulateIE9'
-            },
-            IE10: {
-                base: 'IE',
-                'x-ua-compatible': 'IE=EmulateIE10'
-            },
-            IE11: {
-                base: 'IE'
-            }
-        },
+        customLaunchers,
 
         // Continuous Integration mode
         // if true, Karma captures browsers, runs the tests and exits
-        singleRun: false,
+        singleRun: true,
 
         // Concurrency level
         // how many browser should be started simultaneous
-        concurrency: Infinity,
+        concurrency: 5,
 
         proxies: {
             '/dist': `http://localhost:${port}/base/dist`,
@@ -106,6 +108,6 @@ module.exports = function(config) {
             }
         },
 
-        browserNoActivityTimeout: 30000
+        browserNoActivityTimeout: 120000
     })
 };
diff --git a/package.json b/package.json
index 284ebdc..6ec10be 100644
--- a/package.json
+++ b/package.json
@@ -43,6 +43,7 @@
     "karma-firefox-launcher": "1.0.1",
     "karma-ie-launcher": "1.0.0",
     "karma-mocha": "1.3.0",
+    "karma-sauce-launcher": "1.1.0",
     "mocha": "3.5.0",
     "prettier": "1.5.3",
     "promise-polyfill": "6.0.2",
@@ -57,8 +58,8 @@
     "format": "prettier --single-quote --no-bracket-spacing --tab-width 4 --print-width 100 --write \"{src,tests,scripts}/**/*.js\"",
     "flow": "flow",
     "lint": "eslint src/**",
-    "test": "npm run flow && npm run lint && karma start --single-run --browsers Chrome",
-    "karma": "karma start karma.conf.js",
+    "test": "npm run flow && npm run lint && npm run karma",
+    "karma": "karma start --single-run",
     "watch": "webpack --progress --colors --watch"
   },
   "homepage": "https://html2canvas.hertzen.com",