【问题标题】:Protractor Chrome angular could not be found on the page在页面上找不到 Protractor Chrome 角度
【发布时间】:2015-12-14 18:40:22
【问题描述】:

我已经将 E2E 测试设置为在 Chrome 中运行一段时间,但它们不再起作用。我不确定他们什么时候停止工作,因为他们被忽视了。该项目使用 grunt-protractor-runner (2.1.2),它使用 protractor 2.5.1

我收到以下错误:

Uncaught exception: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"

下面是输出截图:

它实际上打开了 Chrome ,但是没有导航到任何地方。多功能框显示“数据:”,仅此而已:

我想知道的一件事是,chrome 有点被锁定了——而且多功能框现在不能作为谷歌浏览器工作——但我不明白为什么这会影响它,因为它应该直接点击一个 URL .

谁能给点建议?

【问题讨论】:

  • 您正在加载的页面不是 Angular 应用程序,或者它的正文中没有定义 ng-app

标签: angularjs gruntjs protractor


【解决方案1】:

此错误通常以以下两种方式之一发生:

  1. 存在竞争条件,量角器希望在页面完全加载之前开始测试。在这种情况下,请确保您的 protractor conf 中的 onPrepare 函数返回一个承诺,该承诺会在所有准备工作完成后得到解决。
  2. 测试未导航到应用程序的 url。在这种情况下,请确保运行 `browser.get();
  3. 尝试启动您的应用时出错。这个有点难修。您可以尝试运行量角器元素浏览器,看看浏览器控制台是否有错误。

【讨论】:

    【解决方案2】:

    我自己也见过几次这个问题。我上次修复它是通过更新到最新版本的 chrome 驱动程序和最新版本的量角器。 chrome 驱动程序和量角器的某些早期组合可能会导致此问题。

    根据其文档,Grunt protractor runner 可以与最新版本的量角器一起使用。我建议阅读一下如何更新到最新版本?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 2018-12-21
      • 2020-11-29
      • 2016-01-21
      • 1970-01-01
      • 2015-03-28
      相关资源
      最近更新 更多