{{$guid}} 在 Postman 中有什么用?

What is {{$guid}} used for in Postman?

Postman官网说Postman有几个dynamic variables。我的问题是:

{{$guid}}: Adds a v4 style guid

{{$guid}}是什么变量?如何在 API 请求的测试脚本中使用它?

GUID 是 "Globally Unique Identifier" 的缩写。 GUID 主要用于生成以连字符分隔的组的十六进制数字,以实现唯一性,例如:

b3d27f9b-d21d-327c-164e-7fb6776f87b0

在邮递员中,您可以根据需要使用它来生成随机 GUID 并将其发送到您的 api:

{
    "id": "{{$guid}}",
}

发送时会产生(上面的随机示例):

{
    "id": "b3d27f9b-d21d-327c-164e-7fb6776f87b0",
}

对于随机生成器,请在预请求中使用以下代码

var text="shipment";
var charset = "abcdefghijklmnopqrstuvwxyz0123456789";
    for( var i=0; i < 8; i++ )
        text += charset.charAt(Math.floor(Math.random() * charset.length));    
postman.setEnvironmentVariable("awb", text);

详细解释如下link

http://jmeterblogb.blogspot.in/2016/10/how-to-automate-rest-api-in-postman.html

在 Postman 中有两种类型的变量可用。

1).如果您有静态变量,如 Ip、端口或其他不会在项目中更改的变量,您可以使用

存储到环境变量中

1.1)。设置 > 管理环境 > 添加 > 环境名称 > 添加参数,例如 >输入键:端口和输入值:80

1.2)。也可以在request > Pre-request Script

中添加

add "Set an environment variable " from snippet...

postman.setEnvironmentVariable("端口", "80");

2).对于像 SessionIdentifier.You 这样的动态变量,必须从响应中捕获并在测试集中添加一个来自片段的全局变量,它看起来像

"var jsonData = JSON.parse(responseBody); postman.setGlobalVariable("SessionIdentifier", jsonData.Data.);"

在同一个回复中。 要使用,您应该 {{Port}},{{SessionIdentifier}}.

添加到环境后

如果您希望生成一个 V4 guid,您希望将其设置为环境变量,然后可以在您的 collection 中使用,您可以在 pre-request 中执行类似的操作] 脚本:

var uuid = require('uuid');
postman.setEnvironmentVariable('guid', uuid.v4());

然后您可以在 collection 中的多个调用中使用环境变量 guid。 当您想为整个 collection 生成一次 guid 并需要它在多个请求中保持不变时,这会很有用。

如果您希望为每个请求生成 guid,您可以直接在您的负载中使用 {{$guid}} 就像其他答案所解释的那样。

基于 Osloan 在 github 中的有趣回答:https://github.com/postmanlabs/postman-app-support/issues/886

使用 {{$randomUUID}} 之类的变量在每次请求时更改。