postman - Postman - 从 NodeJS 运行的 Newman
问题描述
为了保存来自邮递员 API 调用的响应,我正在使用 newman run 执行邮递员集合。
集合在运行时运行
newman run C:\TasteBud\NewMan\JSON-Order_collection.json --env-var unique_order_id=OD-06-07-I2Q5-JYRY5ARPN --environment C:\TasteBud\NewMan\EnvironmentJSON.json
但是,当我将相同的集合作为 javascript 或 nodejs 脚本的一部分运行时。
node writeToFile.js
它会抛出错误,因为节点“1⠄ JSONError in test-script” 参考附图。我需要将登录请求生成的身份验证令牌传递给后续请求。所以我在“测试”中有变量赋值。
let response = pm.response.json();
pm.environment.set("auth_token", response.data.auth_token);
console.log(pm.response.json().data.auth_token);
为什么我不能“测试”?如果没有,那么如何为后续 API 调用传递/设置这些环境变量?
writeToFile.js 中的代码在这里。writeToFile.js
解决方案
在生成令牌时始终使用状态码验证。因为每个请求都是基于令牌的,如果我们收到否定的状态码,终止构建。
postman.setNextRequest(null);
var jsonData = JSON.parse(responseBody);
if(responseCode.code === 200){
tests["Status code is 200"] = responseCode.code === 200;
postman.setEnvironmentVariable("AT", jsonData.oauth2.accessToken);
console.log("AccessToken : " +jsonData.oauth2.accessToken);
}
else{
postman.setNextRequest(null);
console.log("Error generating user token");
console.log("Status code : "+responseCode.code);
console.log("Status description : "+jsonData.statusDescr);
}
推荐阅读
- r - Ghostscript/ embed_fonts() 永远不会停止
- graphics - 有没有办法可以在代码块中创建项目?
- python - 如何在python中与N个线程有效地共享N个硒驱动程序实例?
- localhost - Thingsboard 无法访问本地主机
- python-3.x - 如何在编辑表单之前访问模型字段值在烧瓶管理员中呈现给用户?
- python - 如何并排绘制密度图
- linux - Linux Lua:对 https 请求的权限被拒绝
- go - Golang Getopt V2:解析多个重复标志
- javascript - 使用不同的 Webgl 将属性传递给片段着色器
- algorithm - 查找数字的变化