gpt4 book ai didi

javascript - Protractor 测试因 angular-growl-v2 而失败

转载 作者:行者123 更新时间:2023-11-29 15:35:33 25 4
gpt4 key购买 nike

我正在使用 angular-growl-v2我的应用程序中的通知。

它们工作正常,问题出在我的 Protractor 测试上。我必须使用 TTL(大约 6 秒),因为这是一项要求。然后我有以下测试:

it('should send a request and notify the user about the result',function(){
detailPage.verifyEmailtButton.click().then(function(){
var expectedDiv = element(by.css('.alert-success'));
expect(expectedDiv).toBeDefined();
});
});

但是总是报错:

NoSuchElementError: No element found using locator: By.cssSelector(".alert-success")

当 TLL 为 -1 时不会发生这种情况。

有人可以帮忙吗?提前致谢。

最佳答案

angular-growl-2 使用 $timeout,它不能很好地与 Protractor 配合使用: Protractor 在完成与 Angular 过程的同步之前等待超时结束。

因此,当它到达您的 expect 调用时,超时已经过去并且警报不再存在。查看此文档的等待页面同步部分:

https://github.com/angular/protractor/blob/master/docs/timeouts.md

(此页面与超时有关,您似乎没有遇到这种情况,但由于默认超时为 11 秒,很可能整个过程(包括您的 6 秒 TTL)都在超时发生之前发生)

angular-growl-v2 有一个 PR 使用 $interval 而不是 $timeout,但它目前正在等待测试:

https://github.com/JanStevens/angular-growl-2/pull/85

关于javascript - Protractor 测试因 angular-growl-v2 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29673817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com