问题:我想在环境变量中设置一个计数器变量(一个数值),所以在"测试"我们可以控制流量。
我的实验 我用以下内容编写了一个简单的API调用 -
postman.setEnvironmentVariable(" mycounter",1);
if(postman.getEnvironmentVariable(" mycounter")== 1){
postman.setEnvironmentVariable("result", "YES"); postman.setEnvironmentVariable("mycounter", 1+postman.getEnvironmentVariable("mycounter"));
} 其他{ postman.setEnvironmentVariable("结果"," NO"); }
但是当我检查" mycounter" -
的值时有人能指出如何在环境变量中设置数值吗?
答案 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,将来会被删除。