Javascript 等待吐司在量角器中消失
摘要 在使用量角器测试AngularJS Web应用程序时,如何等待所有祝酒词消失 更多详细信息 我有一个AngularJS应用程序,我正在使用量角器进行测试。我使用angular toastr在应用程序中发生事件时显示通知 在测试中的某一点上,我无法单击某个按钮,因为toast当前正在阻止该按钮。我得到的错误是:Javascript 等待吐司在量角器中消失,javascript,angularjs,protractor,toastr,angular-toastr,Javascript,Angularjs,Protractor,Toastr,Angular Toastr,摘要 在使用量角器测试AngularJS Web应用程序时,如何等待所有祝酒词消失 更多详细信息 我有一个AngularJS应用程序,我正在使用量角器进行测试。我使用angular toastr在应用程序中发生事件时显示通知 在测试中的某一点上,我无法单击某个按钮,因为toast当前正在阻止该按钮。我得到的错误是: 元素在点(898712)处不可单击。其他元素将收到单击:您可以等待元素不存在(或者不显示): 我在这篇博文中找到了一个出发点: 为了使用toastr,我对其进行了一些调整,结果是:
元素在点(898712)处不可单击。其他元素将收到单击:您可以等待元素不存在(或者不显示):
我在这篇博文中找到了一个出发点:
为了使用toastr,我对其进行了一些调整,结果是:
var hasClicked = false;
browser.wait(function() {
var deferred = protractor.promise.defer();
var elements = element.all(by.className('toast'));
var count = elements.count().then(function (result) {
// If there are toasts active, click them to hide them faster.
if (result > 0 && !hasClicked) {
elements.click();
hasClicked = true;
}
deferred.fulfill(result === 0);
});
return deferred.promise;
});
我将使用,ExpectedConditions:invisibilityOf/stalenessOf来验证doast是否不再存在于DOM中。
var hasClicked = false;
browser.wait(function() {
var deferred = protractor.promise.defer();
var elements = element.all(by.className('toast'));
var count = elements.count().then(function (result) {
// If there are toasts active, click them to hide them faster.
if (result > 0 && !hasClicked) {
elements.click();
hasClicked = true;
}
deferred.fulfill(result === 0);
});
return deferred.promise;
});