在邮递员中{{ $guid }}是用来做什么的?

邮递员的官方网站上说,邮递员有一些 动态变量。我的问题是:

{{$guid}}: 添加一个 v4风格的 guid

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

69067 次浏览

GUID is the acronym for "Globally Unique Identifier". A GUID is mainly used to produce hexadecimal digits with groups separated by hyphens for uniqueness purposes, for example:

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

In postman you can use this to generate and send a random GUID to your api as required:

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

On Send would produce(with the random example above):

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

For random generator use the below code in pre-Request

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);

for detailed explanation follow below link

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

In Postman there are Two types of variable available.

1). If you have static variable like Ip, Port or Something who doesn't change through the project you can store into the Environments Variable using

1.1). Setting > Manage Environment > Add > Name of Environment > Add Parameters Like >In Key : Port and In Value : 80

1.2). You can also add in request > Pre-request Script

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

postman.setEnvironmentVariable("Port", "80");

2). for Dynamic Variable like SessionIdentifier.You have to capture from response and add in Test set a global variable from snippet it looks like

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

in the same response. For use, you should \{\{Port}},\{\{SessionIdentifier}}.

After it added into the Environments.

In case you are looking to generate a V4 guid which you want to set as an environment variable, which can then be used across your collection, you may do something like this in your pre-request script:

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

You may then use the environment variable guid across multiple calls in your collection. This becomes useful when you want to generate a guid once for an entire collection and need it to be constant across multiple requests.

If you want the guid to be generated for every request, you may directly use \{\{$guid}} in your payload like the other answers have explained.

Based on this interesting answer by Osloan in github: https://github.com/postmanlabs/postman-app-support/issues/886

Use \{\{$randomUUID}} like variable to change at each request.