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;
});
};