2017-06-02 50 views
2

问题:我想在环境变量中设置一个计数器变量(一个数值),所以在“测试”中我们可以控制流量。如何在环境变量中设置数值

我的实验: 我写了一个简单的API调用与以下各项

  1. 规定的将计数可变

postman.setEnvironmentVariable( “mycounter”,1);

  • 测试验证计数器变量,如果它的值等于1,由单
  • 递增,如果(postman.getEnvironmentVariable( “mycounter” )== 1){

    postman.setEnvironmentVariable("result", "YES"); 
    postman.setEnvironmentVariable("mycounter", 1+postman.getEnvironmentVariable("mycounter")); 
    

    } 否则{ postman.setEnvironmentVariable( “结果”, “NO”); }

    但是,当我检查值 “mycounter” -

    • 实际值:11
    • 期望值:2

    任何人都可以指出如何设置数值在环境变量?

    回答

    0

    我得到了解决方法。通过使用Number函数将字符串转换为整数。

    所以

    if (postman.getEnvironmentVariable("mycounter") == 1) { 
        postman.setEnvironmentVariable("result", "YES"); 
        postman.setEnvironmentVariable("mycounter", 1+Number(postman.getEnvironmentVariable("mycounter"))); 
    } else { 
        postman.setEnvironmentVariable("result", "NO"); 
    } 
    
    +0

    我在设置计数器变量的时候尝试了相同的操作,但它不起作用。所以看起来像环境变量总是设置为字符串,而不管我们正在发送什么类型。任何人都可以证实我的假设吗? – Sam

    1

    我认为萨姆的答案的作品,但这里是一个更清洁的方式我在预先请求脚本之一使用有关转换==>https://stackoverflow.com/a/1133814/1646479

    let myCounter = +environment["mycounter"]; // '+' Convert String into Integer 
    if (myCounter == 1) { 
        myCounter++; 
        postman.setEnvironmentVariable("result", "YES"); 
        postman.setEnvironmentVariable("mycounter", myCounter); 
    } else { 
        postman.setEnvironmentVariable("result", "NO"); 
    } 
    

    更多信息