使用量角器超时,是什么触发了这个,以及如何修复?

时间:2018-01-19 19:09:06

标签: angularjs protractor timeout e2e-testing

Angular版本:1.5.8 / 量角器版本:5.2.2

我在页面上实际做了什么,我点击图表加载的按钮..

我实际上能够看到页面上的元素......

- Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
      at ontimeout (timers.js:466:11)
      at tryOnTimeout (timers.js:304:5)
  - 
Failed: Timed out waiting for asynchronous Angular tasks to finish after 36 seconds. This may be because the current page is not an Angular application. Please see the FAQ for more details: https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular
  While waiting for element with locator - Locator: By(css selector, .fullscreen-close-btn.visible). 

基本上,我可以谷歌这个,这与角度

有关
 The following tasks were pending:
       - $timeout: function (){var b;if(m=null,!a.equals(q,l)){b=a.copy(l),a.forEach(q,function(c,d){a.isDefined(c)&&"$"!==d[0]&&(p.setItem(e+d,f(c)),delete b[d])});for(var c in b)p.removeItem(e+c);l=a.copy(q)}}

我似乎无法理解触发这一点的原因。至于我可以在谷歌上挖掘这个,我能找到的唯一与此相关的是: this

我该如何解决这个问题?

更新

下面的问题是由ngStorage库引起的!有一个fork用于替换该fork的$ timeout ...

https://github.com/gsklee/ngStorage/issues/246

然而,我的问题并没有解决。除了$ timeout行现在已经消失之外,它在完全相同的错误中完全失败了。

1 个答案:

答案 0 :(得分:0)

$timeout.flush();就是您所需要的。