Postman预请求脚本调用UUID生成接口保存变量报错如何解决?
问题根因
报错的核心是响应对象调用错误:
- 独立请求的Tests脚本中,
pm.response指向当前已完成请求的响应对象,可正常调用 pm.sendRequest是异步请求,它的响应结果仅存在于回调函数的第二个参数(你代码中定义的res)中。预请求脚本执行阶段主请求还未发起,pm.response本身为undefined,调用其text()方法必然触发报错。
修正后的预请求脚本
直接将回调中所有的pm.response替换为res即可,新增错误判断逻辑避免请求异常引发后续报错:
pm.sendRequest({ url: "https://www.uuidgenerator.net/api/version1/3", method: 'GET' }, function (err, res) { // 捕获UUID接口请求异常 if (err) { console.error("UUID生成失败:", err); return; } const uuidRes = res.text(); pm.collectionVariables.set("UUID_1", uuidRes.split(" ")[1]); pm.collectionVariables.set("UUID_2", uuidRes.split(" ")[2]); pm.collectionVariables.set("UUID_3", uuidRes.split(" ")[3]); });
后续使用方式
变量调用逻辑和之前完全一致,请求体中直接用{{UUID_1}}、{{UUID_2}}、{{UUID_3}}调用即可。
内容的提问来源于stack exchange,提问作者William Zebrowski
相关产品推荐
相关产品推荐

