2016-05-27 8 views
4

私はe2eテストに分度器を使用します。そして、私は特定のエラーの後でテストの実行を止めようとします(すべてではなく、最初のエラーの後(高速失敗のような)だけでなく)。 私は約束、プロセスなどを使用しようとしました。 私は:process.exit(1)を書くと動作しますが、それ以降のすべての仕様は起動しません。 多分、私は現在の仕様(特定のエラーの後に説明するステップ)を止める方法を知っていますか?特定のエラーの後で仕様を停止します

waitReady = function(opt_optStr) { 
    var self = this; 
    var driverWaitIterations = 0; 
    var lastWebdriverError; 
    function throwError() { 

    //STOP EXECUTING!! 

    throw new Error("Expected '" + self.locator().toString() + 
      "' to be present and visible. " + 
      "After " + driverWaitIterations + " driverWaitIterations. " + 
      "Last webdriver error: " + lastWebdriverError); 
    } 

    function isPresentError(err) { 
    lastWebdriverError = (err != null) ? err.toString() : err; 

    //STOP EXECUTING!! 

    return false; 
    } 

    return browser.driver.wait(function() { 
    driverWaitIterations++; 
    if (opt_optStr === 'withRefresh' && driverWaitIterations > 7) { 
     refreshPage(); 
    } 
    return self.isPresent().then(function(present) { 
     if (present) { 
     return self.isDisplayed().then(function(visible) { 
      lastWebdriverError = 'visible:' + visible; 
      return visible; 
     }, isPresentError); 
     } else { 
     lastWebdriverError = 'present:' + present; 
     return false; 
     } 
    }, isPresentError); 
    }, 10000).then(function(waitResult) { 
    if (!waitResult) { 
     throwError(); 
    } 
    return waitResult; 
    }, function(err) { 
    isPresentError(err); 
    throwError(); 
    return false; 
    }); 
}; 

答えて

関連する問題