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

时间:2015-03-06 20:46:25

标签: angularjs selenium-webdriver protractor

我正在测试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 个答案:

答案 0 :(得分:5)

Protractor超时的可能原因:

  1. 您的网页未以预期的方式实施Angular(即ng-app标记上有body。更常见的情况是,在这种情况下您会遇到的错误是Angular not found on page,,但超时并不是问题。如果是问题,使用ignoreSynchronization会解决这个问题,所以这个不是你。
  2. HTTP请求正在等待或失败。打开你的开发者控制台,检查"网络"使用量角器加载页面时的选项卡(可能在Protractor中发生,而不是在手动测试中)。如果您发现某些内容失败,请确保您正确发出请求。例如,如果您尝试通过HTTPS访问HTTP端点,那么请求肯定会失败并且Protractor会超时。
  3. 您的信息页重复查看$timeout$http。量角器不会做任何事情,直到Angular达到了休息状态" state(加载所有元素和数据绑定,并返回所有请求)。
  4. 正式的超时原因列表如下:https://github.com/angular/protractor/blob/master/docs/timeouts.md

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