在量角器循环内执行多个it块,并在IT块中使用变量

时间:2019-01-17 19:04:37

标签: javascript protractor

我遇到一种情况,我们需要执行一个for循环,然后使用for循环变量来在for循环内执行几个“ it”块。示例代码如下:

   for (i=0; i <3; i++){
    it ('should complete the first test', function(){
        let j = i+1;
        console.log(j);

    });

    it ('should complete the first test', function(){
        let K = i+3;
        console.log(K);

    });
}

运行此代码时,我得到以下信息:

4
.6
.4
.6
.4
.6
.

但是我需要第一个测试块的值为1,2,3,第二个块的值为3,4,5。我看到有很多关于For循环问题的关于SO的问题,但是找不到能帮助我的解决方案。如果将函数包装为“ return it(...”),则此方法仅适用于第一个it块。是否有解决方法?

2 个答案:

答案 0 :(得分:1)

如果您在循环上方声明计数器,则应该获取所需的计数。

describe('desribe the test', () => {
    let count = 1;

    for (i=0; i <3; i++){
        it ('should complete the first test', function(){
            console.log(count);
            count++;
        });    
    }
    for (i=0; i <3; i++){
        it ('should complete the first test', function(){
            console.log(count);
            count++;
        });    
    }
})

答案 1 :(得分:0)

it(...)只需注册测试。您的for块将循环3次,注册6个测试。一旦您的for块完成运行并且i === 3,才运行您的it(...)块,并且它们记录i+1i+3的值。在所有情况下,i将是3,因此i+1 = 4且i+3 = 6