是否可以在先决条件脚本中更新邮递员请求的 url。我想根据动态环境输入编辑 url。
例如:
if (environment.someValue) {
request.url = request.url + "\" + environment.someValue
if (environment.anotherValue) {
request.url = request.url + "\" + environment.anotherValue
}
}
console.log(request.url);
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我完美的控制台日志:
例如,如果URL是https://someServer/someRequest,environment.someVar是x和environment.anotherVar是y在console.log(request.url)上面打印:
https://someServer/someRequest/x/y
Run Code Online (Sandbox Code Playgroud)
但问题是(假设我请求一个 Get),即使在记录覆盖的请求 url 之后,它也只调用https://someServer/someRequest而不覆盖到https://someServer/someRequest/x/y.
任何想法如何按照上面的要求修改网址。
PDH*_*ide 11
pm.request.url = "dynamic value"
Run Code Online (Sandbox Code Playgroud)
您可以在 Postman 预请求步骤中使用上述单行更新 URL。
pm.request.urlhost返回一个带有字段、path和 的对象params。但你可以用字符串替换它。
如果您的请求中的 url 设置为全局,它应该可以工作。IE。我有一个获取请求:
GET http://{{myurl}}/etc. 将 myurl 设置为全局变量
在我的预请求脚本中,我做 pm.globals.set("myurl", <new url>);
当我启动我的请求时,它尝试在我的新 url 上执行 GET 请求。
因此可以这样做,但您必须使用全局或环境变量来动态更新您的请求:
将您设置'someRequest'为可以在您的规定(而不是 request.url)中更新的全局变量,然后在您启动请求时将对其进行解释
https://someServer/{{someRequest}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3842 次 |
| 最近记录: |