邮递员:是否可以在先决条件

时间:2017-09-18 04:06:35

标签: postman

是否可以在先决条件脚本中更新邮递员请求的URL。 我想根据动态环境输入编辑网址。

例如:

if (environment.someValue) {
    request.url = request.url + "\" + environment.someValue
    if (environment.anotherValue) {
        request.url = request.url + "\" + environment.anotherValue
    }
}

console.log(request.url);

以上代码为我提供了完美的控制台日志:

e.g。如果网址为https://someServer/someRequest,则environment.someVarxenvironment.anotherVary,则console.log(request.url)会显示以下内容:

https://someServer/someRequest/x/y

但问题是(如果我请求获取),即使在记录被覆盖的请求网址后,它也只会调用https://someServer/someRequest并且不会覆盖到https://someServer/someRequest/x/y

如上所述,如何修改网址的任何想法。

2 个答案:

答案 0 :(得分:2)

如果您的请求中的网址设置为全局,则应该有效。 即。我有一个获取请求:

GET http://{{myurl}}/etc.将myurl设置为全局变量

在我的预请求脚本中,我postman.setGlobalVariable("myurl", <new url>);

当我启动请求时,它会尝试在我的新网址上执行GET请求。

因此可以这样做,但您必须使用全局或环境变量来动态更新您的请求:

将您的'someRequest'设置为可以在您的处方(而不是request.url)中更新的全局,然后在您启动请求时对其进行解释

https://someServer/{{someRequest}}

答案 1 :(得分:1)

pm.request.url= "dynamic value"

您并在邮递员必备步骤中使用上述单行更新网址

pm.request.url返回具有字段host,path和params的对象。但是您可以将其替换为字符串。