失败:在11秒后等待异步的角度任务完成



我想使用量角器端到端测试我们的Angular 2应用程序,但我坚持了消息:

"Failed: Timed out waiting for asynchronous Angular tasks to finish after 11 seconds."

我的conf文件。

exports.config = {
  directConnect: true,
  specs: ['spec.js'],
  // For angular2 tests
  useAllAngular2AppRoots: true,
}

Chrome已打开,并且网站也已打开,然后在超时之前什么都没有发生。

禁用同步时(使用browser.ignoresynchronization = true;),没关系。但是我正在失去"自动等待"功能,这是使用量角器的主要优点之一。

该应用程序完全基于Angular2。那么为什么它不起作用?

我们的开发人员告诉我,我们不是在进行轮询(根据旷虫文档的可能原因之一)。顺便说一句,我们正在使用WebSocket架构。我不知道是否有链接。

实际上,我根本不知道该问题。

有人可以帮忙吗?

您的猜测是正确的。当它们是在您的Angular2应用程序中运行的任何出色任务时,将发生此错误。

是的,最常见的原因是,当应用程序连续轮询$ timeout或$ http时,量角器将无限期地等待并超时。但这也可能发生在应用程序需要超过11秒的情况下

请参考有关不同超时的更多信息

默认超时值为11秒。您可以通过调整config.js中的以下值来更改此问题,然后尝试查看是否仍在查看问题

  /**
   * The timeout in milliseconds for each script run on the browser. This
   * should be longer than the maximum time your application needs to
   * stabilize between tasks.
   */
  allScriptsTimeout?: number;

暂时启用浏览器。

browser.ignoreSynchronization = true;

(引发错误的代码)

browser.ignoreSynchronization = false;

修改测试用例并放置 browser.waitForAngularEnabled(false);首次单击后应起作用。

但是,推荐的方法可以将conf.js文件中的默认超时覆盖为allScriptsTimeout: 110000

最新更新