如果请求使用环境变量,则在必备脚本中使用pm.request.url.toString((时,它会输出带有占位符的查询,而不是实际值。意味着它将输出https://somesite.com/api/v3/{{env_variable}}而不是https://somesite.com/api/v3/liststuff或者其他什么。
是否存在获取带有值而不是占位符的URL的方法?
请求没有在预请求脚本中解析,因为变量可以在那里进一步修改。但是您可以在脚本中使用poster集合库来自己解决请求。
感谢harryi3t在GitHub 上发布此脚本
https://github.com/postmanlabs/postman-app-support/issues/3322
以下是的示例脚本
let sdk = require('postman-collection'),
newRequest = new sdk.Request(pm.request.toJSON()),
resolvedRequest = newRequest.toObjectResolved(null, [pm.variables.toObject()], { ignoreOwnVariables: true });
// prints the resolved request to console. Please check DevTools to see the structure
console.log({ resolvedRequest });
请参阅屏幕截图,了解custId从占位符中获取值并在执行实际请求之前在预请求中解决的内容