【发布时间】:2018-07-29 07:46:48
【问题描述】:
目前我在这个 e2e 自动化工具(量角器)上遇到问题,我试图设置一个等待元素选项,但我仍然收到以下错误。
失败:等待异步 Angular 任务在 12 秒后完成时超时。这可能是因为当前页面不是 Angular 应用程序。更多详情请查看常见问题解答:https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular 在等待带有定位器的元素时 - 定位器:按(css 选择器,#company-code)。 以下任务待处理: - $timeout: function u(){return e.isActivatePage?void t.cancel(s):(s=t(u,o),void i.poll(r).then(function(t){d=t ,e.$broadcast("noti-count-updated",d)}))}
感谢您的 cmets 解决此问题。我尝试的负面情况的代码如下,谢谢
it('After invalid login it should show an error toast', function () {
browser.get('https:XXXX.com');
var EC = protractor.ExpectedConditions;
browser.wait(EC.visibilityOf($('#company-code')))
.then(function () {
browser.waitForAngularEnabled(false);
browser.driver.findElement(by.id('company-code')).sendKeys('ccXXX');
browser.driver.findElement(by.id('username')).sendKeys('email@domain.com');
browser.driver.findElement(by.id('password')).sendKeys('wrong password');
browser.driver.findElement(by.id('signin')).click()
.then(function () {
var EC = protractor.ExpectedConditions;
browser.wait(EC.visibilityOf($('.alert-warning')))
.then(function () {
var myElement = element(by.css('.alert-warning'));
expect(myElement.isDisplayed()).toBeTruthy();
});
});
});
});
});
【问题讨论】:
-
您的应用程序是否有任何使用 $timeout 的轮询。这可能会导致错误,请尝试使用 $interval。
标签: protractor