如何在环境变量中设置数值

时间:2017-06-02 20:01:44

标签: postman

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

我的实验 我用以下内容编写了一个简单的API调用 -

  1. Prescript设置计数器变量 -
  2.   

    postman.setEnvironmentVariable(" mycounter",1);

    1. 测试验证计数器变量,如果其值等于1,则将其递增1 -
    2.   

      if(postman.getEnvironmentVariable(" mycounter")== 1){

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

      }   其他{        postman.setEnvironmentVariable("结果"," NO"); }

      但是当我检查" mycounter" -

      的值时
      • 实际值:11
      • 预期价值:2

      有人能指出如何在环境变量中设置数值吗?

3 个答案:

答案 0 :(得分:5)

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

所以

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

答案 1 :(得分:3)

我认为山姆的答案有效,但这是我在我的一个预请求脚本中使用的一种更清洁的方式

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"); 
}

有关转化的更多信息==> https://stackoverflow.com/a/1133814/1646479

答案 2 :(得分:0)

使用新的Postman API pm:

let myCounter = pm.environment.get("mycounter");
if (myCounter == 1 ) {
    pm.environment.set("result", "YES");
    pm.environment.set("mycounter", 1+Number(myCounter));  
} else {
    pm.environment.set("result", "NO"); 
}

老邮递员。 API将为deprecated,将来会被删除。