diff --git a/src/commands/test/util/browser-tests-runner/setup.js b/src/commands/test/util/browser-tests-runner/setup.js
index <HASH>..<HASH> 100644
--- a/src/commands/test/util/browser-tests-runner/setup.js
+++ b/src/commands/test/util/browser-tests-runner/setup.js
@@ -9,12 +9,23 @@ window.mocha.reporter('html');
 
 require('chai').config.includeStack = true;
 
+function _isPromise(obj) {
+    return (obj && obj.then && (typeof obj.then === 'function'));
+}
+
 function runTest(it, name, handler, context) {
     if(handler.length <= 1) {
         it(name, function() {
             context.name = name;
-            handler.call(this, context);
-            context._afterTest();
+            var testFunction = handler.call(this, context);
+            if (_isPromise(testFunction)) {
+                testFunction.then(function () {
+                    context._afterTest();
+                });
+                return testFunction;
+            } else {
+                context._afterTest();
+            }
         });
     } else if(handler.length >= 2) {
         it(name, function(done) {
Add support for promises when testing in the browser