我可以在 newman 中使用邮递员集合变量吗?
Can I use postman collection variable inside newman?
使用作用域中的变量:Postman 中的集合工作正常。
但是当我导出集合并在 Newman 中使用它时,它并没有像我预期的那样工作。
1) 变量在集合 json 内,在文件末尾 - 好的。
2) 我使用这个代码:
var obj = {};
obj.categories = pm.variables.get("category_id");
obj.packages = pm.variables.get("package_id");
obj.type = "add";
pm.globals.set("switch_json", JSON.stringify(obj));
console.log("request body: " + pm.globals.get("switch_json"));
在预请求脚本中获取 2 个集合变量的值(category_id、package_id)。
3) 在 Postman 内部一切正常,console.log return:
request body: {"categories":"14","packages":"2","type":"add"}
4) 纽曼内部 console.log return 仅:
'request body: {"type":"add"}'
纽曼不支持集合变量吗?
您应保存您的环境(即 my_environment.json),然后在您的 newman 命令中使用 -e 选项来使用它。
看看 here 纽曼选项
希望这对您有所帮助
亚历山大
集合变量存储在编辑下集合的变量选项卡中。导出集合时共享初始值而不是当前值。纽曼将访问这些(初始值)值。
我四处寻找在命令行上设置集合变量的方法,而不使用环境文件,但没有找到任何答案,所以我只是使用 --env-var 进行了测试并且它起作用了。
在原始问题的情况下,它看起来像这样:
newman 运行 xxxxxxx --env-var package_id=14
使用作用域中的变量:Postman 中的集合工作正常。
但是当我导出集合并在 Newman 中使用它时,它并没有像我预期的那样工作。
1) 变量在集合 json 内,在文件末尾 - 好的。
2) 我使用这个代码:
var obj = {};
obj.categories = pm.variables.get("category_id");
obj.packages = pm.variables.get("package_id");
obj.type = "add";
pm.globals.set("switch_json", JSON.stringify(obj));
console.log("request body: " + pm.globals.get("switch_json"));
在预请求脚本中获取 2 个集合变量的值(category_id、package_id)。
3) 在 Postman 内部一切正常,console.log return:
request body: {"categories":"14","packages":"2","type":"add"}
4) 纽曼内部 console.log return 仅:
'request body: {"type":"add"}'
纽曼不支持集合变量吗?
您应保存您的环境(即 my_environment.json),然后在您的 newman 命令中使用 -e 选项来使用它。
看看 here 纽曼选项
希望这对您有所帮助
亚历山大
集合变量存储在编辑下集合的变量选项卡中。导出集合时共享初始值而不是当前值。纽曼将访问这些(初始值)值。
我四处寻找在命令行上设置集合变量的方法,而不使用环境文件,但没有找到任何答案,所以我只是使用 --env-var 进行了测试并且它起作用了。
在原始问题的情况下,它看起来像这样:
newman 运行 xxxxxxx --env-var package_id=14