量角器FOR循环使用期望

时间:2017-06-05 14:13:47

标签: node.js selenium-webdriver protractor

我做了循环,现在我想对每个i使用量角器期望。 循环工作正常,但期望没有。如果计数为4,则应该有4个期望值。如果我进行测试,我会通过,没有任何期望(这应该是假的)。

我找到了关于此的文章,但我无法实现。我尝试使用Push,但只有空值。 谢谢你的帮助。

myelement.count().then(function(count){
        console.log("whatever", count);
        for (var i=0; i<count; i++){
           var o = location.get(i);
            expect(o.getText()).toEqual("something");


        };


    });

3 个答案:

答案 0 :(得分:0)

完整的测试用例代码会有所帮助,但我认为您已经忘记要么返回“#”的承诺。或定义并调用“完成”#39;回调,因为你正在做的事情 - 是异步操作。

答案 1 :(得分:0)

你的问题描述不明确。我假设该位置是元素列表。因此,我将每个()应用于名为“位置”的集合元素。 。它会完美地运作。

//replace location with myelement if it the correct one
location.each(function(ele,index){
        expect(ele.getText()).toEqual("something");
});

答案 2 :(得分:0)

请注意。几乎所有命令都是承诺。如果你没有正确处理它们将无法正常工作。在进入下一个之前,您首先需要解决它们。

这样的事情可以解决问题

let promise;
const promises = [];

myelement.count()
  .then(function(count) {
    console.log("whatever", count);

    for (var i = 0; i < count; i++) {
      var o = location.get(i);
      promises.push(expect(o.getText()).toEqual("something"));
    };

    return Promise.all(promises);
  });