在运行测试之前,AngularJS + Protractor等待所有ajax调用结束/整页加载

时间:2014-04-02 09:40:22

标签: angularjs protractor

是否有更好的方法可以等到所有页面都加载完毕,

我的角度页面加载了promise,这意味着如果所有ajaxs调用尚未结束 屏幕上有一个装载机。

我目前正在使用ptor.sleep(10000),如下例所示:

beforeEach(function(){
    ptor = protractor.getInstance();
    driver = ptor.driver;
    ptor.get(base_url);
    ptor.sleep(10000);
});

有更好的方法吗?

1 个答案:

答案 0 :(得分:6)

如果您在加载开始/结束时使用ng-if隐藏/显示您的内容,您可以使用以下语法等到页面上出现某个元素(即ng-if将阻止从DOM到页面完成加载的元素:

ptor.findElement(by.id('element-only-shown-after-loading')).then(function (myElement) {
    // Your page should be loaded at this point
});