for循环不在量角器中执行

时间:2016-02-13 04:54:50

标签: protractor

我可以使用以下内容获取计数值:

element.all(by.options('type as type for type in types')).then(function(elems){
    return elems.length;
})
.then(function(count){
    cnt = count;
});

然后在代码中我想在for循环中使用cnt,我也使用闭包:

for(var x = 1;x < cnt; x++){
    search_options(x);
}

function test(y){
    console.log('input'+y);
}

function search_options(input){
    it('tess', function(){
        test(input);

    });
}

问题是for不会执行。

任何提示或建议,指导表示赞赏或指出任何错误。 我读过关于IIFE但我发现大多数样本都使用数组,我相信'cnt'已经解决了

不幸的是,我必须使用for循环。 “每个”都不合适。

1 个答案:

答案 0 :(得分:1)

问题是只有当控制流机制解析了promise时才会设置cnt。 for循环将在之前执行

相反,将cnt定义为承诺并在测试中解决它:

cnt = element.all(by.options('type as type for type in types')).count();

cnt.then(function (actualCount) {
    for(var x = 1; x < actualCount; x++){
        search_options(x);
    } 
});

另见:Using protractor with loops

另外,我不确定以这种方式动态创建it实际上是否有效,这里有一些相关的主题: