等待量角器在 50001 毫秒后与页面同步超时



我正在测试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 与按钮对象交互,它就可以正常工作。

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

角器超时的可能原因:

  1. 您的网页没有以预期的方式实现 Angular(即在 body 标签上带有ng-app)。更常见的是,在这种情况下你会得到的错误是Angular not found on page,但超时并非不可能。如果这是问题所在,使用 ignoreSynchronization 可以解决此问题,所以这个不是你。
  2. HTTP 请求挂起或失败。打开开发控制台并在使用量角器加载页面时检查"网络"选项卡(它可能发生在量角器中,而不是在手动测试中)。如果发现某些内容失败,请确保正确发出请求。例如,如果您尝试通过 HTTPS 访问 HTTP 端点,则请求肯定会失败并且量角器会超时。
  3. 您的网页正在反复轮询$timeout$http。量角器不会做任何事情,直到 Angular 达到"静止"状态(加载所有元素和数据绑定并且所有请求都已返回)。

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

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

最新更新