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

Lia*_*nat 6 angularjs protractor

是否有更好的方法等待所有页面加载,

我的角度页面加载了promise,这意味着如果所有的ajaxs调用还没有结束,屏幕上就会有一个加载器.

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

beforeEach(function(){
    ptor = protractor.getInstance();
    driver = ptor.driver;
    ptor.get(base_url);
    ptor.sleep(10000);
});
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

rob*_*oth 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
});
Run Code Online (Sandbox Code Playgroud)