一尘不染

50001ms后等待量角器与页面同步超时

angularjs

我正在测试AngularJS应用程序,并且对量角器非常新。每次我打开浏览器时,它都会打开,然后等待超时,然后在cmd上引发以下错误。

Timed out waiting for Protractor to synchronize with the page after 50001ms

我尝试增加超时限制,但始终会收到此错误。我也尝试过使用所有这些:

        browser.ignoreSynchronization = true;
        browser.driver.sleep(5000);
        browser.debugger();
        browser.waitForAngular();

该页面正确加载,并且如果我使用Eclipse和Selenium与按钮对象进行交互,则可以正常工作。

只有量角器出现同步问题。请帮忙。


阅读 182

收藏
2020-07-04

共1个答案

一尘不染

量角器超时的可能原因:

  1. 您的网页未以预期的方式(即ng-appbody标记上带有)实现Angular 。更常见的是,在这种情况下您会遇到的错误是,Angular not found on page,但是超时并不是不可能的。ignoreSynchronization如果这是问题,使用可以解决此问题,所以这不是您。
  2. HTTP请求未决或失败。打开页面后,打开您的开发人员控制台并检查“网络”选项卡(使用Protractor加载该页面(可能是因为Protractor而不是手动测试)。如果发现失败,请确保正确发出请求。例如,如果您尝试通过HTTPS访问HTTP端点,则绝对有可能该请求失败并且Protractor超时。
  3. 您的页面正在轮询$timeout$http反复。在Angular达到“静止”状态(所有元素和数据绑定已加载并且所有请求已返回)之前,量角器将不做任何事情。

超时原因的官方列表在这里:https
:
//github.com/angular/protractor/blob/master/docs/timeouts.md。

但是,如果在页面加载时检查Javascript控制台和网络请求,则应该能够找出问题所在。祝好运!

2020-07-04