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

ASB*_*ASB 6 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();
Run Code Online (Sandbox Code Playgroud)

页面正确加载,如果我使用Eclipse和Selenium与按钮对象进行交互,它就可以正常工作.

只有量角器有Sync问题.请帮忙.

Isa*_*man 5

量角器可能会超时的原因:

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

官方的超时原因列表如下:https://github.com/angular/protractor/blob/master/docs/timeouts.md.

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