量角器:失败:超时等待异步角度任务在11秒后完成
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了量角器:失败:超时等待异步角度任务在11秒后完成相关的知识,希望对你有一定的参考价值。
我收到以下错误:
失败:超时等待异步Angular任务在11秒后完成。这可能是因为当前页面不是Angular应用程序
我见过类似的问题,但似乎没有一个好的解决方案
致力于Angular 4
我的设置是: 1)onBeforeLaunch:我正在使用webdrive和chromedriver获取令牌以进行身份验证
beforeLaunch(){
const webdriver = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const path = require('chromedriver').path;
// do stuff like get token save it in variable
driver.quit();
}
2)onPrepare
browser.params.tokens =启动前的令牌
3)
it('should authenticate',() => {
browser.get('/home?'+browser.params.token)
expect(browser.getCurrentUrl()).toContain('home');
})
在第3步它给出错误。
PS:我尝试过像ignoreSync,waitforangularenabled这样的多个选项,睡觉什么都没有用,有人能指出我在这里做错了什么
这可能是您的应用程序的特定结构导致的问题。因为默认情况下,Protular会等待你的Angular应用程序,直到Angular进入所谓的“冷静模式”
在执行任何操作之前,Protractor会等待您的Angular应用程序中没有挂起的异步任务。这意味着所有超时和http请求都已完成。 - 这是'冷静模式'
很多人遇到它,你可以在StackOverFlow上看到很多问题,很久以前我也问了这个问题,然后我们就和我的团队一起解决了这个问题。
首先,阅读它以了解基础:https://github.com/angular/protractor/blob/master/docs/timeouts.md
轮到我,我会建议你2个选项,你需要选择一个。
- 在测试失败的地方放
waitForAngularEnabled(false);
并在一些操作之后(你将在测试时定义)通过使用布尔值相同的代码行返回它waitForAngularEnabled(true)
这意味着你命令你的量角器不要等待Angular停止工作并进一步执行其工作,然后在某些时候你知道Angular再次停止他的工作,你再次打开这个参数,Protractor将再次等待Angular 。但它可能不是唯一可能发生的地方,如果是,你需要去选项2
- 要与开发人员讨论改变应用程序的顺序,Protractor将能够毫无障碍地运行。 P.S这是我在我的团队中所做的事情,他们修复了一个应用程序,以便使Protractor测试顺利进行。
以上是关于量角器:失败:超时等待异步角度任务在11秒后完成的主要内容,如果未能解决你的问题,请参考以下文章